NCAR / ncar-conda

ncar-conda - YAML inventories for Conda environments on NCAR HPC systems
MIT License
1 stars 1 forks source link

Consider pinning `libblas=*=*mkl` or `libblas=*=*blis` for Derecho #3

Closed dphow closed 9 months ago

dphow commented 1 year ago

See performance metrics for both Haswell and Zen 2. MKL clearly excels on Intel hardware but lags on AMD hardware. BLIS appears to perform best for AMD, though does compete will with MKL on Intel hardware too.

Given current NPL configuration, must remove nomkl package. This results in below:

  Removing specs:

   - nomkl

  Package     Version  Build              Channel           Size
──────────────────────────────────────────────────────────────────
  Remove:
──────────────────────────────────────────────────────────────────

  - nomkl         1.0  h5ca1d4c_0         conda-forge     Cached
  - numexpr     2.8.4  py310h690d005_100  conda-forge     Cached
  - pytables    3.8.0  py310ha028ce3_2    conda-forge     Cached
  - tobac       1.4.2  pyhd8ed1ab_0       conda-forge     Cached

Performing npl-2023b update with mamba install libblas=*=*mkl gives below changes:

  Updating specs:

   - libblas=*[build=*mkl]
   - ca-certificates
   - certifi
   - openssl

  Package           Version  Build                Channel           Size
──────────────────────────────────────────────────────────────────────────
  Install:
──────────────────────────────────────────────────────────────────────────

  + libhwloc          2.9.1  nocuda_h7313eea_6    conda-forge        3MB
  + llvm-openmp      16.0.6  h4dfa4b3_0           conda-forge       42MB
  + mkl            2022.2.1  h84fe81f_16997       conda-forge      165MB
  + tbb            2021.9.0  hf52228f_0           conda-forge        2MB

  Change:
──────────────────────────────────────────────────────────────────────────

  - _openmp_mutex       4.5  2_gnu                conda-forge     Cached
  + _openmp_mutex       4.5  2_kmp_llvm           conda-forge        6kB
  - libblas           3.9.0  17_linux64_openblas  conda-forge     Cached
  + libblas           3.9.0  16_linux64_mkl       conda-forge       13kB
  - libcblas          3.9.0  17_linux64_openblas  conda-forge     Cached
  + libcblas          3.9.0  16_linux64_mkl       conda-forge       13kB
  - liblapack         3.9.0  17_linux64_openblas  conda-forge     Cached
  + liblapack         3.9.0  16_linux64_mkl       conda-forge       13kB
  - liblapacke        3.9.0  17_linux64_openblas  conda-forge     Cached
  + liblapacke        3.9.0  16_linux64_mkl       conda-forge       13kB
vanderwb commented 1 year ago

Thanks for this - I'm inclined to pin the environment to BLIS as per your recommendations, but I'll leave this open for any other comments and defer changes to Monday.

vanderwb commented 1 year ago

This was done in commit 21f19e8.