可以将CUBLAS与OpenACC一起使用吗?

时间:2014-02-03 15:33:55

标签: cublas openacc

我必须使用OpenACC指令实现我在CUDA-C中已有的功能(我必须进行比较)。在原始代码中有cubasSgemv调用,有一些方法可以在openacc下使用cublas库吗?

1 个答案:

答案 0 :(得分:1)

是的,您可以使用host_data构造来执行此操作。以下是如何从OpenACC调用cublasSaxpy的示例:

 #pragma acc data create(x[0:n]) copyout(y[0:n])
  {
    #pragma acc kernels
    {
      for( i = 0; i < n; i++)
      {
        x[i] = 1.0f;
        y[i] = 0.0f;
      }
    }

    #pragma acc host_data use_device(x,y)
    {
      cublasSaxpy(n, 2.0, x, 1, y, 1);
    }
  }

我在几个月前撰写的关于OpenACC互操作性的文章中有其他例子。您可以在http://www.pgroup.com/lit/articles/insider/v5n2a2.htm找到它。