This is a copy of the examples
directory of ParametricOperators.jl
to facilitate frictionless reproducibility.
To get started:
git clone https://github.com/turquoisedragon2926/ParametricOperators.jl-Examples.git
cd ParametricOperators.jl-Examples
Initialize the dependencies by running the following in a julia REPL:
julia> ]
(v1.9) activate .
(ParametricOperators.jl-Examples) instantiate
You can run the serial programs by doing:
julia --project=./ 3D_FFT.jl
julia --project=./ 3D_Conv.jl
Warning
Make sure to have a proper MPI distribution loaded.
If you have mpiexecjl
set up, you can do:
# To run the 3D FFT example
mpiexecjl --project=./ -n NTASKS julia 3D_DFFT.jl
# To run the 3D convolution example
mpiexecjl --project=./ -n NTASKS julia 3D_DConv.jl
OR if you have a HPC cluster with slurm
set up, you can do:
salloc --gpus=NTASKS --time=01:00:00 --ntasks=NTASKS --gpus-per-task=1 --gpu-bind=none
Warning
Your salloc
might look different based on your HPC cluster.
Now run any of the distributed examples:
srun julia --project=./ 3D_DFFT.jl
srun julia --project=./ 3D_DConv.jl