cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

arsenm
Adept III

ddiv supported GPUs

The IL documentation says that ddiv is "Valid for all GPUs that support double floating-points. " However it doesn't seem to be generated for / or work on R770 or Cypress. Instead there is a block with the comment "__ddiv_f64_fma." Is the documentation wrong?

0 Likes
1 Solution
arsenm
Adept III

Actually my problem was not interesting. The IL snippet I was copying around somehow lost an operand on the copies I was trying on the older GPUs. I was also mislead by the "binary is not for target" error message.

View solution in original post

0 Likes
2 Replies
hazeman
Adept II

There is no true double division on all amd cards.

Although on evergreen and newer cards you have native reduced accuracy reciprocal ( 1/x  with lower 32 bits equal to 0 ). By adding few ( ~4-5 ) mad instruction you can get true accuracy reciprocal or ddiv.

On older cards (770) ddiv is simulated using int math ( if i remember correctly ) and results in about ~100 ops.

Of course you need card supporting doubles.

arsenm
Adept III

Actually my problem was not interesting. The IL snippet I was copying around somehow lost an operand on the copies I was trying on the older GPUs. I was also mislead by the "binary is not for target" error message.

0 Likes