cost 238 ms
使用嵌套 OpenACC 例程传递参考参数 - Reference Argument Passing with Nested OpenACC Routines

我正在尝试使用 OpenACC 并行化一些 Fortran 90 代码,其中并行化循环调用顺序例程。 当我尝试使用 PGI Fortran 编译器 (2020.4) 运行代码时,我收到一条错误消息,指出传递引用参数会阻止并行化。 我的理解是,这可能是因为一个例程存在于主机上,而另一个例程存在于设备 ...

OpenACC Fortran 循环中的顺序点积 - Sequential dot_product in OpenACC Fortran loop

在 Fortran 程序中,我有一个大循环,在循环内生成的小向量上有几个dot_product调用: 当使用 PGI 编译器编译时,似乎dot_product的加速实现使用了加速循环,因此可以更好地防止主循环加速(在 gang 和 vector 上): 从日志中可以看出,它对循环私有向量使用隐式缩减 ...

OpenACC 第一个私有变量 - OpenACC firstprivate variables

我在 OpenACC 内核中遇到数组问题。 这是演示代码: 当我用nvfortran -acc -Minfo=accel test.f90编译它并运行时,它显示在设备上数组中的值为 0.0,而不是我在主机端设置的正确值 1.0。 这仅发生在数组中:标量,如示例中所示,具有正确的值。 我想知道这 ...

如何直接(不使用指针作为函数参数)访问 OpenAcc 计算区域中 GPU 上的数组? - How to directly (not using a pointer as a function parameter) access arrays on GPU in OpenAcc compute regions?

我有以下简单的代码,由 4 个文件组成: 它在带有 PGI 19.4 编译器的 CPU 上正常工作。 但我的任务是在 GPU 上启动代码。 我使用 PGI 19.4 + OpenAcc。 使用一个简单的CMakeLists.txt文件和编译行(GPU Nvidia GeForce 650 Ti, ...

带有指针的嵌套类值得openACC - nested classes with pointers woth openACC

我在C ++中有一个相当大的代码,我必须将一些新类集成到基类中,如下所示。 我认为我正在遇到深度复制问题,因为类B的指针无效,因此未定义GPU上代码的行为。 对于在不涉及深层复制问题的情况下如何将类包含在另一个类中的反馈,我将不胜感激。 我怀疑更新设备(此)是由某种原因引起的。 ...

PGI 18.1和PGI 18.4 - PGI 18.1 vs PGI 18.4

关于#pragma例程seq,从PGi版本18.1到18.4有什么变化,我使用的代码在版本18.1上工作正常,但在使用较新版本时却出错。 我使用数学库生成内核。 使用名称空间std; #pragma acc例程double myfunc(double x){return(fabs(x) ...

OpenACC:每个GPU线程都有一个专用数组 - OpenACC: having a private array for every GPU thread

我正在将代码带入GPU。 此代码具有使用私有数组的内核。 这意味着该数组在内核循环内声明。 当我将代码移植到OpenACC时,会得到错误的结果。 对我来说,该数组似乎在GPU向量线程之间共享,这会导致一些竞争情况。 我用外部调用来组织下面的示例,因为这就是我的原始代码的样子。 ...

如何解决pgcc&openacc链接器错误“ __pgi_uacc_multicorestart”,“ __ pgi_uacc_multicoreend” - how to solve pgcc&openacc linker error “__pgi_uacc_multicorestart”, “__pgi_uacc_multicoreend”

我正在尝试在Ubuntu 16.04 LTS上使用OpenACC 2.5将C中的程序并行化。 经过简单的修改(仅添加一行),我可以将所有.c文件编译为.o文件。 在链接步骤中,pgcc编译器显示 未定义对__pgi_uacc_multicorestart的引用 和 ...

如何使用C / OpenACC和PGI编译器声明全局动态数组 - How to declare a global dynamic array with C/OpenACC with PGI compiler

我正在尝试运行一个简单的测试用例,其中动态分配的数组A被外部定义,并使用OpenACC上传到GPU。 全部带有PGI编译器。 我的header.h文件: 然后,我的header.c实现: 然后,在main.c我有 我使用以下命令编译代码: 我的PGI编译器 ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM