Commit 21680271 authored by berenger-bramas's avatar berenger-bramas
Browse files

Add nowait into other thread FMM (Target/Source Model and Unsafe model)

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/scalfmm/scalfmm/trunk@133 2616d619-271b-44dc-8df4-d4a8f33a7222
parent 8084878e
......@@ -783,7 +783,7 @@ public:
#pragma omp parallel
{
Kernel * const myThreadkernels = kernels[omp_get_thread_num()];
#pragma omp for
#pragma omp for nowait
for(int idxCell = startIdx ; idxCell < endIdx ; ++idxCell){
myThreadkernels->L2L( iterArray[idxCell].getCurrentCell() , iterArray[idxCell].getCurrentChild(), idxLevel);
}
......
......@@ -124,7 +124,7 @@ public:
#pragma omp parallel
{
Kernel * const myThreadkernels = kernels[omp_get_thread_num()];
#pragma omp for
#pragma omp for nowait
for(int idxLeafs = 0 ; idxLeafs < numberOfLeafs ; ++idxLeafs){
// We need the current cell that represent the leaf
// and the list of particles
......@@ -174,7 +174,7 @@ public:
#pragma omp parallel
{
Kernel * const myThreadkernels = kernels[omp_get_thread_num()];
#pragma omp for
#pragma omp for nowait
for(int idxCell = 0 ; idxCell < numberOfCells ; ++idxCell){
// We need the current cell and the child
// child is an array (of 8 child) that may be null
......@@ -235,7 +235,7 @@ public:
Kernel * const myThreadkernels = kernels[omp_get_thread_num()];
const CellClass* neighbors[208];
#pragma omp for
#pragma omp for nowait
for(int idxCell = 0 ; idxCell < numberOfCells ; ++idxCell){
CellClass* const currentCell = iterArray[idxCell].getCurrentCell();
if(currentCell->hasTargetsChild()){
......@@ -289,7 +289,7 @@ public:
#pragma omp parallel
{
Kernel * const myThreadkernels = kernels[omp_get_thread_num()];
#pragma omp for
#pragma omp for nowait
for(int idxCell = 0 ; idxCell < numberOfCells ; ++idxCell){
CellClass* potentialChild[8];
CellClass** const realChild = iterArray[idxCell].getCurrentChild();
......@@ -339,7 +339,7 @@ public:
// There is a maximum of 26 neighbors
ContainerClass<ParticleClass>* neighbors[26];
#pragma omp for
#pragma omp for schedule(dynamic)
for(int idxLeafs = 0 ; idxLeafs < numberOfLeafs ; ++idxLeafs){
myThreadkernels->L2P(iterArray[idxLeafs].getCurrentCell(), iterArray[idxLeafs].getCurrentListTargets());
// need the current particles and neighbors particles
......
......@@ -128,7 +128,7 @@ public:
#pragma omp parallel
{
Kernel * const myThreadkernels = kernels[omp_get_thread_num()];
#pragma omp for
#pragma omp for nowait
for(int idxLeafs = 0 ; idxLeafs < numberOfLeafs ; ++idxLeafs){
// We need the current cell that represent the leaf
// and the list of particles
......@@ -170,7 +170,7 @@ public:
#pragma omp parallel
{
Kernel * const myThreadkernels = kernels[omp_get_thread_num()];
#pragma omp for
#pragma omp for nowait
for(int idxCell = 0 ; idxCell < numberOfCells ; ++idxCell){
// We need the current cell and the child
// child is an array (of 8 child) that may be null
......@@ -215,7 +215,7 @@ public:
Kernel * const myThreadkernels = kernels[omp_get_thread_num()];
CellClass* neighbors[208];
#pragma omp for
#pragma omp for nowait
for(int idxCell = 0 ; idxCell < numberOfCells ; ++idxCell){
const int counter = tree->getDistantNeighbors(neighbors, iterArray[idxCell].getCurrentGlobalCoordinate(),idxLevel);
if(counter) myThreadkernels->M2L( iterArray[idxCell].getCurrentCell() , neighbors, counter, idxLevel);
......@@ -253,7 +253,7 @@ public:
#pragma omp parallel
{
Kernel * const myThreadkernels = kernels[omp_get_thread_num()];
#pragma omp for
#pragma omp for nowait
for(int idxCell = 0 ; idxCell < numberOfCells ; ++idxCell){
myThreadkernels->L2L( iterArray[idxCell].getCurrentCell() , iterArray[idxCell].getCurrentChild(), idxLevel);
}
......@@ -292,7 +292,7 @@ public:
// There is a maximum of 26 neighbors
ContainerClass<ParticleClass>* neighbors[26];
#pragma omp for
#pragma omp for schedule(dynamic)
for(int idxLeafs = 0 ; idxLeafs < numberOfLeafs ; ++idxLeafs){
myThreadkernels->L2P(iterArray[idxLeafs].getCurrentCell(), iterArray[idxLeafs].getCurrentListTargets());
// need the current particles and neighbors particles
......
Supports Markdown
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