* eoParallel: added the call to omp_set_num_threads to define the number of threads with parameters
This commit is contained in:
parent
534b8a73ad
commit
2044d92eff
3 changed files with 22 additions and 2 deletions
|
|
@ -44,8 +44,6 @@ void apply(eoUF<EOT&, void>& _proc, std::vector<EOT>& _pop)
|
||||||
|
|
||||||
#ifdef _OPENMP
|
#ifdef _OPENMP
|
||||||
|
|
||||||
omp_set_num_threads(eo::parallel.nthreads());
|
|
||||||
|
|
||||||
double t1 = omp_get_wtime();
|
double t1 = omp_get_wtime();
|
||||||
|
|
||||||
if (!eo::parallel.isDynamic())
|
if (!eo::parallel.isDynamic())
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,8 @@ Caner Candan <caner.candan@thalesgroup.com>
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <omp.h>
|
||||||
|
|
||||||
#include "eoParallel.h"
|
#include "eoParallel.h"
|
||||||
|
|
||||||
eoParallel::eoParallel() :
|
eoParallel::eoParallel() :
|
||||||
|
|
@ -74,6 +76,16 @@ void eoParallel::_createParameters( eoParser& parser )
|
||||||
void make_parallel(eoParser& parser)
|
void make_parallel(eoParser& parser)
|
||||||
{
|
{
|
||||||
eo::parallel._createParameters( parser );
|
eo::parallel._createParameters( parser );
|
||||||
|
|
||||||
|
#ifdef _OPENMP
|
||||||
|
if ( eo::parallel.isEnabled() )
|
||||||
|
{
|
||||||
|
if ( eo::parallel.nthreads() > 0 )
|
||||||
|
{
|
||||||
|
omp_set_num_threads( eo::parallel.nthreads() );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif // !_OPENMP
|
||||||
}
|
}
|
||||||
|
|
||||||
eoParallel eo::parallel;
|
eoParallel eo::parallel;
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@
|
||||||
// t-eoParallel.cpp
|
// t-eoParallel.cpp
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#include <omp.h>
|
||||||
|
|
||||||
#include <eo>
|
#include <eo>
|
||||||
#include <es/make_real.h>
|
#include <es/make_real.h>
|
||||||
//#include <apply.h>
|
//#include <apply.h>
|
||||||
|
|
@ -40,6 +42,14 @@ int main(int ac, char** av)
|
||||||
|
|
||||||
eo::log << eo::quiet << "DONE!" << std::endl;
|
eo::log << eo::quiet << "DONE!" << std::endl;
|
||||||
|
|
||||||
|
#pragma omp parallel
|
||||||
|
{
|
||||||
|
if ( 0 == omp_get_thread_num() )
|
||||||
|
{
|
||||||
|
eo::log << "num of threads: " << omp_get_num_threads() << std::endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Reference in a new issue