GPU cuda代码可以在多个GPU卡上运行而无需任何实现吗?

问题描述 投票:-1回答:1

我已经有一个基于GPU CUDA C ++的代码,可以在单个NVIDIA显卡上运行良好。是否可以通过添加新的NVIDIA卡并在2张GPU卡(旧的和新的)上运行代码来加速计算?我的意思是我是否需要编写任何新代码以使当前代码可以在两个GPU卡上运行,或者它可以在没有任何新实现的情况下工作?

c++ cuda gpu
1个回答
1
投票

不,它不能。大多数设备控制代码如内核启动,cudaMalloc,cudaMemcpy都针对一个特定的设备,你需要使用cudaSetDevice来指定你想要执行的设备,例如:

for (i = 0; i < gpuCount; i++)

{
    cudaSetDevice(i);

    cudaMemcpy(...)

    some_kernel_func<<...>>> (...)        

}
© www.soinside.com 2019 - 2024. All rights reserved.