Commit cb1e1b57 authored by BRAMAS Berenger's avatar BRAMAS Berenger

now omp4 task works

parent e8f00e0a
......@@ -174,7 +174,7 @@ protected:
CellClass* taskCell = octreeIterator.getCurrentCell();
CellClass* taskChild[8];
memcpy(taskChild, octreeIterator.getCurrentChild(), 8*sizeof(CellClass*));
#pragma omp task firstprivate(taskCell, taskChild, idxLevel) depend(inout:taskCell[0]) depend(in:taskChild[0],taskChild[1],taskChild[2],taskChild[3],taskChild[4],taskChild[5],taskChild[6],taskChild[7])
#pragma omp task firstprivate(taskCell, taskChild, idxLevel) depend(inout:taskCell[0]) depend(in:taskChild[0][0],taskChild[1][0],taskChild[2][0],taskChild[3][0],taskChild[4][0],taskChild[5][0],taskChild[6][0],taskChild[7][0])
{
kernels[omp_get_thread_num()]->M2M( taskCell , taskChild, idxLevel);
}
......@@ -230,7 +230,7 @@ protected:
if(counter){
CellClass* taskCell = octreeIterator.getCurrentCell();
#pragma omp task firstprivate(taskCell,taskNeigh, idxLevel, counter) depend(inout:taskCell[0]) depend(in:taskNeigh[0],taskNeigh[1],taskNeigh[2],taskNeigh[3],taskNeigh[4],taskNeigh[5],taskNeigh[6],taskNeigh[7],taskNeigh[8],taskNeigh[9],taskNeigh[10],taskNeigh[11],taskNeigh[12],taskNeigh[13],taskNeigh[14],taskNeigh[15],taskNeigh[16],taskNeigh[17],taskNeigh[18],taskNeigh[19],taskNeigh[20],taskNeigh[21],taskNeigh[22],taskNeigh[23],taskNeigh[24],taskNeigh[25],taskNeigh[26],taskNeigh[27],taskNeigh[28],taskNeigh[29],taskNeigh[30],taskNeigh[31],taskNeigh[32],taskNeigh[33],taskNeigh[34],taskNeigh[35],taskNeigh[36],taskNeigh[37],taskNeigh[38],taskNeigh[39],taskNeigh[40],taskNeigh[41],taskNeigh[42],taskNeigh[43],taskNeigh[44],taskNeigh[45],taskNeigh[46],taskNeigh[47],taskNeigh[48],taskNeigh[49],taskNeigh[50],taskNeigh[51],taskNeigh[52],taskNeigh[53],taskNeigh[54],taskNeigh[55],taskNeigh[56],taskNeigh[57],taskNeigh[58],taskNeigh[59],taskNeigh[60],taskNeigh[61],taskNeigh[62],taskNeigh[63],taskNeigh[64],taskNeigh[65],taskNeigh[66],taskNeigh[67],taskNeigh[68],taskNeigh[69],taskNeigh[70],taskNeigh[71],taskNeigh[72],taskNeigh[73],taskNeigh[74],taskNeigh[75],taskNeigh[76],taskNeigh[77],taskNeigh[78],taskNeigh[79],taskNeigh[80],taskNeigh[81],taskNeigh[82],taskNeigh[83],taskNeigh[84],taskNeigh[85],taskNeigh[86],taskNeigh[87],taskNeigh[88],taskNeigh[89],taskNeigh[90],taskNeigh[91],taskNeigh[92],taskNeigh[93],taskNeigh[94],taskNeigh[95],taskNeigh[96],taskNeigh[97],taskNeigh[98],taskNeigh[99],taskNeigh[100],taskNeigh[101],taskNeigh[102],taskNeigh[103],taskNeigh[104],taskNeigh[105],taskNeigh[106],taskNeigh[107],taskNeigh[108],taskNeigh[109],taskNeigh[110],taskNeigh[111],taskNeigh[112],taskNeigh[113],taskNeigh[114],taskNeigh[115],taskNeigh[116],taskNeigh[117],taskNeigh[118],taskNeigh[119],taskNeigh[120],taskNeigh[121],taskNeigh[122],taskNeigh[123],taskNeigh[124],taskNeigh[125],taskNeigh[126],taskNeigh[127],taskNeigh[128],taskNeigh[129],taskNeigh[130],taskNeigh[131],taskNeigh[132],taskNeigh[133],taskNeigh[134],taskNeigh[135],taskNeigh[136],taskNeigh[137],taskNeigh[138],taskNeigh[139],taskNeigh[140],taskNeigh[141],taskNeigh[142],taskNeigh[143],taskNeigh[144],taskNeigh[145],taskNeigh[146],taskNeigh[147],taskNeigh[148],taskNeigh[149],taskNeigh[150],taskNeigh[151],taskNeigh[152],taskNeigh[153],taskNeigh[154],taskNeigh[155],taskNeigh[156],taskNeigh[157],taskNeigh[158],taskNeigh[159],taskNeigh[160],taskNeigh[161],taskNeigh[162],taskNeigh[163],taskNeigh[164],taskNeigh[165],taskNeigh[166],taskNeigh[167],taskNeigh[168],taskNeigh[169],taskNeigh[170],taskNeigh[171],taskNeigh[172],taskNeigh[173],taskNeigh[174],taskNeigh[175],taskNeigh[176],taskNeigh[177],taskNeigh[178],taskNeigh[179],taskNeigh[180],taskNeigh[181],taskNeigh[182],taskNeigh[183],taskNeigh[184],taskNeigh[185],taskNeigh[186],taskNeigh[187],taskNeigh[188],taskNeigh[189],taskNeigh[190],taskNeigh[191],taskNeigh[192],taskNeigh[193],taskNeigh[194],taskNeigh[195],taskNeigh[196],taskNeigh[197],taskNeigh[198],taskNeigh[199],taskNeigh[200],taskNeigh[201],taskNeigh[202],taskNeigh[203],taskNeigh[204],taskNeigh[205],taskNeigh[206],taskNeigh[207],taskNeigh[208],taskNeigh[209],taskNeigh[210],taskNeigh[211],taskNeigh[212],taskNeigh[213],taskNeigh[214],taskNeigh[215],taskNeigh[216],taskNeigh[217],taskNeigh[218],taskNeigh[219],taskNeigh[220],taskNeigh[221],taskNeigh[222],taskNeigh[223],taskNeigh[224],taskNeigh[225],taskNeigh[226],taskNeigh[227],taskNeigh[228],taskNeigh[229],taskNeigh[230],taskNeigh[231],taskNeigh[232],taskNeigh[233],taskNeigh[234],taskNeigh[235],taskNeigh[236],taskNeigh[237],taskNeigh[238],taskNeigh[239],taskNeigh[240],taskNeigh[241],taskNeigh[242],taskNeigh[243],taskNeigh[244],taskNeigh[245],taskNeigh[246],taskNeigh[247],taskNeigh[248],taskNeigh[249],taskNeigh[250],taskNeigh[251],taskNeigh[252],taskNeigh[253],taskNeigh[254],taskNeigh[255],taskNeigh[256],taskNeigh[257],taskNeigh[258],taskNeigh[259],taskNeigh[260],taskNeigh[261],taskNeigh[262],taskNeigh[263],taskNeigh[264],taskNeigh[265],taskNeigh[266],taskNeigh[267],taskNeigh[268],taskNeigh[269],taskNeigh[270],taskNeigh[271],taskNeigh[272],taskNeigh[273],taskNeigh[274],taskNeigh[275],taskNeigh[276],taskNeigh[277],taskNeigh[278],taskNeigh[279],taskNeigh[280],taskNeigh[281],taskNeigh[282],taskNeigh[283],taskNeigh[284],taskNeigh[285],taskNeigh[286],taskNeigh[287],taskNeigh[288],taskNeigh[289],taskNeigh[290],taskNeigh[291],taskNeigh[292],taskNeigh[293],taskNeigh[294],taskNeigh[295],taskNeigh[296],taskNeigh[297],taskNeigh[298],taskNeigh[299],taskNeigh[300],taskNeigh[301],taskNeigh[302],taskNeigh[303],taskNeigh[304],taskNeigh[305],taskNeigh[306],taskNeigh[307],taskNeigh[308],taskNeigh[309],taskNeigh[310],taskNeigh[311],taskNeigh[312],taskNeigh[313],taskNeigh[314],taskNeigh[315],taskNeigh[316],taskNeigh[317],taskNeigh[318],taskNeigh[319],taskNeigh[320],taskNeigh[321],taskNeigh[322],taskNeigh[323],taskNeigh[324],taskNeigh[325],taskNeigh[326],taskNeigh[327],taskNeigh[328],taskNeigh[329],taskNeigh[330],taskNeigh[331],taskNeigh[332],taskNeigh[333],taskNeigh[334],taskNeigh[335],taskNeigh[336],taskNeigh[337],taskNeigh[338],taskNeigh[339],taskNeigh[340],taskNeigh[341],taskNeigh[342])
#pragma omp task firstprivate(taskCell,taskNeigh, idxLevel, counter) depend(inout:taskCell[0]) depend(in:taskNeigh[0][0],taskNeigh[1][0],taskNeigh[2][0],taskNeigh[3][0],taskNeigh[4][0],taskNeigh[5][0],taskNeigh[6][0],taskNeigh[7][0],taskNeigh[8][0],taskNeigh[9][0],taskNeigh[10][0],taskNeigh[11][0],taskNeigh[12][0],taskNeigh[13][0],taskNeigh[14][0],taskNeigh[15][0],taskNeigh[16][0],taskNeigh[17][0],taskNeigh[18][0],taskNeigh[19][0],taskNeigh[20][0],taskNeigh[21][0],taskNeigh[22][0],taskNeigh[23][0],taskNeigh[24][0],taskNeigh[25][0],taskNeigh[26][0],taskNeigh[27][0],taskNeigh[28][0],taskNeigh[29][0],taskNeigh[30][0],taskNeigh[31][0],taskNeigh[32][0],taskNeigh[33][0],taskNeigh[34][0],taskNeigh[35][0],taskNeigh[36][0],taskNeigh[37][0],taskNeigh[38][0],taskNeigh[39][0],taskNeigh[40][0],taskNeigh[41][0],taskNeigh[42][0],taskNeigh[43][0],taskNeigh[44][0],taskNeigh[45][0],taskNeigh[46][0],taskNeigh[47][0],taskNeigh[48][0],taskNeigh[49][0],taskNeigh[50][0],taskNeigh[51][0],taskNeigh[52][0],taskNeigh[53][0],taskNeigh[54][0],taskNeigh[55][0],taskNeigh[56][0],taskNeigh[57][0],taskNeigh[58][0],taskNeigh[59][0],taskNeigh[60][0],taskNeigh[61][0],taskNeigh[62][0],taskNeigh[63][0],taskNeigh[64][0],taskNeigh[65][0],taskNeigh[66][0],taskNeigh[67][0],taskNeigh[68][0],taskNeigh[69][0],taskNeigh[70][0],taskNeigh[71][0],taskNeigh[72][0],taskNeigh[73][0],taskNeigh[74][0],taskNeigh[75][0],taskNeigh[76][0],taskNeigh[77][0],taskNeigh[78][0],taskNeigh[79][0],taskNeigh[80][0],taskNeigh[81][0],taskNeigh[82][0],taskNeigh[83][0],taskNeigh[84][0],taskNeigh[85][0],taskNeigh[86][0],taskNeigh[87][0],taskNeigh[88][0],taskNeigh[89][0],taskNeigh[90][0],taskNeigh[91][0],taskNeigh[92][0],taskNeigh[93][0],taskNeigh[94][0],taskNeigh[95][0],taskNeigh[96][0],taskNeigh[97][0],taskNeigh[98][0],taskNeigh[99][0],taskNeigh[100][0],taskNeigh[101][0],taskNeigh[102][0],taskNeigh[103][0],taskNeigh[104][0],taskNeigh[105][0],taskNeigh[106][0],taskNeigh[107][0],taskNeigh[108][0],taskNeigh[109][0],taskNeigh[110][0],taskNeigh[111][0],taskNeigh[112][0],taskNeigh[113][0],taskNeigh[114][0],taskNeigh[115][0],taskNeigh[116][0],taskNeigh[117][0],taskNeigh[118][0],taskNeigh[119][0],taskNeigh[120][0],taskNeigh[121][0],taskNeigh[122][0],taskNeigh[123][0],taskNeigh[124][0],taskNeigh[125][0],taskNeigh[126][0],taskNeigh[127][0],taskNeigh[128][0],taskNeigh[129][0],taskNeigh[130][0],taskNeigh[131][0],taskNeigh[132][0],taskNeigh[133][0],taskNeigh[134][0],taskNeigh[135][0],taskNeigh[136][0],taskNeigh[137][0],taskNeigh[138][0],taskNeigh[139][0],taskNeigh[140][0],taskNeigh[141][0],taskNeigh[142][0],taskNeigh[143][0],taskNeigh[144][0],taskNeigh[145][0],taskNeigh[146][0],taskNeigh[147][0],taskNeigh[148][0],taskNeigh[149][0],taskNeigh[150][0],taskNeigh[151][0],taskNeigh[152][0],taskNeigh[153][0],taskNeigh[154][0],taskNeigh[155][0],taskNeigh[156][0],taskNeigh[157][0],taskNeigh[158][0],taskNeigh[159][0],taskNeigh[160][0],taskNeigh[161][0],taskNeigh[162][0],taskNeigh[163][0],taskNeigh[164][0],taskNeigh[165][0],taskNeigh[166][0],taskNeigh[167][0],taskNeigh[168][0],taskNeigh[169][0],taskNeigh[170][0],taskNeigh[171][0],taskNeigh[172][0],taskNeigh[173][0],taskNeigh[174][0],taskNeigh[175][0],taskNeigh[176][0],taskNeigh[177][0],taskNeigh[178][0],taskNeigh[179][0],taskNeigh[180][0],taskNeigh[181][0],taskNeigh[182][0],taskNeigh[183][0],taskNeigh[184][0],taskNeigh[185][0],taskNeigh[186][0],taskNeigh[187][0],taskNeigh[188][0],taskNeigh[189][0],taskNeigh[190][0],taskNeigh[191][0],taskNeigh[192][0],taskNeigh[193][0],taskNeigh[194][0],taskNeigh[195][0],taskNeigh[196][0],taskNeigh[197][0],taskNeigh[198][0],taskNeigh[199][0],taskNeigh[200][0],taskNeigh[201][0],taskNeigh[202][0],taskNeigh[203][0],taskNeigh[204][0],taskNeigh[205][0],taskNeigh[206][0],taskNeigh[207][0],taskNeigh[208][0],taskNeigh[209][0],taskNeigh[210][0],taskNeigh[211][0],taskNeigh[212][0],taskNeigh[213][0],taskNeigh[214][0],taskNeigh[215][0],taskNeigh[216][0],taskNeigh[217][0],taskNeigh[218][0],taskNeigh[219][0],taskNeigh[220][0],taskNeigh[221][0],taskNeigh[222][0],taskNeigh[223][0],taskNeigh[224][0],taskNeigh[225][0],taskNeigh[226][0],taskNeigh[227][0],taskNeigh[228][0],taskNeigh[229][0],taskNeigh[230][0],taskNeigh[231][0],taskNeigh[232][0],taskNeigh[233][0],taskNeigh[234][0],taskNeigh[235][0],taskNeigh[236][0],taskNeigh[237][0],taskNeigh[238][0],taskNeigh[239][0],taskNeigh[240][0],taskNeigh[241][0],taskNeigh[242][0],taskNeigh[243][0],taskNeigh[244][0],taskNeigh[245][0],taskNeigh[246][0],taskNeigh[247][0],taskNeigh[248][0],taskNeigh[249][0],taskNeigh[250][0],taskNeigh[251][0],taskNeigh[252][0],taskNeigh[253][0],taskNeigh[254][0],taskNeigh[255][0],taskNeigh[256][0],taskNeigh[257][0],taskNeigh[258][0],taskNeigh[259][0],taskNeigh[260][0],taskNeigh[261][0],taskNeigh[262][0],taskNeigh[263][0],taskNeigh[264][0],taskNeigh[265][0],taskNeigh[266][0],taskNeigh[267][0],taskNeigh[268][0],taskNeigh[269][0],taskNeigh[270][0],taskNeigh[271][0],taskNeigh[272][0],taskNeigh[273][0],taskNeigh[274][0],taskNeigh[275][0],taskNeigh[276][0],taskNeigh[277][0],taskNeigh[278][0],taskNeigh[279][0],taskNeigh[280][0],taskNeigh[281][0],taskNeigh[282][0],taskNeigh[283][0],taskNeigh[284][0],taskNeigh[285][0],taskNeigh[286][0],taskNeigh[287][0],taskNeigh[288][0],taskNeigh[289][0],taskNeigh[290][0],taskNeigh[291][0],taskNeigh[292][0],taskNeigh[293][0],taskNeigh[294][0],taskNeigh[295][0],taskNeigh[296][0],taskNeigh[297][0],taskNeigh[298][0],taskNeigh[299][0],taskNeigh[300][0],taskNeigh[301][0],taskNeigh[302][0],taskNeigh[303][0],taskNeigh[304][0],taskNeigh[305][0],taskNeigh[306][0],taskNeigh[307][0],taskNeigh[308][0],taskNeigh[309][0],taskNeigh[310][0],taskNeigh[311][0],taskNeigh[312][0],taskNeigh[313][0],taskNeigh[314][0],taskNeigh[315][0],taskNeigh[316][0],taskNeigh[317][0],taskNeigh[318][0],taskNeigh[319][0],taskNeigh[320][0],taskNeigh[321][0],taskNeigh[322][0],taskNeigh[323][0],taskNeigh[324][0],taskNeigh[325][0],taskNeigh[326][0],taskNeigh[327][0],taskNeigh[328][0],taskNeigh[329][0],taskNeigh[330][0],taskNeigh[331][0],taskNeigh[332][0],taskNeigh[333][0],taskNeigh[334][0],taskNeigh[335][0],taskNeigh[336][0],taskNeigh[337][0],taskNeigh[338][0],taskNeigh[339][0],taskNeigh[340][0],taskNeigh[341][0],taskNeigh[342][0])
{
if(counter){
kernels[omp_get_thread_num()]->M2L( taskCell, taskNeigh, counter, idxLevel);
......@@ -277,7 +277,7 @@ protected:
CellClass* taskChild[8];
memcpy(taskChild, octreeIterator.getCurrentChild(), 8*sizeof(CellClass*));
#pragma omp task firstprivate(taskCell, taskChild, idxLevel) depend(in:taskCell[0]) depend(inout:taskChild[0],taskChild[1],taskChild[2],taskChild[3],taskChild[4],taskChild[5],taskChild[6],taskChild[7])
#pragma omp task firstprivate(taskCell, taskChild, idxLevel) depend(in:taskCell[0]) depend(inout:taskChild[0][0],taskChild[1][0],taskChild[2][0],taskChild[3][0],taskChild[4][0],taskChild[5][0],taskChild[6][0],taskChild[7][0])
{
kernels[omp_get_thread_num()]->L2L( taskCell , taskChild, idxLevel);
}
......@@ -334,14 +334,14 @@ protected:
const FTreeCoordinate coord = octreeIterator.getCurrentGlobalCoordinate();
if(taskParticlesTgt == taskParticlesSrc){
#pragma omp task firstprivate(neighbors, counter, taskParticlesTgt, coord) depend(inout:taskParticlesTgt[0],neighbors[0],neighbors[1],neighbors[2],neighbors[3],neighbors[4],neighbors[5],neighbors[6],neighbors[7],neighbors[8],neighbors[9],neighbors[10],neighbors[11],neighbors[12],neighbors[13],neighbors[14],neighbors[15],neighbors[16],neighbors[17],neighbors[18],neighbors[19],neighbors[20],neighbors[21],neighbors[22],neighbors[23],neighbors[24],neighbors[25],neighbors[26])
#pragma omp task firstprivate(neighbors, counter, taskParticlesTgt, coord) depend(inout:taskParticlesTgt[0],neighbors[0][0],neighbors[1][0],neighbors[2][0],neighbors[3][0],neighbors[4][0],neighbors[5][0],neighbors[6][0],neighbors[7][0],neighbors[8][0],neighbors[9][0],neighbors[10][0],neighbors[11][0],neighbors[12][0],neighbors[13][0],neighbors[14][0],neighbors[15][0],neighbors[16][0],neighbors[17][0],neighbors[18][0],neighbors[19][0],neighbors[20][0],neighbors[21][0],neighbors[22][0],neighbors[23][0],neighbors[24][0],neighbors[25][0],neighbors[26][0])
{
kernels[omp_get_thread_num()]->P2P(coord, taskParticlesTgt,
taskParticlesTgt, neighbors, counter);
}
}
else{
#pragma omp task firstprivate(neighbors, counter, taskParticlesTgt, taskParticlesSrc, coord) depend(inout:taskParticlesTgt[0]) depend(in:taskParticlesSrc[0],neighbors[0],neighbors[1],neighbors[2],neighbors[3],neighbors[4],neighbors[5],neighbors[6],neighbors[7],neighbors[8],neighbors[9],neighbors[10],neighbors[11],neighbors[12],neighbors[13],neighbors[14],neighbors[15],neighbors[16],neighbors[17],neighbors[18],neighbors[19],neighbors[20],neighbors[21],neighbors[22],neighbors[23],neighbors[24],neighbors[25],neighbors[26])
#pragma omp task firstprivate(neighbors, counter, taskParticlesTgt, taskParticlesSrc, coord) depend(inout:taskParticlesTgt[0]) depend(in:taskParticlesSrc[0],neighbors[0][0],neighbors[1][0],neighbors[2][0],neighbors[3][0],neighbors[4][0],neighbors[5][0],neighbors[6][0],neighbors[7][0],neighbors[8][0],neighbors[9][0],neighbors[10][0],neighbors[11][0],neighbors[12][0],neighbors[13][0],neighbors[14][0],neighbors[15][0],neighbors[16][0],neighbors[17][0],neighbors[18][0],neighbors[19][0],neighbors[20][0],neighbors[21][0],neighbors[22][0],neighbors[23][0],neighbors[24][0],neighbors[25][0],neighbors[26][0])
{
kernels[omp_get_thread_num()]->P2P(coord, taskParticlesTgt,
taskParticlesSrc, neighbors, counter);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment