[med-svn] [SCM] aghermann branch, master, updated. 4f7a3b774136ffffbaf9b05d90bd568347bc5461

andrei zavada johnhommer at gmail.com
Fri Nov 16 00:50:39 UTC 2012


The following commit has been merged in the master branch:
commit bc2f6be95682dc984f7f8f1241acf901b3b5ca5e
Author: andrei zavada <johnhommer at gmail.com>
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



More information about the debian-med-commit mailing list