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-ExamplesInitialize the dependencies by running the following in a julia REPL:
julia> ]
(v1.9) activate .
(ParametricOperators.jl-Examples) instantiateYou can run the serial programs by doing:
julia --project=./ 3D_FFT.jljulia --project=./ 3D_Conv.jlWarning
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.jlOR 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=noneWarning
Your salloc might look different based on your HPC cluster.
Now run any of the distributed examples:
srun julia --project=./ 3D_DFFT.jlsrun julia --project=./ 3D_DConv.jl