-
Notifications
You must be signed in to change notification settings - Fork 16
Expand file tree
/
Copy pathrun_benchmark_list
More file actions
executable file
·76 lines (64 loc) · 3.57 KB
/
Copy pathrun_benchmark_list
File metadata and controls
executable file
·76 lines (64 loc) · 3.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
julia>]
pkg> precompile
julia>
using Jexpresso
using MPI
JULIA = Base.julia_cmd()
#Serial:
Jexpresso.run_case("CompEuler", "sod1d")
Jexpresso.run_case("CompEuler", "wave1d")
Jexpresso.run_case("CompEuler", "wave1d_lag")
Jexpresso.run_case("CompEuler", "theta")
Jexpresso.run_case("CompEuler", "theta_laguerre")
Jexpresso.run_case("Elliptic", "case1")
Jexpresso.run_case("Helmholtz", "case1")
Jexpresso.run_case("Helmholtz", "case1_laguerre")
Jexpresso.run_case("AdvDiff", "Wave_Train")
Jexpresso.run_case("AdvDiff", "kopriva")
Jexpresso.run_case("AdvDiff", "2d_Laguerre")
Jexpresso.run_case("ShallowWater", "SoliWaveIsland")
Jexpresso.run_case("CompEuler", "kelvinHelmholtzChan2022")
# Radiative transfer manufactured solution cases
Jexpresso.run_case("RadiativeTransfer", "2d_extra_coords")
Jexpresso.run_case("RadiativeTransfer", "3d_extra_coords")
Jexpresso.run_case("RadiativeTransfer", "3d_extra_coords_spatial_amr_test")
#Parallel
#A. With native MPICH_jll
using MPI
JULIA = Base.julia_cmd()
run(`$(mpiexec()) -n 3 $JULIA --project=. -e 'using Jexpresso; Jexpresso.run_case("CompEuler", "thetaTracers")'`)
run(`$(mpiexec()) -n 3 $JULIA --project=. -e 'using Jexpresso; Jexpresso.run_case("CompEuler", "3d")'`)
run(`$(mpiexec()) -n 3 $JULIA --project=. -e 'using Jexpresso; Jexpresso.run_case("CompEuler", "city2d")'`)
run(`$(mpiexec()) -n 3 $JULIA --project=. -e 'using Jexpresso; Jexpresso.run_case("CompEuler", "kelvinHelmholtzChan2022")'`)
run(`$(mpiexec()) -n 3 $JULIA --project=. -e 'using Jexpresso; Jexpresso.run_case("RadiativeTransfer", "3d_extra_coords")'`)
run(`$(mpiexec()) -n 3 $JULIA --project=. -e 'using Jexpresso; Jexpresso.run_case("RadiativeTransfer", "3d_extra_coords_spatial_amr_test")'`)
#B. With OpenMPI
julia --project=. -e 'using MPIPreferences; MPIPreferences.use_system_binary(extra_paths=["/opt/homebrew/lib"])'
#
# NOW then restart Julia
#
julia --project=.
] precompile
using MPI
using MPIPreferences; MPIPreferences.use_system_binary(extra_paths=["/opt/homebrew/lib"])
println(MPI.identify_implementation())
JULIA = Base.julia_cmd()
run(`/opt/homebrew/bin/mpirun -n 3 $JULIA --project=. -e 'using Jexpresso; Jexpresso.run_case("CompEuler", "thetaTracers")'`)
run(`/opt/homebrew/bin/mpirun -n 3 $JULIA --project=. -e 'using Jexpresso; Jexpresso.run_case("CompEuler", "3d")'`)
run(`/opt/homebrew/bin/mpirun -n 3 $JULIA --project=. -e 'using Jexpresso; Jexpresso.run_case("CompEuler", "city2d")'`)
run(`/opt/homebrew/bin/mpirun -n 3 $JULIA --project=. -e 'using Jexpresso; Jexpresso.run_case("CompEuler", "kelvinHelmholtzChan2022")'`)
run(`/opt/homebrew/bin/mpirun -n 3 $JULIA --project=. -e 'using Jexpresso; Jexpresso.run_case("RadiativeTransfer", "3d_extra_coords")'`)
run(`/opt/homebrew/bin/mpirun -n 3 $JULIA --project=. -e 'using Jexpresso; Jexpresso.run_case("RadiativeTransfer", "3d_extra_coords_spatial_amr_test")'`)
# Reference results:
NOTE: the allocations must be approx. the same no matter what computer is used,
but the wallclock is chip dependent.
| problem | allocation-on-2nd-run | approx. wallclock |
|----------------|-----------------------|-------------------|
| sod1d | 138.818 MiB | 3 s |
| theta | 39 MiB | 5–9 s |
| thetaTracers | 155 MiB | 106 s | FLAG
| 3d | 178 MiB | 145 s | FLAG
| wave1d_lag | 99MiB | 4 s |
| theta_laguerre | 179 MiB | 68 s | FLAG
| 2d_extra_coords| 96 MiB | 1 s |
| 3d_extra_coords| ? MiB | ? s |