From ec3c17ebd19db116f924b01c684e6882caba271f Mon Sep 17 00:00:00 2001 From: Leandre Lacourt <lacourtl@santel.imag.fr> Date: Mon, 27 May 2024 16:51:11 +0200 Subject: [PATCH] ajout des fichiers tests de base --- bin/lustre-mt/test_omp/exemple/multicore.lus | 58 +++++++ bin/lustre-mt/test_omp/exemple/multicore.sh | 6 + .../test_omp/exemple/multicore_multicore.yml | 161 ++++++++++++++++++ 3 files changed, 225 insertions(+) create mode 100644 bin/lustre-mt/test_omp/exemple/multicore.lus create mode 100644 bin/lustre-mt/test_omp/exemple/multicore.sh create mode 100644 bin/lustre-mt/test_omp/exemple/multicore_multicore.yml diff --git a/bin/lustre-mt/test_omp/exemple/multicore.lus b/bin/lustre-mt/test_omp/exemple/multicore.lus new file mode 100644 index 0000000..32a0ca5 --- /dev/null +++ b/bin/lustre-mt/test_omp/exemple/multicore.lus @@ -0,0 +1,58 @@ +type wiz = { + bt: real^2; + cc: bool; +}; + +function A(wi: wiz) returns (wo: wiz); +let + wo.bt[0] = wi.bt[0] - wi.bt[1]; + wo.bt[1] = wi.bt[0] + wi.bt[1]; + wo.cc = wi.bt[0] > wi.bt[1]; +tel + +node B( + w: wiz; + b: bool; +) returns ( + x: bool; + r: real; +); +var pr: real; +let + pr = 0.0 -> pre r; + r = if b then w.bt[0] else pr + w.bt[1]; + x = false -> (r > 0.0); +tel + +node C(i: int; w: wiz) returns (x: bool; o: real); +var r: real; +let + r = (w.bt[0] - w.bt[1]); + o = (0.0 -> pre o) + r; + x = (r >= 42.0); +tel + +function D(x,y:real) returns (o: int); +let + o = int(x + 0.5*y); +tel + +node multicore( + ii: int; + win: wiz; + bt: bool; +) returns ( + xo: bool; cd: int; bto: bool +); +var + btb: bool; + wa: wiz; + cc: real; + r1, r2: real; +let + wa = A(win); + btb,r1 = B(win, bt); + bto,r2 = B(wa, btb); + xo,cc = C(ii, wa); + cd = D(cc, r2); +tel diff --git a/bin/lustre-mt/test_omp/exemple/multicore.sh b/bin/lustre-mt/test_omp/exemple/multicore.sh new file mode 100644 index 0000000..8a26913 --- /dev/null +++ b/bin/lustre-mt/test_omp/exemple/multicore.sh @@ -0,0 +1,6 @@ +set -x +if [ -z ${C_COMPILER} ]; then C_COMPILER=gcc; fi +if [ -z ${MAIN_FILE} ]; then MAIN_FILE=multicore_multicore_omp_test.c; fi +$C_COMPILER -fopenmp -o multicore.exec \ + lustre_consts.c multicore_multicore_test.c ${EXTRA_C_FILES} multicore_multicore_loop_io.c ${MAIN_FILE} ${C_LIBS} + diff --git a/bin/lustre-mt/test_omp/exemple/multicore_multicore.yml b/bin/lustre-mt/test_omp/exemple/multicore_multicore.yml new file mode 100644 index 0000000..074d149 --- /dev/null +++ b/bin/lustre-mt/test_omp/exemple/multicore_multicore.yml @@ -0,0 +1,161 @@ +variables: + - id: 0 + name: ii + type: _integer + - id: 1 + name: win + type: multicore_wiz + - id: 2 + name: bt + type: _boolean + - id: 3 + name: xo + type: _boolean + - id: 4 + name: cd + type: _integer + - id: 5 + name: bto + type: _boolean + - id: 6 + name: btb + type: _boolean + - id: 7 + name: wa + type: multicore_wiz + - id: 8 + name: cc + type: _real + - id: 9 + name: r1 + type: _real + - id: 10 + name: r2 + type: _real + +channels: + - 0 + - 1 + - 2 + - 3 + - 4 + - 5 + - 6 + - 7 + - 8 + - 9 + - 10 + +main: + name: multicore_multicore + ctx_type: multicore_multicore_ctx_type + ctx_new: multicore_multicore_ctx_new_ctx + var_in: + - 0 + - 1 + - 2 + var_out: + - 3 + - 4 + - 5 + ch_in: + - 3 + - 4 + - 7 + ch_out: + - 0 + - 1 + - 2 + +nodes: + - id: 0 + file_name: multicore_A + fct_name: multicore_A_step + ctx: false + + - id: 1 + file_name: multicore_B + fct_name: multicore_B_step + ctx: true + ctx_tab: multicore_B_ctx_tab + + - id: 2 + file_name: multicore_C + fct_name: multicore_C_step + ctx: true + ctx_tab: multicore_C_ctx_tab + + - id: 3 + file_name: multicore_D + fct_name: multicore_D_step + ctx: false + +instances: + - id: 0 + node: 0 + var_in: + - 1 + var_out: + - 7 + ch_in: + - 3 + ch_out: + - 5 + - 8 + + - id: 0 + node: 1 + var_in: + - 1 + - 2 + var_out: + - 6 + - 9 + ch_in: + - 4 + ch_out: + - 6 + + - id: 1 + node: 1 + var_in: + - 7 + - 6 + var_out: + - 5 + - 10 + ch_in: + - 5 + - 6 + ch_out: + - 2 + - 10 + + - id: 0 + node: 2 + var_in: + - 0 + - 7 + var_out: + - 3 + - 8 + ch_in: + - 7 + - 8 + ch_out: + - 0 + - 9 + + - id: 0 + node: 3 + var_in: + - 8 + - 10 + var_out: + - 4 + ch_in: + - 9 + - 10 + ch_out: + - 1 + -- GitLab