changeset 347:eee4c7fd15ab

Annoyingly, getting crashes in the tester when using C++11 futures -- for now simply disable that, but it'll need looking into
author Chris Cannam
date Wed, 12 Aug 2015 16:03:53 +0100
parents 5acce45e2ec6
children b69a0927e994
files Makefile.inc src/Silvet.cpp
diffstat 2 files changed, 3 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile.inc	Wed Aug 12 16:01:58 2015 +0100
+++ b/Makefile.inc	Wed Aug 12 16:03:53 2015 +0100
@@ -13,7 +13,7 @@
 CC	?= gcc
 
 CFLAGS := $(CFLAGS)
-CXXFLAGS := $(CFLAGS) -I. -I$(VAMPSDK_DIR) -I$(CQ_DIR) -I$(BQVEC_DIR) -I$(BQVEC_DIR) -I$(FD_DIR) $(CXXFLAGS)
+CXXFLAGS := $(CFLAGS) -I. -I$(VAMPSDK_DIR) -I$(CQ_DIR) -I$(BQVEC_DIR) -I$(BQVEC_DIR) -I$(FD_DIR) $(CXXFLAGS) -DMAX_EM_THREADS=1
 
 LDFLAGS := $(LDFLAGS) 
 PLUGIN_LDFLAGS := $(LDFLAGS) $(PLUGIN_LDFLAGS)
--- a/src/Silvet.cpp	Wed Aug 12 16:01:58 2015 +0100
+++ b/src/Silvet.cpp	Wed Aug 12 16:03:53 2015 +0100
@@ -743,6 +743,7 @@
             typedef future<pair<vector<double>, vector<int>>> EMFuture;
             vector<EMFuture> results;
             for (int j = 0; j < emThreadCount && i + j < width; ++j) {
+                cerr << "creating future " << j << " (i = " << i << ", width = " << width << ")" << endl;
                 results.push_back
                     (async(std::launch::async,
                            [&](int index) {
@@ -750,6 +751,7 @@
                            }, i + j));
             }
             for (int j = 0; j < emThreadCount && i + j < width; ++j) {
+                cerr << "reaping future " << j << " (i = " << i << ", width = " << width << ")" << endl;
                 auto out = results[j].get();
                 localPitches[i+j] = out.first;
                 if (wantShifts) localBestShifts[i+j] = out.second;