JUSTUS2/Software/Julia/Parallel Programming: Difference between revisions
Jump to navigation
Jump to search
M Carmesin (talk | contribs) No edit summary |
M Carmesin (talk | contribs) No edit summary |
||
Line 6: | Line 6: | ||
# Explicit multi-threading using Julia threads (e.g. `Threads.@threads for`) |
# Explicit multi-threading using Julia threads (e.g. `Threads.@threads for`) |
||
# Multiple processes on one ore more nodes |
# Multiple processes on one ore more nodes |
||
#* <code>Distributed</code> package and <code>SlurmManager</code> from [ |
#* <code>Distributed</code> package and <code>SlurmManager</code> from [https://github.com/JuliaParallel/ClusterManagers.jl <code>ClusterManagers.jl</code>] package, <code>@distributed for</code>-loops |
||
#* [ |
#* [https://github.com/JuliaParallel/MPI.jl <code>MPI.jl</code>] |
||
# Execution on GPUs/CUDA using [ |
# Execution on GPUs/CUDA using [https://cuda.juliagpu.org/stable/ <code>CUDA.jl</code> ] |
Revision as of 17:43, 8 October 2024
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 andSlurmManager
fromClusterManagers.jl
package,@distributed for
-loopsMPI.jl
- Execution on GPUs/CUDA using
CUDA.jl