我有一個要由OpenACC加速的任務。我需要在內核計算中進行動態內存分配。我爲它構建了一個更簡單的演示,如下所示。 #include <iostream>
using namespace std;
#pragma acc routine seq
int *routine(int init) {
int *ptr;
#pragma acc data create(ptr
我有一個for循環,如果目標硬件是NVIDIA,我希望將其與OpenACC並行化,或者在目標硬件是AMD時串行運行它。我試過如下: #pragma acc loop \
device_type(tesla) parallel \
device_type(radeon) seq
for (int z = 0; z < size_z; ++z)
{
// do stu
當我試圖編譯我的代碼在OpenACC的,它會報告: PGCC-S-0000-Internal compiler error. Call in OpenACC region to support routine - _mp_malloc (/home/lisanhu/mine/ws/C/AccSeqC/as_align.cc: 92)
PGCC-S-0155-Compiler failed to
我知道GCC 6.x有一個體面的OpenACC支持。但我想確定它是否可以在我的電腦上正常工作。我試過 #include <stdio.h>
#include <openacc.h>
int main(int argc, char *argv[])
{
acc_device_t dev = acc_get_device_type();
int num = acc_get_