Action #261

Feature #226: Parallelize maximum likelihood computation

Study possible options for parallelization

Added by Knödlseder Jürgen over 12 years ago. Updated over 12 years ago.

Status:ClosedStart date:06/16/2012
Priority:NormalDue date:
Assigned To:-% Done:

100%

Category:-Estimated time:35.00 hours
Target version:Stage Jean-Baptiste Cayrou
Duration:

Description

As a first step of the project we should study the possible options that exists for code parallelization.

We recall the requirements:
  • no code dependencies (use only native C++ features)
  • no limits due to Python Global Interpreter Lock (GIL)
  • support concurrent memory access
  • enabling / disabling during compile time
  • selection of number of cores during setting of environment variable

Recurrence

No recurrence.

History

#1 Updated by Knödlseder Jürgen over 12 years ago

  • Description updated (diff)
  • Estimated time set to 35.00
  • Remaining (hours) set to 35.0

#2 Updated by Anonymous over 12 years ago

  • Status changed from New to In Progress

#4 Updated by Anonymous over 12 years ago

  • Status changed from In Progress to Resolved

#5 Updated by Anonymous over 12 years ago

  • % Done changed from 0 to 100

Finally, I will use the OpenMP API which allow multi-threading just with directive for compiler.
For instance the following directive will share the loop on several threads.

#pragma omp for
for(int i=0;i<n;i++)
{
...
}

It is easy to parallelize a code. When the option is disable the compiler does not care the pragma lignes and it works like for a mono thread code.

Many compilers implement the OpenMP API (with gcc, just add "-fopenmp” to active it).
Moreover it is possible to set the number of thread with an environment variable ( OMP_NUM_THREADS )

#6 Updated by Anonymous over 12 years ago

  • Status changed from Resolved to Closed
  • Remaining (hours) changed from 35.0 to 0.0

#7 Updated by Knödlseder Jürgen over 12 years ago

  • Target version deleted (Stage Jean-Baptiste Cayrou)

#8 Updated by Knödlseder Jürgen over 12 years ago

  • Target version set to Stage Jean-Baptiste Cayrou

Also available in: Atom PDF