mirror of https://github.com/BOINC/boinc.git
456 lines
14 KiB
Plaintext
456 lines
14 KiB
Plaintext
|
<?xml version="1.0" encoding="utf-8"?>
|
||
|
<VisualStudioToolFile
|
||
|
Name="CUDA Build Rule v3.0.14"
|
||
|
Version="8.00"
|
||
|
>
|
||
|
<Rules>
|
||
|
<CustomBuildRule
|
||
|
Name="CUDA Build Rule"
|
||
|
DisplayName="CUDA Build Rule v3.0.14"
|
||
|
CommandLine="echo [CompilerPath] [Keep] [CInterleavedPTX] [ExtraNvccOptions] -ccbin "$(VCInstallDir)bin" [Emulation] [Debug] [FastMath] [Defines] -I"$(CUDA_INC_PATH)" [Include] -Xcompiler "/EHsc [Warning] /nologo [Optimization] /Zi [RuntimeChecks] [Runtime] [TypeInfo] [ExtraCppOptions]" [MaxRegCount] [PtxAsOptionV] [Arch1] [Arch2] [Arch3] [NvccCompilation] "$(InputPath)" 
 [CompilerPath] [Keep] [CInterleavedPTX] [ExtraNvccOptions] [Arch1] [Arch2] [Arch3] -ccbin "$(VCInstallDir)bin" [Emulation] [Debug] [FastMath] [Defines] -I"$(CUDA_INC_PATH)" [Include] -Xcompiler "/EHsc [Warning] /nologo [Optimization] /Zi [RuntimeChecks] [Runtime] [TypeInfo] [ExtraCppOptions]" [Include] [MaxRegCount] [ptxasoptionv] [Arch1] [Arch2] [Arch3] [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)""
|
||
|
Inheritable="true"
|
||
|
Delimited="true"
|
||
|
Delimiters=";"
|
||
|
/>
|
||
|
<BooleanProperty
|
||
|
Name="Debug"
|
||
|
DisplayName="Generate Debug Information"
|
||
|
Description="Specifies whether debugging with Nexus support is generated by the CUDA compiler. (-D_DEBUG -D_WIN32)"
|
||
|
Switch="-D_DEBUG -D_WIN32"
|
||
|
/>
|
||
|
<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="-cubin -o "data\$(InputName).cubin""
|
||
|
DisplayName="Generate .cubin file (-cubin)"
|
||
|
/>
|
||
|
<EnumValue
|
||
|
Value="4"
|
||
|
Switch="-ptx -o "data\$(InputName).ptx""
|
||
|
DisplayName="Generate .ptx file (-ptx)"
|
||
|
/>
|
||
|
<EnumValue
|
||
|
Value="5"
|
||
|
Switch="-cubin -o "[OutputFile].cubin""
|
||
|
DisplayName="Custom CUBIN Filename"
|
||
|
/>
|
||
|
<EnumValue
|
||
|
Value="6"
|
||
|
Switch="-ptx -o "[OutputFile].ptx""
|
||
|
DisplayName="Custom PTX Filename"
|
||
|
/>
|
||
|
</Values>
|
||
|
</EnumProperty>
|
||
|
<StringProperty
|
||
|
Name="OutputFile"
|
||
|
DisplayName="Compiler Output Filename"
|
||
|
Switch="[value]"
|
||
|
/>
|
||
|
<EnumProperty
|
||
|
Name="compileout"
|
||
|
DisplayName="Compiler Output (obj/cubin/ptx)"
|
||
|
Description="Sets output as an OBJ, CUBIN, or PTX 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""
|
||
|
/>
|
||
|
<EnumValue
|
||
|
Value="2"
|
||
|
Switch=""data/$(InputName).ptx""
|
||
|
DisplayName=""data/$(InputName).ptx""
|
||
|
/>
|
||
|
</Values>
|
||
|
</EnumProperty>
|
||
|
<StringProperty
|
||
|
Name="OverrideCompileOutName"
|
||
|
DisplayName="Alternate Compiler Output File (non-standard installation)"
|
||
|
Switch="[value]"
|
||
|
/>
|
||
|
<EnumProperty
|
||
|
Name="Arch1"
|
||
|
DisplayName="GPU Architecture (1)"
|
||
|
Description="Select GPU architecture (1) to use on the command line (-arch sm_10, sm_11, sm_12, sm_13, sm_20)"
|
||
|
DefaultValue="10"
|
||
|
>
|
||
|
<Values>
|
||
|
<EnumValue
|
||
|
Value="0"
|
||
|
Switch=""
|
||
|
DisplayName="0"
|
||
|
/>
|
||
|
<EnumValue
|
||
|
Value="10"
|
||
|
Switch="-gencode=arch=compute_10,code=\"sm_10,compute_10\""
|
||
|
DisplayName="sm_10"
|
||
|
/>
|
||
|
<EnumValue
|
||
|
Value="11"
|
||
|
Switch="-gencode=arch=compute_11,code=\"sm_11,compute_11\""
|
||
|
DisplayName="sm_11"
|
||
|
/>
|
||
|
<EnumValue
|
||
|
Value="12"
|
||
|
Switch="-gencode=arch=compute_12,code=\"sm_12,compute_12\""
|
||
|
DisplayName="sm_12"
|
||
|
/>
|
||
|
<EnumValue
|
||
|
Value="13"
|
||
|
Switch="-gencode=arch=compute_13,code=\"sm_13,compute_13\""
|
||
|
DisplayName="sm_13"
|
||
|
/>
|
||
|
<EnumValue
|
||
|
Value="20"
|
||
|
Switch="-gencode=arch=compute_20,code=\"sm_20,compute_20\""
|
||
|
DisplayName="sm_20"
|
||
|
/>
|
||
|
</Values>
|
||
|
</EnumProperty>
|
||
|
<EnumProperty
|
||
|
Name="Arch2"
|
||
|
DisplayName="GPU Architecture (2)"
|
||
|
Description="Select GPU architecture (2) to use on the command line (-arch sm_10, sm_11, sm_12, sm_13, sm_20)"
|
||
|
DefaultValue="20"
|
||
|
>
|
||
|
<Values>
|
||
|
<EnumValue
|
||
|
Value="0"
|
||
|
Switch=""
|
||
|
DisplayName="0"
|
||
|
/>
|
||
|
<EnumValue
|
||
|
Value="10"
|
||
|
Switch="-gencode=arch=compute_10,code=\"sm_10,compute_10\""
|
||
|
DisplayName="sm_10"
|
||
|
/>
|
||
|
<EnumValue
|
||
|
Value="11"
|
||
|
Switch="-gencode=arch=compute_11,code=\"sm_11,compute_11\""
|
||
|
DisplayName="sm_11"
|
||
|
/>
|
||
|
<EnumValue
|
||
|
Value="12"
|
||
|
Switch="-gencode=arch=compute_12,code=\"sm_12,compute_12\""
|
||
|
DisplayName="sm_12"
|
||
|
/>
|
||
|
<EnumValue
|
||
|
Value="13"
|
||
|
Switch="-gencode=arch=compute_13,code=\"sm_13,compute_13\""
|
||
|
DisplayName="sm_13"
|
||
|
/>
|
||
|
<EnumValue
|
||
|
Value="20"
|
||
|
Switch="-gencode=arch=compute_20,code=\"sm_20,compute_20\""
|
||
|
DisplayName="sm_20"
|
||
|
/>
|
||
|
</Values>
|
||
|
</EnumProperty>
|
||
|
<EnumProperty
|
||
|
Name="Arch3"
|
||
|
DisplayName="GPU Architecture (3)"
|
||
|
Description="Select GPU architecture (3) to use on the command line (-arch sm_10, sm_11, sm_12, sm_13, sm_20)"
|
||
|
DefaultValue="0"
|
||
|
>
|
||
|
<Values>
|
||
|
<EnumValue
|
||
|
Value="0"
|
||
|
Switch=""
|
||
|
DisplayName="0"
|
||
|
/>
|
||
|
<EnumValue
|
||
|
Value="10"
|
||
|
Switch="-gencode=arch=compute_10,code=\"sm_10,compute_10\""
|
||
|
DisplayName="sm_10"
|
||
|
/>
|
||
|
<EnumValue
|
||
|
Value="11"
|
||
|
Switch="-gencode=arch=compute_11,code=\"sm_11,compute_11\""
|
||
|
DisplayName="sm_11"
|
||
|
/>
|
||
|
<EnumValue
|
||
|
Value="12"
|
||
|
Switch="-gencode=arch=compute_12,code=\"sm_12,compute_12\""
|
||
|
DisplayName="sm_12"
|
||
|
/>
|
||
|
<EnumValue
|
||
|
Value="13"
|
||
|
Switch="-gencode=arch=compute_13,code=\"sm_13,compute_13\""
|
||
|
DisplayName="sm_13"
|
||
|
/>
|
||
|
<EnumValue
|
||
|
Value="20"
|
||
|
Switch="-gencode=arch=compute_20,code=\"sm_20,compute_20\""
|
||
|
DisplayName="sm_20"
|
||
|
/>
|
||
|
</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="Verbose PTXAS Output"
|
||
|
Switch="--ptxas-options=-v"
|
||
|
/>
|
||
|
<BooleanProperty
|
||
|
Name="CInterleavedPTX"
|
||
|
DisplayName="Interleave C in PTXAS Output"
|
||
|
Switch="--opencc-options -LIST:source=on"
|
||
|
/>
|
||
|
<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]"
|
||
|
/>
|
||
|
</Properties>
|
||
|
</CustomBuildRule>
|
||
|
</Rules>
|
||
|
</VisualStudioToolFile>
|