0
私は、各スレッドがomp_get_thread_num()
でアクセス可能なスレッドのID番号でアドレス指定されたメモリを管理するようにすることで、CPU上で動作するOpenMPコードを持っています。これはCPU上でうまく動作しますが、GPUでも動作しますか?GPUで `omp_get_thread_num()`を使うことはできますか?
A MWEは次のとおりです。
#include <iostream>
#include <omp.h>
int main(){
const int SIZE = 400000;
int *m;
m = new int[SIZE];
#pragma omp target
{
#pragma omp parallel for
for(int i=0;i<SIZE;i++)
m[i] = omp_get_thread_num();
}
for(int i=0;i<SIZE;i++)
std::cout<<m[i]<<"\n";
}