In the main program of the binomial option pricing example (or any of the double precision CUDA SDK examples), precisionChoice is a badptr from creation. persists through cutGetCmdLineArgumentstr, however I can force useDoublePrecision = 1 and it seems to work. Simulation time increases from 40ms to 140ms.
I have tried changing the syntax of the pointer creation based on some windows forums but without success.
I will throw in the disclaimer that I am new to CUDA. The programming guide indicates my hardware should be good for double precision. What I am I missing?
int main(int argc, char **argv){
const unsigned int OPT_N_MAX = 512;
unsigned int useDoublePrecision;
char *precisionChoice;
cutGetCmdLineArgumentstr(argc, (const char **)argv, "type", &precisionChoice);
if(precisionChoice == NULL) {
useDoublePrecision = 0;
} else {
if(!strcasecmp( precisionChoice, "double"))
useDoublePrecision = 1;
else
useDoublePrecision = 0;
}
Running
Windows 7
GTX 280
VS2005