Skip to content

Commit 234efd5

Browse files
committed
mpi2 separated from mpi
1 parent 6a73ac2 commit 234efd5

File tree

6 files changed

+16
-7
lines changed

6 files changed

+16
-7
lines changed

modules/cli/src/handlers/solve.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
#include "../../../cuqdyn-c/include/functions.h"
1313
#include "cuqdyn.h"
1414

15-
#ifdef MPI
15+
#if defined(MPI) || defined(MPI2)
1616
#include <mpi.h>
1717
#endif
1818

@@ -84,15 +84,17 @@ int handle_solve(int argc, char *argv[])
8484
return 1;
8585
}
8686

87-
#ifdef MPI
87+
#if defined(MPI) || defined(MPI2)
8888
int err = MPI_Init(&argc, &argv);
8989

9090
if (err != MPI_SUCCESS)
9191
{
9292
fprintf(stderr, "MPI_Init failed\n");
9393
exit(1);
9494
}
95+
#endif
9596

97+
#ifdef MPI
9698
int rank, nproc;
9799
err = MPI_Comm_size(MPI_COMM_WORLD, &nproc);
98100

modules/cuqdyn-c/src/cuqdyn.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ CuqdynResult *cuqdyn_algo(const char *data_file, const char *sacess_conf_file,
111111
{
112112
fprintf(stderr, "Number of processes is not a divisor of m - 1. Please use a number of processes that is a "
113113
"divisor of m - 1\n");
114+
return NULL;
114115
}
115116
iterations = min_iters_per_node;
116117
start_index = rank * iterations + 1;

modules/cuqdyn-c/src/ess_solver.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
#include "ess_solver.h"
99

1010
#include <../include/functions.h>
11-
#ifdef MPI
11+
#if defined(MPI2) && !defined(MPI)
1212
#include <mpi.h>
1313
#endif
1414

@@ -25,6 +25,11 @@ N_Vector execute_ess_solver(const char *file, const char *path, N_Vector texp, D
2525
result_solver result;
2626
int first, init;
2727

28+
#if defined(MPI2) && !defined(MPI)
29+
MPI_Comm_size(MPI_COMM_WORLD, &nproc);
30+
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
31+
#endif
32+
2833
#ifdef OPENMP
2934
#pragma omp parallel
3035
{

modules/mexpreval/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ opt-level = 3
1414
lto = true
1515
codegen-units = 1
1616
panic = "abort"
17-
strip = "symbols"
17+
# strip = "symbols"
1818

1919
[[bench]]
2020
name = "eval_f_exprs_bench"

modules/mexpreval/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ pub unsafe extern "C" fn eval_f_exprs(
4242
for (i, ptr) in exprs.iter().enumerate() {
4343
let expr = exprs_cache.entry(*ptr).or_insert_with(|| {
4444
let c_str = CStr::from_ptr(*ptr);
45-
let s = c_str.to_str().unwrap_unchecked();
45+
let s = c_str.to_str().unwrap();
4646
Expr::from_str(s).unwrap_or_else(|e| panic!("Error parsing expresion {}: {}", s, e))
4747
});
4848

scripts/scalability-test.sh

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
#SBATCH --mem=12G
44
#SBATCH -n 30
55
#SBATCH --time=1:00:00
6-
#SBATCH --exclusive -m cyclic:cyclic:fcyclic
6+
#SBATCH --exclusive
7+
#SBATCH --distribution=cyclic
78

89
if [ -d "/home/cesga" ]; then
910
module load gcc openmpi/4.1.1_ft3
@@ -50,7 +51,7 @@ for VARIANT in "${VARIANTS[@]}"; do
5051
mkdir -p "output/scalability/$VARIANT/$PROCS/$R"
5152
START_TIME=$(date +%s.%N)
5253

53-
srun ./build-"$VARIANT"/modules/cli/cli solve \
54+
srun --ntasks="$PROCS" --cpus-per-task=1 ./build-"$VARIANT"/modules/cli/cli solve \
5455
-c example-files/lotka_volterra_cuqdyn_config.xml \
5556
-s example-files/lotka_volterra_ess_"$VARIANT"_config.xml \
5657
-d example-files/lotka_volterra_paper_data.txt \

0 commit comments

Comments
 (0)