refactor: pass work packages as constant reference to DHT functions

This commit is contained in:
Max Lübke 2023-01-10 13:52:19 +01:00 committed by Max Luebke
parent 1d37709e98
commit 5ef228c27f
3 changed files with 12 additions and 10 deletions

View File

@ -106,7 +106,7 @@ public:
* @param dt Current timestep of simulation
*/
auto checkDHT(int length, std::vector<bool> &out_result_index,
double *work_package, double dt)
const std::vector<double> &work_package, double dt)
-> std::vector<std::vector<double>>;
/**
@ -125,8 +125,9 @@ public:
* outputs of the PHREEQC simulation
* @param dt Current timestep of simulation
*/
void fillDHT(int length, std::vector<bool> &result_index,
double *work_package, double *results, double dt);
void fillDHT(int length, const std::vector<bool> &result_index,
const std::vector<double> &work_package,
const std::vector<double> &results, double dt);
/**
* @brief Dump current DHT state into file.

View File

@ -199,8 +199,8 @@ void ChemWorker::doWork(MPI_Status &probe_status) {
dht_get_start = MPI_Wtime();
vecDHTKeys = this->phreeqc_rm->ReplaceTotalsByPotentials(
vecCurrWP, local_work_package_size);
vecDHTResults = dht->checkDHT(local_work_package_size, vecNeedPhreeqc,
vecDHTKeys.data(), dt);
vecDHTResults =
dht->checkDHT(local_work_package_size, vecNeedPhreeqc, vecDHTKeys, dt);
dht_get_end = MPI_Wtime();
uint32_t iMappingIndex = 0;
@ -234,8 +234,8 @@ void ChemWorker::doWork(MPI_Status &probe_status) {
if (dht_enabled) {
/* write results to DHT */
dht_fill_start = MPI_Wtime();
dht->fillDHT(local_work_package_size, vecNeedPhreeqc, vecDHTKeys.data(),
vecCurrWP.data(), dt);
dht->fillDHT(local_work_package_size, vecNeedPhreeqc, vecDHTKeys, vecCurrWP,
dt);
dht_fill_end = MPI_Wtime();
timing[1] += dht_get_end - dht_get_start;

View File

@ -76,7 +76,7 @@ DHT_Wrapper::~DHT_Wrapper() {
}
auto DHT_Wrapper::checkDHT(int length, std::vector<bool> &out_result_index,
double *work_package, double dt)
const std::vector<double> &work_package, double dt)
-> std::vector<std::vector<double>> {
void *key;
int res;
@ -114,8 +114,9 @@ auto DHT_Wrapper::checkDHT(int length, std::vector<bool> &out_result_index,
return data;
}
void DHT_Wrapper::fillDHT(int length, std::vector<bool> &result_index,
double *work_package, double *results, double dt) {
void DHT_Wrapper::fillDHT(int length, const std::vector<bool> &result_index,
const std::vector<double> &work_package,
const std::vector<double> &results, double dt) {
void *key;
void *data;
int res;