【问题标题】:Multiple GPUs in CUDA 3.2 and issues with Cuda 4.0CUDA 3.2 中的多个 GPU 和 Cuda 4.0 的问题
【发布时间】:2011-10-26 03:17:54
【问题描述】:

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

我面临两个问题。

第一个问题是我的代码在 4.0 构建规则下无法正常运行,而在 3.2 构建规则下运行良好。此外,multiGPU 的 SDK 示例没有建立在 VS2008 上,会出现错误

错误 C3861:“cudaDeviceReset”:找不到标识符

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

【问题讨论】:

    标签: cuda gpgpu multi-gpu


    【解决方案1】:

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

    您问题的第二部分听起来像是“请给我代码”的问题,而这并不是这个地方的真正用途。然而,我会给你一个链接到GPUWorker(代码当前可用here),这是一个基于boost线程的multigpu框架,最初是HOOMD分子动力学包的一部分。它应该为您提供一些关于如何编写多线程、多 GPU 代码的提示,即使 GPUWorker 不能直接满足您的需求。

    【讨论】:

    • 感谢您对第二个问题的回答...我正在努力解决...虽然对于第一个问题,我确信我正在链接到最新的 4.0 工具包,但它仍然会给出错误。
    猜你喜欢
    • 2016-05-17
    • 1970-01-01
    • 2012-03-22
    • 2012-07-07
    • 2011-09-03
    • 1970-01-01
    • 1970-01-01
    • 2020-03-13
    • 1970-01-01
    相关资源
    最近更新 更多