diff --git a/src/engine.c b/src/engine.c index a8a5b1c37bca38aecbb9b0df6dbc4e359db50a77..4c3fead936eee85af2a82ef12cf6ef49f3a25e6d 100644 --- a/src/engine.c +++ b/src/engine.c @@ -495,7 +495,20 @@ void engine_step ( struct engine *e , int sort_queues ) { /* First kick. */ TIMER_TIC - space_map_cells_post( e->s , 1 , &engine_map_kick_first , e ); + // space_map_cells_post( e->s , 1 , &engine_map_kick_first , e ); + k = 0; + #pragma omp parallel shared(k,e) + { + int myk; + while ( 1 ) { + #pragma omp critical + myk = k++; + if ( myk < e->s->nr_cells ) + engine_map_kick_first( &e->s->cells[myk] , e ); + else + break; + } + } TIMER_TOC( timer_kick1 ); // for(k=0; k<10; ++k)