# This file is part of the Chameleon User's Guide.
# Copyright (C) 2020 Inria
# See the file ../users_guide.org for copying conditions.

Show performances on [[https://www.plafrim.fr/][PlaFRIM]] supercomputer.

See [[https://www.plafrim.fr/hardware-documentation/][characteristics]] to get details about the hardwares.

See script ~tools/bench/plafrim/run.sh~ to get details about the environment (Guix, Slurm,
etc) and the build.

Chameleon is run this way:
#+begin_src sh
mpiexec -np $nmpi $CHAMELEON_BUILD/testing/chameleon_${precision}testing -o ${algorithm} -P $p -t $nthr -g $ngpu -m $m -n $n -k $k -b $b
#+end_src
- runtime : *starpu*
- precision : *s* or *d* for simple or double precision
- algorithm : *gemm* or *potrf* or *geqrf_hqr*
- nmpi = p x p
- nthr : depends on the node
- ngpu : depends on the node
- m = n = k
- b : depends on the node
** bora (36 CPUs) nodes
   - nmpi = *1*, *4*, *9*
   - 2D block cyclic parameters : PxQ = 1x1, 2x2 and 3x3
   - Number of threads (t) = *34*, one CPU being dedicated for the
     scheduler and one other for MPI communications
   - Number of GPUs = *0*
   - Tile Size (b) = *280*
*** CPU times
    #+CAPTION: Performances in CPU time of GEMM, POTRF and QR on bora nodes
    #+NAME: fig:chameleon_plafrim_bora_time_openmpi
    #+ATTR_HTML: :align center :width 75%
    [[file:chameleon_plafrim_bora_time_openmpi.png]]

*** GFLOP/s
    #+CAPTION: Performances in GFlop/s of GEMM, POTRF and QR on bora nodes
    #+NAME: fig:chameleon_plafrim_bora_perf_openmpi
    #+ATTR_HTML: :align center :width 75%
    [[file:chameleon_plafrim_bora_perf_openmpi.png]]

** sirocco [14-17] (32 CPUs + 2 GPUs V100) nodes
   - nmpi = *1*
   - 2D block cyclic parameters : PxQ = 1x1
   - Number of threads (t) = *29*, one CPU being dedicated for the
     scheduler and two others for the 2 GPUs
   - Number of GPUs = *2*
   - Tile Size (b) = *1600*
    #+CAPTION: Performances in CPU time of GEMM, POTRF and QR on sirocco nodes
    #+NAME: fig:chameleon_plafrim_sirocco
    #+ATTR_HTML: :align center :width 75%
    [[file:chameleon_plafrim_sirocco.png]]

# *** CPU times
#     #+CAPTION: Performances in CPU time of GEMM, POTRF and QR on sirocco nodes
#     #+NAME: fig:chameleon_plafrim_sirocco_openmpi_time
#     #+ATTR_HTML: :align center :height 1024
#     [[file:chameleon_plafrim_sirocco_openmpi_time.png]]
#
# *** GFLOP/s
#     #+CAPTION: Performances in GFlop/s of GEMM, POTRF and QR on sirocco nodes
#     #+NAME: fig:chameleon_plafrim_sirocco_openmpi_perf
#     #+ATTR_HTML: :align center :height 1024
#     [[file:chameleon_plafrim_sirocco_openmpi_perf.png]]
