julia

Versions installées sur Olympe = 1.5.3 et 1.7.2


 

Les versions installées


v 1.7.2

Charger l'environnement

module purge
module load julia/1.7.2

julia

[manu@olympelogin1 ~]$ julia
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.7.2 (2022-02-06)
 _/ |\__'_|_|_|\__'_|  |  
|__/                  

 

julia et la MKL

La MKL est disponibles avec julia:

julia> using MKL

julia> using LinearAlgebra

julia> BLAS.get_config()
LinearAlgebra.BLAS.LBTConfig
Libraries:
└ [ILP64] libmkl_rt.so

julia et CUDA:

CUDA est disponible avec julia:

Depuis un nœud gpu:

julia> using CUDA

julia> CUDA.version()
v"11.7.0"

julia> [CUDA.capability(dev) for dev in CUDA.devices()]
1-element Vector{VersionNumber}:
 v"7.0.0"

 

 

 

[manu@olympelogin1 1.7.2]$ julia
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.7.2 (2022-02-06)
 _/ |\__'_|_|_|\__'_|  |  
|__/                   |

(reverse-i-search)`get_c': BLAS.get_config()
julia> BLAS.get_config()
ERROR: UndefVarError: BLAS not defined
Stacktrace:
 [1] top-level scope
   @ REPL[1]:1

julia> using ^C

julia> using LinearAlgebra

julia> BLAS.get_config()
LinearAlgebra.BLAS.LBTConfig
Libraries: 
└ [ILP64] libopenblas64_.so

julia> using MKL

julia> BLAS.get_config()
LinearAlgebra.BLAS.LBTConfig
Libraries: 
└ [ILP64] libmkl_rt.so

v 1.5.3

module purge
module load julia/1.5.3
julia
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.5.3 (2020-11-09)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

julia et la MKL

cf. https://github.com/JuliaLinearAlgebra/MKL.jl

Le package LinearAlgebra utilise la mkl :

julia> using LinearAlgebra
julia> BLAS.vendor()
:mkl

Utilisation de CUDA :

Le module CUDA.jl est intallé, vous pouvez donc utiliser les GPUs avec Julia.

#! /bin/bash

#SBATCH -J "Essai julia gpu"
#SBATCH -N 1
#SBATCH -n 9
#SBATCH --gres=gpu:1
#SBATCH --mem=10G

cat <<EOF >essai.jl
using CUDA
CUDA.versioninfo()
[CUDA.capability(dev) for dev in CUDA.devices()]
println("au revoir")
EOF

module purge
module load julia/1.5.3
julia essai.jl

Vous pouvez :

  • copier-coller ce script dans julia.bash
  • l’exécuter par sbatch julia.bash
  • Après quelques secondes, un fichier slurm-12345.out devrait apparaître, il devrait se terminer par :
1 device:
  0: Tesla V100-SXM2-16GB (sm_70, 15.357 GiB / 15.782 GiB available)
au revoir

Créer son environnement personnel:

La page suivante explique comment créer son environnement personnel julia : https://docs.julialang.org/en/v1/stdlib/Pkg/

Voir aussi

FAQ

Questions fréquentes et messages d'erreurs