【问题标题】:I need help translating this basic ACC pragma to OMP我需要帮助将这个基本的 ACC 编译指示翻译成 OMP
【发布时间】: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 调用正在使用设备的变量?

【问题讨论】:

    标签: gpu openmp openacc cublas


    【解决方案1】:

    试试:

    #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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多