The following commit has been merged in the master branch:
commit bc2f6be95682dc984f7f8f1241acf901b3b5ca5e
Author: andrei zavada <[email protected]>
Date: Sun Oct 28 23:02:00 2012 +0200
omp tweaks, quite elusive at that
diff --git a/src/expdesign/primaries-tree-scanner.cc
b/src/expdesign/primaries-tree-scanner.cc
index 9461212..2145dc0 100644
--- a/src/expdesign/primaries-tree-scanner.cc
+++ b/src/expdesign/primaries-tree-scanner.cc
@@ -314,6 +314,7 @@ scan_tree( TMsmtCollectProgressIndicatorFun
user_progress_fun)
list<string> complete_episode_set = enumerate_episodes();
size_t n_episodes = complete_episode_set.size();
+#pragma omp flush
for ( auto &G : groups )
for ( auto &J : G.second )
startover:
diff --git a/src/expdesign/primaries.cc b/src/expdesign/primaries.cc
index 953c053..8af096a 100644
--- a/src/expdesign/primaries.cc
+++ b/src/expdesign/primaries.cc
@@ -137,7 +137,7 @@ for_all_subjects( const TSubjectOpFun& F, const
TSubjectReportFun& report, const
v.emplace_back( make_tuple(&G.second, &J));
size_t global_i = 0;
#ifdef _OPENMP
-#pragma omp parallel for
+#pragma omp parallel for schedule(guided)
#endif
for ( size_t i = 0; i < v.size(); ++i ) {
#ifdef _OPENMP
@@ -168,7 +168,7 @@ for_all_episodes( const TEpisodeOpFun& F, const
TEpisodeReportFun& report, const
v.emplace_back(
make_tuple(&G.second, &J, &M.first, &E));
size_t global_i = 0;
#ifdef _OPENMP
-#pragma omp parallel for
+#pragma omp parallel for schedule(guided)
#endif
for ( size_t i = 0; i < v.size(); ++i ) {
#ifdef _OPENMP
@@ -204,7 +204,8 @@ for_all_recordings( const TRecordingOpFun& F, const
TRecordingReportFun& report,
&R.second));
size_t global_i = 0;
#ifdef _OPENMP
-#pragma omp parallel for
+// read that man, bro
+#pragma omp parallel for schedule(guided)
#endif
for ( size_t i = 0; i < v.size(); ++i ) {
#ifdef _OPENMP
@@ -245,7 +246,7 @@ for_all_modruns( const TModelRunOpFun& F, const
TModelRunReportFun& report, cons
&Q.second));
size_t global_i = 0;
#ifdef _OPENMP
-#pragma omp parallel for
+#pragma omp parallel for schedule(guided)
#endif
for ( size_t i = 0; i < v.size(); ++i ) {
#ifdef _OPENMP
--
Sleep experiment manager
_______________________________________________
debian-med-commit mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-commit