JUSTUS2/Software/Julia/Parallel Programming: Difference between revisions

From bwHPC Wiki
< JUSTUS2‎ | Software‎ | Julia
Jump to navigation Jump to search
(Created page with "= 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/JuliaParall...")
 
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
* `Distributed` package and `SlurmManager` from [`ClusterManagers.jl`](https://github.com/JuliaParallel/ClusterManagers.jl) package, `@distributed for`-loops
#* <code>Distributed</code> package and <code>SlurmManager</code> from [<code>ClusterManagers.jl</code> https://github.com/JuliaParallel/ClusterManagers.jl] package, <code>@distributed for</code>-loops
* [`MPI.jl`](https://github.com/JuliaParallel/MPI.jl)
#* [<code>MPI.jl</code> https://github.com/JuliaParallel/MPI.jl]
# Execution on GPUs/CUDA using [`CUDA.jl`](https://cuda.juliagpu.org/stable/)
# Execution on GPUs/CUDA using [<code>CUDA.jl</code> https://cuda.juliagpu.org/stable/]

Revision as of 17:42, 8 October 2024

Parallel Programming in Julia

Julia supports several paradigms of parallel programming

  1. Implicit multi-threading by math libraries (OpenBLAS, MKL)
  2. Explicit multi-threading using Julia threads (e.g. `Threads.@threads for`)
  3. Multiple processes on one ore more nodes
  4. Execution on GPUs/CUDA using [CUDA.jl https://cuda.juliagpu.org/stable/]