I want to make a procedure that can calculate dot product of two vectors but I don’t want to use cublasDdot.
I read the reduction example in SDK and implemented my own dot product using shared memory however I got a warning message like this: " warning : Double is not supported. Demoting to float "
My GPU is Testla 10T(or 1050) and it supports double, because I got correct result from cublasDdot which is a double precision function.
I think the warning is from “shared double sdata”.
My own procedure can not give correct result using double type, while cublasDdot can; if I use float type, my function gives the same result as cublas’. So does this mean CUDA doesn’t have double type shared memory? or something else?
I want to make a procedure that can calculate dot product of two vectors but I don’t want to use cublasDdot.
I read the reduction example in SDK and implemented my own dot product using shared memory however I got a warning message like this: " warning : Double is not supported. Demoting to float "
My GPU is Testla 10T(or 1050) and it supports double, because I got correct result from cublasDdot which is a double precision function.
I think the warning is from “shared double sdata”.
My own procedure can not give correct result using double type, while cublasDdot can; if I use float type, my function gives the same result as cublas’. So does this mean CUDA doesn’t have double type shared memory? or something else?
You need to compile with -arch sm_13 or higher. The lower compute capabilities generated by default (for broad GPU compatibility) do not support doubles.
You need to compile with -arch sm_13 or higher. The lower compute capabilities generated by default (for broad GPU compatibility) do not support doubles.