Double doesnt work even with -arch=sm_13

I’m using a machine with a few tesla 1060 cards. I’ve been using visual studio and have come across some strange behaviour.

This morning I was compiling and running code with double precision using the -arch=sm_13 option, everything worked fine and the results looked good. After lunch I made some changes (very arbitrary) and went to build, the build is successful however the results now appear as though the program was built without the -arch=sm_13 option, ie results are zero. This is extremely confusing and I’m not sure whats wrong. has anyone encountered this sort of behaviour before?

Edit: So i’ve found what may be the problem but cant see the solution. My code considers a 3d domain, using the indexing described in post #10 here.

I’ve found that by varying the parameters threadsInX/Y/Z I can vary the “strength” of the behaviour. Ie with them set to 20/20/10 i get the behaviour I described. with them set to 4/4/2 the program appears to work but the results look strange. With the right combination and the right size domain I get results that are correct, but I’m at a loss as to why :|