我需要帮助将这个基本的 ACC pragma 翻译成 OMP
I need help translating this basic ACC pragma to OMP
我的问题是:我正在尝试进行 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 调用正在使用设备的变量?
尝试:
#pragma omp target data use_device_ptr(list of variables)
{
call to cuda(vars)
}
我的问题是:我正在尝试进行 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 调用正在使用设备的变量?
尝试:
#pragma omp target data use_device_ptr(list of variables)
{
call to cuda(vars)
}