【发布时间】:2022-01-20 13:25:30
【问题描述】:
我的问题是:我正在尝试进行 CUDA 函数调用 (cublasDgemm),但我遇到了错误,因为我正在访问本应无法访问的地址。
我认为这是因为 CUBLAS 函数没有使用设备变量,而是使用主机变量。
我已经看到在 OpenACC 中,你会使用这个:
#pragma acc host_data use_device(list of variables) {
(call to CUBLAS function)
}
host_data 使您能够将设备的变量地址带到主机,use_device 使大括号内的任何内容 {} 使用设备中的变量,而不是主机中的变量。更详细的可以参考这里->https://www.openacc.org/sites/default/files/inline-files/OpenACC_2_0_specification.pdf
那么,有没有办法在 OpenMP 中复制它?我必须这样做吗?如何确保 CUBLAS 调用正在使用设备的变量?
【问题讨论】: