JUSTUS2/Software/Julia/Parallel Programming
Jump to navigation
Jump to search
Parallel Programming in Julia
Julia supports several paradigms of parallel programming
- Implicit multi-threading by math libraries (OpenBLAS, MKL)
- Explicit multi-threading using Julia threads (e.g. `Threads.@threads for`)
- Multiple processes on one ore more nodes
- `Distributed` package and `SlurmManager` from [`ClusterManagers.jl`](https://github.com/JuliaParallel/ClusterManagers.jl) package, `@distributed for`-loops
- [`MPI.jl`](https://github.com/JuliaParallel/MPI.jl)
- Execution on GPUs/CUDA using [`CUDA.jl`](https://cuda.juliagpu.org/stable/)