首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cuSPARSE库在openACC例程中的调用

问cuSPARSE库在openACC例程中的调用
EN

Stack Overflow用户
提问于 2019-02-07 18:31:15
回答 1查看 86关注 0票数 0

是否可以在例程指令中调用cuSPARSE库。在调用运行在GPU上的cuSPARSE函数的主机上有一个双for循环,我假设将for循环放在设备上将有助于一些人提高性能。

代码语言:javascript
复制
    for ( int j = 0; j < nxChunk; j++ )
    {
       for ( int i = 0; i < nyChunk; i++ )
       {            
         #pragma acc parallel 
         setDiag( eig );

        triDiagCusparse( dl, ds, du, tmpMGReal );

         }
      }

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-07 20:32:11

OpenACC加速器区域通常由acc parallel或acc kernels指令描述。可能从加速器区域调用的OpenACC routine指令是为了划定函数或过程。

加速器区域所支持的特性可能因该区域是或将要发生的加速器类型而有所不同。

对于以CUDA GPU为目标的加速器区域,这些区域将由OpenACC编译器转换为CUDA设备代码。cuSPARSE函数仅用于从主机代码调用,而不能从CUDA设备代码调用。因此,它们不能用于以CUDA设备为目标的OpenACC加速器区域(或从加速器区域调用的OpenACC例程)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54579996

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档