|
SOLUTIONS
|
NVCCCompiler
CreateLibrary[src, name, "Compiler"->NVCCCompiler]
compiles a string of CUDA code in src into a library and returns the full path to the library.
CreateLibrary[{file, ...}, name, "Compiler"->NVCCCompiler]
compiles a number of CUDA and C source files into a library and returns the full path to the library.
CreateExecutable[src, name, "Compiler"->NVCCCompiler]
compiles a string of CUDA code in src into an executable and returns the full path to the executable.
CreateExecutable[{file, ...}, name, "Compiler"->NVCCCompiler]
compiles a number of CUDA, mprep, and C source files into an executable and returns the full path to the executable.
CreateObjectFile[src, name, "Compiler"->NVCCCompiler]
compiles a string of CUDA code in src into an object file and returns the full path to the object file.
CreateObjectFile[{file, ...}, name, "Compiler"->NVCCCompiler]
compiles a number of CUDA and C source files into object files and returns the full path to the object files.
更多信息更多信息
- The CUDALink application must be loaded using Needs["CUDALink`"].
- A supported C compiler must be installed on the system. This can be Visual Studio 2005 or 2008 on Windows, or GNU GCC 4.1, 4.2, or 4.3 on Unix.
- If the source is a string, the
treats it as CUDA code. If the source is a list of one or more strings, then the code is treated as a list of files containing CUDA code. - The extension given to the output file depends on the platform for which the file is created and the options used.
is used internally by CUDAFunctionLoad.- The following options can be given:
-
"CleanIntermediate" True whether temporary files should be deleted "CompileOptions" {} compile options passed directly to the NVCC compiler "CompilerInstallation" Automatic location of the CUDA Toolkit installation "CreateBinary" True whether the binary should be created "CreateCUBIN" False whether to create a .cubin file (a GPU binary) rather than a library "CreatePTX" False whether to create a .ptx file (a GPU bytecode) rather than a library "CUDAArchitecture" Automatic CUDA architecture to target "Defines" {} defines passed to the NVCC preprocessor "ExtraObjectFiles" {} extra object files to compile with "IncludeDirectories" {} directories to include in the compilation "Libraries" {} libraries to link against "LibraryDirectories" {} library directories to include in the compilation "LinkerOptions" {} linker options passed from NVCC to the C linker "MprepOptions" "" options passed to mprep "ShellCommandFunction" None function to call with the shell commands used for the compilation "ShellOutputFunction" None function to call with the shell output of running the compilation commands "SystemCompileOptions" {} base compile options "SystemIncludeDirectories" Automatic CUDALink and Mathematica include directories to include "SystemLibraries" Automatic CUDALink and Mathematica libraries to link against "SystemLibraryDirectories" Automatic CUDALink and Mathematica library directories to include "SystemLinkerOptions" Automatic system linker options passed from NVCC to the C linker "TargetDirectory" $CCompilerDefaultDirectory the directory in which the library file should be generated "TargetSystemID" $SystemID system to compile the library for "UnmangleCode" False whether to surround code with external "C" to avoid C++ name mangling "WorkingDirectory" Automatic the directory in which temporary files will be generated "XCompileOptions" Automatic compile options passed from NVCC to the C compiler "XCompilerInstallation" Automatic directory where NVCC will find the C compiler is installed
范例范例打开所有单元关闭所有单元
基本范例 (3)基本范例 (3)
First, load the CUDALink application:
| In[1]:= |
This is a sample CUDA source file:
| In[2]:= |
This compiles the code into a library:
| In[3]:= |
| Out[3]= |
This reads the CUDA code into a Mathematica string:
| In[1]:= |
| In[2]:= |
This creates a CUDA library using the string imported:
| In[3]:= |
| Out[3]= |
This imports the CUDA program as a string:
| In[1]:= |
| Out[1]= | ![]() |
This compiles the CUDA program into CUDA executable byte code (PTX) file, showing the compilation command used:
This displays the output PTX byte code in Mathematica:
| In[3]:= |
| Out[3]= | ![]() |



