我需要帮助将这个基本的 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)
}

参见第 27 张幻灯片:https://on-demand.gputechconf.com/gtc/2018/presentation/s8344-openmp-on-gpus-first-experiences-and-best-practices.pdf