CUDA 3.2中的多个GPU和Cuda 4.0的问题

时间:2011-08-12 20:34:15

标签: cuda gpgpu multi-gpu

我是多个GPU的新手。我已经为单个GPU编写了代码,并希望通过使用多个GPU进一步加速。我正在使用两个带有MS VS 2008和cuda toolkit 4.0的GTX 470

我面临两个问题。

第一个问题是我的代码以某种方式运行不正常使用4.0构建规则并且适用于3.2构建规则。此外,multiGPU的SDK示例不会在VS2008上构建错误

  

错误C3861:'cudaDeviceReset':找不到标识符

我的第二个问题是,如果我必须使用3.2,那么根据文档,线程必须单独启动并分别进行分配等。什么是启动多个gpus线程的最简单的库,你能不能请举例说明我的设置以访问多个GPU。

1 个答案:

答案 0 :(得分:2)

第一个问题的答案是您明确链接旧版本的CUDA运行时库。 cudaDeviceReset是CUDA 4.0中引入的API的新增功能。因此,仔细检查构建规则并确保您确实将链接器指向CUDA 4.0工具包而不是早期版本

你问题的第二部分听起来像是一个“hai plz给我代码”的问题,而这并不是这个地方的真正含义。但是,我将为您提供GPUWorker(当前可用的代码here)的链接,这是一个基于boost线程的multigpu框架,最初是HOOMD分子动力学软件包的一部分。它应该给你一些关于如何执行多线程,multigpu代码的提示,即使GPUWorker不能直接适用于你的需求。