From 1c004dfda9951e013ee8d483f46b633c37dc619d Mon Sep 17 00:00:00 2001 From: Max Luebke Date: Tue, 2 Apr 2024 11:39:59 +0000 Subject: [PATCH] Update dependencies and refactor code --- ext/iphreeqc | 2 +- src/poet.cpp | 29 +++++++++++------------------ src/poet.hpp.in | 4 ++++ 3 files changed, 16 insertions(+), 19 deletions(-) diff --git a/ext/iphreeqc b/ext/iphreeqc index f69561987..daeecf112 160000 --- a/ext/iphreeqc +++ b/ext/iphreeqc @@ -1 +1 @@ -Subproject commit f695619875fcf43e411af67d592c05b199f41a15 +Subproject commit daeecf11263dbeb08cb13b43df81d5d9dcc22060 diff --git a/src/poet.cpp b/src/poet.cpp index 1f6be971f..ecb5b5bf8 100644 --- a/src/poet.cpp +++ b/src/poet.cpp @@ -22,27 +22,21 @@ #include "Base/Macros.hpp" #include "Base/RInsidePOET.hpp" -// #include "Chemistry/ChemistryModule.hpp" #include "Chemistry/ChemistryModule.hpp" #include "DataStructures/Field.hpp" #include "Init/InitialList.hpp" #include "Transport/DiffusionModule.hpp" #include -#include -#include -#include -#include - #include #include - +#include #include -#include - #include "Base/argh.hpp" +#include + using namespace std; using namespace poet; using namespace Rcpp; @@ -110,9 +104,11 @@ ParseRet parseInitValues(char **argv, RInsidePOET &R, } } - // simparams.print_progressbar = cmdl[{"P", "progress"}]; + params.print_progressbar = cmdl[{"P", "progress"}]; - // // simparams.print_progressbar = cmdl[{"P", "progress"}]; + /*Parse work package size*/ + cmdl("work-package-size", CHEM_DEFAULT_WORK_PACKAGE_SIZE) >> + params.work_package_size; // /* Parse DHT arguments */ // chem_params.use_dht = cmdl["dht"]; @@ -136,9 +132,6 @@ ParseRet parseInitValues(char **argv, RInsidePOET &R, // /*Parse output options*/ // simparams.store_result = !cmdl["ignore-result"]; - // /*Parse work package size*/ - // cmdl("work-package-size", WORK_PACKAGE_SIZE_DEFAULT) >> simparams.wp_size; - // chem_params.use_interp = cmdl["interp"]; // cmdl("interp-size", 100) >> chem_params.pht_size; // cmdl("interp-min", 5) >> chem_params.interp_min_entries; @@ -446,10 +439,12 @@ int main(int argc, char *argv[]) { MSG("RInside initialized on process " + std::to_string(world_rank)); + ChemistryModule chemistry(run_params.work_package_size, + init_list.getChemistryInit(), MPI_COMM_WORLD); + if (world_rank > 0) { - ChemistryModule worker(1, init_list.getChemistryInit(), MPI_COMM_WORLD); - worker.WorkerLoop(); + chemistry.WorkerLoop(); MPI_Barrier(MPI_COMM_WORLD); @@ -483,8 +478,6 @@ int main(int argc, char *argv[]) { DiffusionModule diffusion(init_list.getDiffusionInit(), init_list.getInitialGrid()); - ChemistryModule chemistry(1, init_list.getChemistryInit(), MPI_COMM_WORLD); - chemistry.masterSetField(init_list.getInitialGrid()); Rcpp::List profiling = RunMasterLoop(R, run_params, diffusion, chemistry); diff --git a/src/poet.hpp.in b/src/poet.hpp.in index 99b3e7a58..dcf71b972 100644 --- a/src/poet.hpp.in +++ b/src/poet.hpp.in @@ -22,6 +22,7 @@ #pragma once +#include #include #include #include @@ -43,10 +44,13 @@ const std::set paramlist{ "work-package-size", "dht-strategy", "dht-size", "dht-snaps", "dht-file", "interp-size", "interp-min", "interp-bucket-entries"}; +constexpr uint32_t CHEM_DEFAULT_WORK_PACKAGE_SIZE = 32; + struct RuntimeParameters { std::vector timesteps; bool print_progressbar; + uint32_t work_package_size; Rcpp::List init_params;