У меня есть следующий цикл для вложенного цикла, и я хотел бы перенести его на CUDA для запуска на графическом процессоре
int current=0;
int ptr=0;
for (int i=0; i < Nbeans; i++){
for(int j=0;j< NbeamletsPerbeam[i];j++){
current = j + ptr;
for(int k=0;k<Nmax;k++){
......
}
ptr+=NbeamletsPerbeam[i];
}
}
Я был бы очень рад, если бы у кого-нибудь было представление о том, как это сделатьили как это можно сделать.Мы говорим о Nbeams = 5, NbeamletsPerBeam около 200 каждый.
Это то, что у меня сейчас есть, но я не уверен, что это правильно ...
for (int i= blockIdx.x; i < d_params->Nbeams; i += gridDim.x){
for (int j= threadIdx.y; j < d_beamletsPerBeam[i]; j+= blockDim.y){
currentBeamlet= j+k;
for (int ivoxel= threadIdx.x; ivoxel < totalVoxels; ivoxel += blockDim.x){