现在我想知道如何最好地开始。我已经阅读了很多论文,但我仍然想知道这些文件的内容是什么:
.CU .cubin .ptx .mex
那么我需要去哪个方向?将我的代码写入.cu文件而不是编译它(使用哪个工具?
我的电脑是:
Q9550与GTX460, Win7 x64, Matlab R2010b x64, Visual Express C ++ 2008(免费 - > 32位版本), Cuda Toolkit 3.2(64位), 最新的Nvidia驱动程序和GPU编程SDK 3.2.16_win_64
如何上车?当我尝试打开GPU Programming SDK中的一个示例时,例如文件vectorAdd_vc90.vcproj
ouf ot C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 3.2\C\src\vectorAdd
我得到了
“发生以下XML解析错误:
文件:C:\ ProgramData \ NVIDIA Corporation \ NVIDIA GPU Computing SDK 3.2 \ C \ src \ vectorAdd \ vectorAdd_vc90.vcproj 行:22 专栏:4 Fehlermeldung: 用户构建文件“C:\ Program Files(x86)\ Microsoft Visual Studio 9.0 \ VC \ VCProjectDefaults \ NvCudaRuntimeApi.rules”未找到或无法加载 无法加载文件“C:\ ProgramData \ NVIDIA Corporation \ NVIDIA GPU Computing SDK 3.2 \ C \ src \ vectorAdd \ vectorAdd_vc90.vcproj”
当我打开vectorAdd.cu
时,我找不到任何方法来编译它以在Matlab中运行它。也许在没有Visual Studio的情况下完全工作也是可能的,所以我在Notepad ++中编写代码并自行编译?
非常感谢你们!
答案 0 :(得分:2)
如果您有权访问Parallel Computing Toolbox,则可以直接使用GPU使用GPUArrays。您还可以使用parallel.gpu.CUDAKernel对象
更轻松地集成自己的手写CUDA代码答案 1 :(得分:0)
如果并行工具箱不可用,您仍然可以使用mexFunction功能来使用GPU
http://www.mathworks.com.au/help/distcomp/create-and-run-mex-files-containing-cuda-code.html
我认为这不适用于早于2013a的版本。在这种情况下,您可以编写mexfunction入口点并包含cuda函数调用以将内存传入和传出设备
http://developer.download.nvidia.com/compute/cuda/4_2/rel/toolkit/docs/online/