Action #261
Feature #226: Parallelize maximum likelihood computation
Study possible options for parallelization
Status: | Closed | Start date: | 06/16/2012 | |
---|---|---|---|---|
Priority: | Normal | Due 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
#3 Updated by Anonymous over 12 years ago
#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