aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Fadel <samuelfadel@gmail.com>2016-01-18 17:34:07 +0100
committerSamuel Fadel <samuelfadel@gmail.com>2016-01-18 17:34:07 +0100
commit3f82e644c40def869a5b5d294573982cec7b057c (patch)
treeadfe466f1d819b490d2a66e6dff06343b21db22f
parent796fba5f7fa7514719d9c58c99cc2f41cf5ece47 (diff)
ProjectionObserver & dist(): using more cores in computations.
-rw-r--r--dist.cpp1
-rw-r--r--projectionobserver.cpp1
2 files changed, 2 insertions, 0 deletions
diff --git a/dist.cpp b/dist.cpp
index 422aa10..0a241ec 100644
--- a/dist.cpp
+++ b/dist.cpp
@@ -10,6 +10,7 @@ arma::mat mp::dist(const arma::mat &X, mp::DistFunc dfunc)
arma::uword n = X.n_rows;
arma::mat D(n, n, arma::fill::zeros);
+ #pragma omp parallel for shared(X, D)
for (arma::uword i = 0; i < n; i++) {
for (arma::uword j = 0; j < i; j++) {
D(i, j) = dfunc(X.row(i), X.row(j));
diff --git a/projectionobserver.cpp b/projectionobserver.cpp
index 33869a8..781aba9 100644
--- a/projectionobserver.cpp
+++ b/projectionobserver.cpp
@@ -9,6 +9,7 @@ static void aggregatedError(const arma::mat &distX, const arma::mat &distY, arma
double maxX = distX.max();
double maxY = distY.max();
+ #pragma omp parallel for shared(maxX, maxY, distX, distY, v)
for (arma::uword i = 0; i < v.n_elem; i++) {
v[i] = 0;
for (arma::uword j = 0; j < v.n_elem; j++) {