I use Visual Studio 2008. My program has grown somewhat in number of files and I figure that the compile time will be reduced by up’ing the number of compiler threads. This is done by adding /MP. The problem is that nvcc apparently add /E to the build command and /E suppress /MP… I don’t see /E in the compile macro/build rule…
Sample build command line:
[codebox]“C:\cuda\bin\nvcc.exe” -arch sm_10 -ccbin “C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin” -Xcompiler “/W3 /nologo /Od /Zi /MT” -I"\include" -maxrregcount=32 --compile -o “project.cu.obj” “project.vcproj”[/codebox]
Sample build command line (/MP added:
[codebox]“C:\cuda\bin\nvcc.exe” -arch sm_10 -ccbin “C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin” -Xcompiler “/W3 /nologo /Od /Zi /MT /MP 8” -I"\include" -maxrregcount=32 --compile -o “project.cu.obj” “project.vcproj”[/codebox]
Is it possible for nvcc not to add /E?
rgds
Morten
I use Visual Studio 2008. My program has grown somewhat in number of files and I figure that the compile time will be reduced by up’ing the number of compiler threads. This is done by adding /MP. The problem is that nvcc apparently add /E to the build command and /E suppress /MP… I don’t see /E in the compile macro/build rule…
Sample build command line:
[codebox]“C:\cuda\bin\nvcc.exe” -arch sm_10 -ccbin “C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin” -Xcompiler “/W3 /nologo /Od /Zi /MT” -I"\include" -maxrregcount=32 --compile -o “project.cu.obj” “project.vcproj”[/codebox]
Sample build command line (/MP added:
[codebox]“C:\cuda\bin\nvcc.exe” -arch sm_10 -ccbin “C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin” -Xcompiler “/W3 /nologo /Od /Zi /MT /MP 8” -I"\include" -maxrregcount=32 --compile -o “project.cu.obj” “project.vcproj”[/codebox]
Is it possible for nvcc not to add /E?
rgds
Morten
Output with /MP 8:
[codebox]
2>cl : Command line warning D9030 : ‘/E’ is incompatible with multiprocessing; ignoring /MP switch
2>8
2>main.cu
2>c1xx : fatal error C1083: Cannot open source file: ‘8’: No such file or directory[/codebox]
Output with /MP 8:
[codebox]
2>cl : Command line warning D9030 : ‘/E’ is incompatible with multiprocessing; ignoring /MP switch
2>8
2>main.cu
2>c1xx : fatal error C1083: Cannot open source file: ‘8’: No such file or directory[/codebox]