diff options
Diffstat (limited to 'build/Cuda.rules')
-rw-r--r-- | build/Cuda.rules | 358 |
1 files changed, 358 insertions, 0 deletions
diff --git a/build/Cuda.rules b/build/Cuda.rules new file mode 100644 index 0000000..733aa1f --- /dev/null +++ b/build/Cuda.rules @@ -0,0 +1,358 @@ +<?xml version="1.0" encoding="utf-8"?> +<VisualStudioToolFile + Name="CUDA Build Rule v2.1.0" + Version="8,00" + > + <Rules> + <CustomBuildRule + Name="CUDA Build Rule" + DisplayName="CUDA Build Rule v2.1.0" + CommandLine="echo [CompilerPath] [Keep] [ExtraNvccOptions] [Platform] [Arch] -ccbin "$(VCInstallDir)bin" [Emulation] [FastMath] [Defines] -Xcompiler "/EHsc [Warning] /nologo [Optimization] /Zi [RuntimeChecks] [Runtime] [TypeInfo] [ExtraCppOptions]" [Include] [MaxRegCount] [PtxAsOptionV] [NvccCompilation] "$(InputPath)" 
 [CompilerPath] [Keep] [ExtraNvccOptions] [Platform] [Arch] -ccbin "$(VCInstallDir)bin" [Emulation] [FastMath] [Defines] -Xcompiler "/EHsc [Warning] /nologo [Optimization] /Zi [RuntimeChecks] [Runtime] [TypeInfo] [ExtraCppOptions]" [Include] [MaxRegCount] [ptxasoptionv] [NvccCompilation] "$(InputPath)" " + Outputs="[compileout]" + AdditionalDependencies="[AddedDependencies]" + FileExtensions="*.cu" + ExecutionDescription="Compiling with CUDA Build Rule..." + > + <Properties> + <StringProperty + Name="Include" + DisplayName="Additional Include Directories" + Description="Specifies one or more directories to add to the include path; use semi-colon delimited list if more than one. (/I[path])" + Switch="-I[value]" + DefaultValue=""$(CUDA_INC_PATH)"" + Delimited="true" + Delimiters=";" + Inheritable="true" + /> + <BooleanProperty + Name="Debug" + DisplayName="Generate Debug Information" + Description="Specifies whether or not debugging information is generated by the CUDA compiler. (-D_DEBUG)" + Switch="-D_DEBUG" + /> + <EnumProperty + Name="NvccCompilation" + DisplayName="NVCC Compilation Type" + Description="Select desired output of NVCC compilation (-c/-compile, -cuda, -gpu, -cubin, -ptx)" + > + <Values> + <EnumValue + Value="0" + Switch="--compile -o "$(IntDir)\$(InputName).cu.obj"" + DisplayName="Generate hybrid object file (--compile / -c)" + /> + <EnumValue + Value="1" + Switch="-cuda -o "$(IntDir)\$(InputName).cu.c"" + DisplayName="Generate hybrid .c file (-cuda)" + /> + <EnumValue + Value="2" + Switch="-gpu -o "$(IntDir)\$(InputName).gpu"" + DisplayName="Generate .gpu file (-gpu)" + /> + <EnumValue + Value="3" + Switch="-m32 -cubin -o "data\$(InputName).cubin"" + DisplayName="Generate .cubin file (-cubin)" + /> + <EnumValue + Value="4" + Switch="-ptx -o "$(IntDir)\$(InputName).ptx"" + DisplayName="Generate .ptx file (-ptx)" + /> + </Values> + </EnumProperty> + <EnumProperty + Name="compileout" + DisplayName="Compiler Output (obj/cubin)" + Description="Sets output as an OBJ or cubin file" + > + <Values> + <EnumValue + Value="0" + Switch=""$(IntDir)/$(InputName).cu.obj"" + DisplayName=""$(IntDir)/$(InputName).cu.obj"" + /> + <EnumValue + Value="1" + Switch=""data/$(InputName).cubin"" + DisplayName=""data/$(InputName).cubin"" + /> + </Values> + </EnumProperty> + <EnumProperty + Name="Arch" + DisplayName="GPU Architecture" + Description="Select option for the GPU architecture to use on the command line (-arch sm_10, sm_11, sm_12, sm_13)" + DefaultValue="10" + > + <Values> + <EnumValue + Value="10" + Switch="-arch sm_10" + DisplayName="sm_10" + /> + <EnumValue + Value="11" + Switch="-arch sm_11" + DisplayName="sm_11" + /> + <EnumValue + Value="12" + Switch="-arch sm_12" + DisplayName="sm_12" + /> + <EnumValue + Value="13" + Switch="-arch sm_13" + DisplayName="sm_13" + /> + </Values> + </EnumProperty> + <EnumProperty + Name="CompilerPath" + DisplayName="Path to nvcc.exe" + Description="Specifies the path to the CUDA compiler, nvcc.exe " + > + <Values> + <EnumValue + Value="0" + Switch=""$(CUDA_BIN_PATH)\nvcc.exe"" + DisplayName="Installed Toolkit (uses CUDA_BIN_PATH environment varible)" + /> + <EnumValue + Value="1" + Switch=""[AlternateNvccPath]"" + DisplayName="Use Alternate path to CUDA, specified below" + /> + </Values> + </EnumProperty> + <StringProperty + Name="AlternateNvccPath" + DisplayName="Alternate path to nvcc.exe (non-standard installation)" + Switch="[value]\nvcc.exe" + /> + <BooleanProperty + Name="Emulation" + DisplayName="Emulation Mode" + Description="Whether or not to generate emulated code." + Switch="-deviceemu -D_DEVICEEMU" + /> + <BooleanProperty + Name="FastMath" + DisplayName="Use Fast Math" + Category="Default" + Description="Make use of the fast math library." + Switch="-use_fast_math" + /> + <IntegerProperty + Name="MaxRegCount" + DisplayName="maxrregcount" + Switch="-maxrregcount=[Value]" + DefaultValue="32" + /> + <BooleanProperty + Name="PtxAsOptionV" + DisplayName="PtxAsOptionV" + Switch="--ptxas-options=-v" + /> + <StringProperty + Name="ExtraNvccOptions" + DisplayName="Extra Options" + Description="Supply any additional command line options to NVCC" + Switch="[value]" + /> + <StringProperty + Name="Defines" + DisplayName="Preprocessor Definitions" + PropertyPageName="Preprocessor" + Description="Specifies one or more preprocessor defines. (-D[macro])" + Switch="-D[value]" + Delimited="true" + Inheritable="true" + /> + <BooleanProperty + Name="Keep" + DisplayName="Keep preprocessed files (.ptx, .cubin, cudafe1.c, cudafe1.cpp, cudafe1.gpu, etc.)" + PropertyPageName="Preprocessor" + Description="Specifies that preprocessor files generated by the CUDA compiler are not deleted." + Switch="--keep" + /> + <EnumProperty + Name="Warning" + DisplayName="Warning Level" + PropertyPageName="Hybrid CUDA/C++ Options" + Description="Select how strict you want the compiler to be about checking for potentially suspect constructs. (/W0 - /W4)" + DefaultValue="3" + > + <Values> + <EnumValue + Value="0" + Switch="/W0" + DisplayName="Off: Turn Off All Warnings (/W0)" + /> + <EnumValue + Value="1" + Switch="/W1" + DisplayName="Level 1 (/W1)" + /> + <EnumValue + Value="2" + Switch="/W2" + DisplayName="Level 2 (/W2)" + /> + <EnumValue + Value="3" + Switch="/W3" + DisplayName="Level 3 (/W3)" + /> + <EnumValue + Value="4" + Switch="/W4" + DisplayName="Level 4 (/W4)" + /> + </Values> + </EnumProperty> + <EnumProperty + Name="Optimization" + DisplayName="Optimization" + Description="Select option for code optimization; choose Custom to use specific optimization options. (/Od, /O1, /O2, /Ox)" + DefaultValue="2" + > + <Values> + <EnumValue + Value="0" + Switch="/Od" + DisplayName="Disabled (/Od)" + /> + <EnumValue + Value="1" + Switch="/O1" + DisplayName="Minimize Size (/O1)" + /> + <EnumValue + Value="2" + Switch="/O2" + DisplayName="Maximize Speed (/O2)" + /> + <EnumValue + Value="3" + Switch="/Ox" + DisplayName="Full Optimization (/Ox)" + /> + </Values> + </EnumProperty> + <StringProperty + Name="AddedDependencies" + DisplayName="Source Dependencies" + Description="Add additional CUDA file dependencies" + Switch="[value]" + /> + <EnumProperty + Name="RuntimeChecks" + DisplayName="Basic Runtime Checks" + PropertyPageName="Hybrid CUDA/C++ Options" + Description="Perform basic runtime error checks, incompatible with any optimization type other than debug. (/RTCs, /RTCu, /RTC1)" + > + <Values> + <EnumValue + Value="0" + Switch=" " + DisplayName="Default" + /> + <EnumValue + Value="1" + Switch="/RTCs" + DisplayName="Stack Frames (/RTCs)" + /> + <EnumValue + Value="2" + Switch="/RTCu" + DisplayName="Uninitialized Variables (/RTCu)" + /> + <EnumValue + Value="3" + Switch="/RTC1" + DisplayName="Both (/RTC1, equiv. to /RTCsu)" + /> + </Values> + </EnumProperty> + <EnumProperty + Name="Runtime" + DisplayName="Runtime Library" + PropertyPageName="Hybrid CUDA/C++ Options" + Description="Specify runtime library for linking. (/MT, /MTd, /MD, /MDd, /ML, /MLd)" + > + <Values> + <EnumValue + Value="0" + Switch="/MT" + DisplayName="Multi-Threaded (/MT)" + /> + <EnumValue + Value="1" + Switch="/MTd" + DisplayName="Multi-Threaded Debug (/MTd)" + /> + <EnumValue + Value="2" + Switch="/MD" + DisplayName="Multi-Threaded DLL (/MD)" + /> + <EnumValue + Value="3" + Switch="/MDd" + DisplayName="Multi-Threaded Debug DLL (/MDd)" + /> + <EnumValue + Value="4" + Switch="/ML" + DisplayName="Single-Threaded (/ML)" + /> + <EnumValue + Value="5" + Switch="/MLd" + DisplayName="Single-Threaded Debug (/MLd)" + /> + </Values> + </EnumProperty> + <BooleanProperty + Name="TypeInfo" + DisplayName="Enable Run-Time Type Info" + PropertyPageName="Hybrid CUDA/C++ Options" + Description="Adds code for checking C++ object types at run time (runtime type information). (/GR)" + Switch="/GR" + /> + <StringProperty + Name="ExtraCppOptions" + DisplayName="Extra C++ Options" + PropertyPageName="Hybrid CUDA/C++ Options" + Description="Supply any additional command line options to the host C++ compiler" + Switch="[value]" + /> + <EnumProperty + Name="Platform" + DisplayName="Platform" + > + <Values> + <EnumValue + Value="0" + DisplayName="Default" + /> + <EnumValue + Value="1" + Switch="-m32" + DisplayName="Win32" + /> + <EnumValue + Value="2" + Switch="-m64" + DisplayName="x64" + /> + </Values> + </EnumProperty> + </Properties> + </CustomBuildRule> + </Rules> +</VisualStudioToolFile> |