diff --git a/doc/using/overlays.xml b/doc/using/overlays.xml index 3fa68e32a3c5..7f6ee040c7c7 100644 --- a/doc/using/overlays.xml +++ b/doc/using/overlays.xml @@ -178,26 +178,40 @@ self: super: Intel - MKL (only works on x86 architecture, unfree) + MKL (only works on the x86_64 architecture, unfree) The Nixpkgs attribute is mkl. + + + AMD + BLIS/LIBFLAME (optimized for modern AMD x86_64 CPUs) + + + The AMD BLIS library, with attribute amd-blis, + provides a BLAS implementation. The complementary AMD LIBFLAME + library, with attribute amd-libflame, provides + a LAPACK implementation. + + Introduced in PR - #83888, we are able to override the ‘blas’ and ‘lapack’ - packages to use different implementations, through the - ‘blasProvider’ and ‘lapackProvider’ argument. This can be used + #83888, we are able to override the blas + and lapack packages to use different implementations, + through the blasProvider and + lapackProvider argument. This can be used to select a different provider. BLAS providers will have symlinks in $out/lib/libblas.so.3 and $out/lib/libcblas.so.3 to their respective BLAS libraries. Likewise, LAPACK providers will have symlinks in $out/lib/liblapack.so.3 and $out/lib/liblapacke.so.3 to their respective - LAPCK libraries. For example, Intel MKL is both a BLAS and + LAPACK libraries. For example, Intel MKL is both a BLAS and LAPACK provider. An overlay can be created to use Intel MKL that looks like: @@ -216,8 +230,9 @@ self: super: This overlay uses Intel’s MKL library for both BLAS and LAPACK interfaces. Note that the same can be accomplished at runtime - using LD_LIBRARY_PATH of libblas.so.3 and - liblapack.so.3. For instance: + using LD_LIBRARY_PATH of + libblas.so.3 and + liblapack.so.3. For instance: $ LD_LIBRARY_PATH=$(nix-build -A mkl)/lib:$LD_LIBRARY_PATH nix-shell -p octave --run octave