是否有可能从常规的指令中调用cuSPARSE库。我有一个双重for循环,对于cuSPARSE函数调用GPU上运行,我假设把for循环的设备上会帮助一些与性能的主机上。
for ( int j = 0; j < nxChunk; j++ )
{
for ( int i = 0; i < nyChunk; i++ )
{
#pragma acc parallel
setDiag( eig );
triDiagCusparse( dl, ds, du, tmpMGReal );
}
}
谢谢您的帮助。
一个OpenACC的加速器区域通常会与acc parallel
或acc kernels
指令划定。该OpenACC的routine
指令is intended to delineate函数或过程可能从加速区域被调用。
用于加速器区域所支持的功能可能因该区域是什么类型的加速器的变化或将被靶向。
相对于靶向CUDA的GPU加速区域,这些区域会被编译器OpenACC的CUDA入设备代码被翻译。 cuSPARSE功能旨在被从主机代码仅调用,并且不从CUDA设备代码调用。因此它们不靶向CUDA设备的OpenACC的油门区域(或OpenACC的例程,其从加速器区域称为)可用。