PHP调用cuda,Matlab通过mex调用CUDA的方法

Name="NVIDIA CUDA Compiler"

ShortName="nvcc"

Manufacturer="NVIDIA"

Version="7.5"

Language="CUDA"

Priority="A"

Location="$NVCC" >

CompilerExecutable="$COMPILER"

CompilerDefines="$COMPDEFINES"

CompilerFlags="$COMPFLAGS"

OptimizationFlags="$OPTIMFLAGS"

DebugFlags="$DEBUGFLAGS"

IncludeFlags="$INCLUDE"

LinkerExecutable="$LINKER"

LinkerFlags="$LINKFLAGS"

LinkerLibraries="$LINKLIBS"

LinkerOptimizationFlags="$LINKOPTIMFLAGS"

LinkerDebugFlags="$LINKDEBUGFLAGS"

CommandLineShell="$VCVARSALLDIR\VCVARSALL.BAT "

CommandLineShellArg=" amd64 "

CompilerDefineFormatter="--compiler-options=/D%s"

LinkerLibrarySwitchFormatter="lib%s.lib;%s.lib"

LinkerPathFormatter="/LIBPATH:%s"

LibrarySearchPath="$$LIB;$$LIBPATH;$$PATH;$$INCLUDE;$MATLABROOT\extern\lib\$ARCH\microsoft"

/>

CMDLINE100="$COMPILER -c $COMPFLAGS $OPTIM $COMPDEFINES $INCLUDE $SRC -o $OBJ"

CMDLINE200="$LINKER $LINKFLAGS $LINKTYPE $LINKOPTIM $LINKEXPORT $LINKLIBS $OBJS /out:$EXE"

CMDLINE250="mt -outputresource:$EXE;2 -manifest $MANIFEST"

CMDLINE300="del $OBJ $EXP $LIB $MANIFEST $ILK"

COMPILER="nvcc"

COMPFLAGS="-gencode=arch=compute_20,code=sm_20 -gencode=arch=compute_30,code=sm_30 -gencode=arch=compute_50,code=\"sm_50,compute_50\" --compiler-options=/c,/GR,/W3,/EHs,/nologo,/MD"

COMPDEFINES="--compiler-options=/D_CRT_SECURE_NO_DEPRECATE,/D_SCL_SECURE_NO_DEPRECATE,/D_SECURE_SCL=0,$MATLABMEX"

MATLABMEX="/DMATLAB_MEX_FILE"

OPTIMFLAGS="--compiler-options=/O2,/Oy-,/DNDEBUG"

INCLUDE="-I"$MATLABROOT\extern\include" -I"$MATLABROOT\simulink\include""

DEBUGFLAGS="--compiler-options=/Z7"

LINKER="link"

LINKFLAGS="/nologo /manifest"

LINKTYPE="/DLL "

LINKEXPORT="/EXPORT:mexFunction"

LINKLIBS="/LIBPATH:"$MATLABROOT\extern\lib\$ARCH\microsoft" libmx.lib libmex.lib libmat.lib gpu.lib cudart.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib"

LINKDEBUGFLAGS="/debug /PDB:"$TEMPNAME$LDEXT.pdb""

LINKOPTIMFLAGS=""

OBJEXT=".obj"

LDEXT=".mexw64"

SETENV="set COMPILER=$COMPILER

set COMPFLAGS=$COMPFLAGS $COMPDEFINES

set OPTIMFLAGS=$OPTIMFLAGS

set DEBUGFLAGS=$DEBUGFLAGS

set LINKER=$LINKER

set LINKFLAGS=$LINKFLAGS /export:%ENTRYPOINT% $LINKTYPE $LINKLIBS $LINKEXPORT

set LINKDEBUGFLAGS=/debug /PDB:"%OUTDIR%%MEX_NAME%$LDEXT.pdb"

set NAME_OUTPUT=/out:"%OUTDIR%%MEX_NAME%%MEX_EXT%""

/>

PATH="$CUDA_BIN_PATH;$VSROOT\VC\Bin\amd64;$VSROOT\VC\Bin\VCPackages;$VSROOT\Common7\IDE;$VSROOT\Common7\Tools;$VSROOT\Common7\Tools\bin;$SDKROOT\Bin\x64;$SDKROOT\Bin\win64\x64;$SDKROOT\Bin;$PATH"

INCLUDE="$VSROOT\VC\ATLMFC\INCLUDE;$VSROOT\VC\INCLUDE;$SDKROOT\include;$MATLABROOT\extern\include;$MATLABROOT\toolbox\distcomp\gpu\extern\include"

LIB="$VSROOT\VC\ATLMFC\LIB\amd64;$VSROOT\VC\Lib\amd64;$SDKROOT\Lib\X64;$MATLABROOT\lib\$ARCH;$CUDA_LIB_PATH;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib\x64"

LIBPATH="$VSROOT\VC\Lib\amd64;"

/>

Name="NVIDIA CUDA Compiler"

ShortName="nvcc"

Manufacturer="NVIDIA"

Version="7.5"

Language="CUDA"

Priority="A"

Location="$NVCC" >

CompilerExecutable="$COMPILER"

CompilerDefines="$COMPDEFINES"

CompilerFlags="$COMPFLAGS"

OptimizationFlags="$OPTIMFLAGS"

DebugFlags="$DEBUGFLAGS"

IncludeFlags="$INCLUDE"

LinkerExecutable="$LINKER"

LinkerFlags="$LINKFLAGS"

LinkerLibraries="$LINKLIBS"

LinkerOptimizationFlags="$LINKOPTIMFLAGS"

LinkerDebugFlags="$LINKDEBUGFLAGS"

CommandLineShell="$VCVARSALLDIR\VCVARSALL.BAT "

CommandLineShellArg=" amd64 "

CompilerDefineFormatter="--compiler-options=/D%s"

LinkerLibrarySwitchFormatter="lib%s.lib;%s.lib"

LinkerPathFormatter="/LIBPATH:%s"

LibrarySearchPath="$$LIB;$$LIBPATH;$$PATH;$$INCLUDE;$MATLABROOT\extern\lib\$ARCH\microsoft"

/>

CMDLINE100="$COMPILER -c $COMPFLAGS $OPTIM $COMPDEFINES $INCLUDE $SRC -o $OBJ"

CMDLINE200="$LINKER $LINKFLAGS $LINKTYPE $LINKOPTIM $LINKEXPORT $LINKLIBS $OBJS /out:$EXE"

CMDLINE250="mt -outputresource:$EXE;2 -manifest $MANIFEST"

CMDLINE300="del $OBJ $EXP $LIB $MANIFEST $ILK"

COMPILER="nvcc"

COMPFLAGS="-gencode=arch=compute_20,code=sm_20 -gencode=arch=compute_30,code=sm_30 -gencode=arch=compute_50,code=\"sm_50,compute_50\" --compiler-options=/c,/GR,/W3,/EHs,/nologo,/MD"

COMPDEFINES="--compiler-options=/D_CRT_SECURE_NO_DEPRECATE,/D_SCL_SECURE_NO_DEPRECATE,/D_SECURE_SCL=0,$MATLABMEX"

MATLABMEX="/DMATLAB_MEX_FILE"

OPTIMFLAGS="--compiler-options=/O2,/Oy-,/DNDEBUG"

INCLUDE="-I"$MATLABROOT\extern\include" -I"$MATLABROOT\simulink\include""

DEBUGFLAGS="--compiler-options=/Z7"

LINKER="link"

LINKFLAGS="/nologo /manifest"

LINKTYPE="/DLL "

LINKEXPORT="/EXPORT:mexFunction"

LINKLIBS="/LIBPATH:"$MATLABROOT\extern\lib\$ARCH\microsoft" libmx.lib libmex.lib libmat.lib gpu.lib cudart.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib"

LINKDEBUGFLAGS="/debug /PDB:"$TEMPNAME$LDEXT.pdb""

LINKOPTIMFLAGS=""

OBJEXT=".obj"

LDEXT=".mexw64"

SETENV="set COMPILER=$COMPILER

set COMPFLAGS=$COMPFLAGS $COMPDEFINES

set OPTIMFLAGS=$OPTIMFLAGS

set DEBUGFLAGS=$DEBUGFLAGS

set LINKER=$LINKER

set LINKFLAGS=$LINKFLAGS /export:%ENTRYPOINT% $LINKTYPE $LINKLIBS $LINKEXPORT

set LINKDEBUGFLAGS=/debug /PDB:"%OUTDIR%%MEX_NAME%$LDEXT.pdb"

set NAME_OUTPUT=/out:"%OUTDIR%%MEX_NAME%%MEX_EXT%""

/>

PATH="$CUDA_BIN_PATH;$VSROOT\VC\Bin\amd64;$VSROOT\VC\Bin\VCPackages;$VSROOT\Common7\IDE;$VSROOT\Common7\Tools;$VSROOT\Common7\Tools\bin;$SDKROOT\Bin\x64;$SDKROOT\Bin\win64\x64;$SDKROOT\Bin;$PATH"

INCLUDE="$VSROOT\VC\ATLMFC\INCLUDE;$VSROOT\VC\INCLUDE;$SDKROOT\include;$MATLABROOT\extern\include;$MATLABROOT\toolbox\distcomp\gpu\extern\include"

LIB="$VSROOT\VC\ATLMFC\LIB\amd64;$VSROOT\VC\Lib\amd64;$SDKROOT\Lib\X64;$MATLABROOT\lib\$ARCH;$CUDA_LIB_PATH;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib\x64"

LIBPATH="$VSROOT\VC\Lib\amd64;"

/>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值