gpt4 book ai didi

多 GPU 上的 cudaMallocHost/cudaHostAlloc

转载 作者:行者123 更新时间:2023-12-02 10:04:42 34 4
gpt4 key购买 nike

在 CUDA 文档中,特别是在有关 cudaSetDevice 的设备管理部分的 CUDA Runtime API 中,它是这样写的

Any host memory allocated from this host thread using cudaMallocHost() or cudaHostAlloc() or cudaHostRegister() will have its lifetime associated with device

所以我的问题是:如果我使用 cudaHostAlloc 分配主机内存,当前设备为 dev 0,然后将该主机内存传输到 dev 1 中的设备内存,是否有任何限制或问题?

最佳答案

在“传统”CUDA 内存模型中,如果要在多个上下文中使用映射的主机内存分配,则必须使用 cudaHostAllocPortable 通过 cudaHostAlloc() 分配内存 标志。这将使内存在所有上下文中都可移植。

如果您运行在支持统一寻址的平台上,那么只要您在任何 cudaMemcpy() 中使用 cudaMemcpyDefault 就不需要担心这个问题对该内存的操作。

关于多 GPU 上的 cudaMallocHost/cudaHostAlloc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14747989/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com