diff --git a/.github/workflows/make_release.yml b/.github/workflows/make_release.yml index 50f374b..fda4e3b 100644 --- a/.github/workflows/make_release.yml +++ b/.github/workflows/make_release.yml @@ -9,7 +9,7 @@ on: jobs: build_linux-x86_64: runs-on: ubuntu-latest - container: phusion/holy-build-box-64:3.0.2 + container: phusion/holy-build-box:4.0.1 steps: - name: Install wget id: install-wget @@ -125,4 +125,4 @@ jobs: fail_on_unmatched_files: true generate_release_notes: true files: | - mSWEEP-*.tar.gz \ No newline at end of file + mSWEEP-*.tar.gz diff --git a/CMakeLists.txt b/CMakeLists.txt index f8564f4..1ce21cc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -243,7 +243,7 @@ if (DEFINED CMAKE_TELESCOPE_LIBRARY AND DEFINED CMAKE_TELESCOPE_HEADERS) else() FetchContent_Declare(telescope GIT_REPOSITORY https://github.com/tmaklin/telescope.git - GIT_TAG v0.7.0-prerelease + GIT_TAG v0.7.3 PREFIX "external" SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/external/telescope" BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/external/telescope" diff --git a/include/Likelihood.hpp b/include/Likelihood.hpp index 73046bd..88d0926 100644 --- a/include/Likelihood.hpp +++ b/include/Likelihood.hpp @@ -135,7 +135,6 @@ class LL_WOR21 : public Likelihood { const seamat::DenseMatrix &precalc_lls_mat = this->precalc_lls(masked_group_sizes, n_masked_groups); this->log_likelihoods.resize(n_masked_groups, num_ecs, std::log(this->zero_inflation)); -#pragma omp parallel for schedule(static) shared(precalc_lls_mat) for (size_t j = 0; j < num_ecs; ++j) { size_t groups_pos = 0; for (size_t i = 0; i < n_groups; ++i) { diff --git a/src/Sample.cpp b/src/Sample.cpp index 2fd4127..0a524b1 100644 --- a/src/Sample.cpp +++ b/src/Sample.cpp @@ -101,6 +101,7 @@ void Sample::dirichlet_kld(const std::vector &log_ec_hit_counts) { size_t cols = this->get_probs().get_cols(); std::vector alphas(rows, 0.0); +#pragma omp parallel for schedule(static) for (size_t i = 0; i < rows; ++i) { for (size_t j = 0; j < cols; ++j) { size_t num_hits = std::round(std::exp(log_ec_hit_counts[j])); @@ -111,11 +112,13 @@ void Sample::dirichlet_kld(const std::vector &log_ec_hit_counts) { } double alpha0 = 0.0; +#pragma omp parallel for schedule(static) reduction(+:alpha0) for (size_t i = 0; i < rows; ++i) { alpha0 += alphas[i]; } this->log_KLDs.resize(rows); +#pragma omp parallel for schedule(static) for (size_t i = 0; i < rows; ++i) { double log_theta = std::log(alphas[i]) - std::log(alpha0); double alpha_k = alphas[rows - 1];