MRA
Joined: 29 Sep 2009 Posts: 2
|
Posted: Thu Oct 01, 2009 10:21 am Post subject: CUDA fortran : dble function is undefined |
|
|
Hi,
I took the matrix multiplication sample provided with the PGI 9.0-4 package and change the single precision operation with double precision. If all real matrices are transform into real*8, everything works fine, but if i want to mix both precision (Matrix A and B = single and C = double) within the same sentence, the compiler complain:
pgcudafor2pncI-n7T0jQ.gpu(7): error: identifier "dble" is undefined
I've check the 'gpu' file, and it seems to be some C (or C++) code that call a "dble' function:
*(double*)((_pc+(-8))+(i_a*8)) = (dble((*(float*)(_pa))*(*(float*)((_pb+(-4))+(i_a*4)))))+(*(double*)((_pc+(-8))+(i_a*8)));
dble is a function in fortran used to cast into double. It may be a bug that this function isnt implemented or not correctly analysed as a casting function...
To reproduce this problem, simply change the type of the matrix C, dC and gold for real*8 inside the sample
Mathieu |
|