mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-12-26 04:43:09 +03:00
commit
466522c919
@ -187,14 +187,28 @@ self: super:
|
||||
<listitem>
|
||||
<para>
|
||||
<link
|
||||
xlink:href="https://developer.amd.com/amd-aocl/blas-library/">AMD
|
||||
BLIS/LIBFLAME</link> (optimized for modern AMD x86_64 CPUs)
|
||||
xlink:href="https://github.com/flame/blis">BLIS</link>
|
||||
</para>
|
||||
<para>
|
||||
The AMD BLIS library, with attribute <literal>amd-blis</literal>,
|
||||
provides a BLAS implementation. The complementary AMD LIBFLAME
|
||||
library, with attribute <literal>amd-libflame</literal>, provides
|
||||
a LAPACK implementation.
|
||||
BLIS, available through the attribute
|
||||
<literal>blis</literal>, is a framework for linear algebra kernels. In
|
||||
addition, it implements the BLAS interface.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<link
|
||||
xlink:href="https://developer.amd.com/amd-aocl/blas-library/">AMD
|
||||
BLIS/LIBFLAME</link> (optimized for modern AMD x86_64 CPUs)
|
||||
</para>
|
||||
<para>
|
||||
The AMD fork of the BLIS library, with attribute
|
||||
<literal>amd-blis</literal>, extends BLIS with optimizations for
|
||||
modern AMD CPUs. The changes are usually submitted to
|
||||
the upstream BLIS project after some time. However, AMD BLIS
|
||||
typically provides some performance improvements on AMD Zen CPUs.
|
||||
The complementary AMD LIBFLAME library, with attribute
|
||||
<literal>amd-libflame</literal>, provides a LAPACK implementation.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
64
pkgs/development/libraries/science/math/blis/default.nix
Normal file
64
pkgs/development/libraries/science/math/blis/default.nix
Normal file
@ -0,0 +1,64 @@
|
||||
{ stdenv
|
||||
, fetchFromGitHub
|
||||
, perl
|
||||
, python3
|
||||
|
||||
# Enable BLAS interface with 64-bit integer width.
|
||||
, blas64 ? false
|
||||
|
||||
# Target architecture. x86_64 builds Intel and AMD kernels.
|
||||
, withArchitecture ? "x86_64"
|
||||
|
||||
# Enable OpenMP-based threading.
|
||||
, withOpenMP ? true
|
||||
}:
|
||||
|
||||
let
|
||||
blasIntSize = if blas64 then "64" else "32";
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "blis";
|
||||
version = "0.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "flame";
|
||||
repo = "blis";
|
||||
rev = version;
|
||||
sha256 = "13g9kg7x8j9icg4frdq3wpl2cmp0jnh93mw48daa7ym399w17423";
|
||||
};
|
||||
|
||||
inherit blas64;
|
||||
|
||||
nativeBuildInputs = [
|
||||
perl
|
||||
python3
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
configureFlags = [
|
||||
"--enable-cblas"
|
||||
"--blas-int-size=${blasIntSize}"
|
||||
] ++ stdenv.lib.optionals withOpenMP [ "--enable-threading=openmp" ]
|
||||
++ [ withArchitecture ];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs configure build/flatten-headers.py
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
ln -s $out/lib/libblis.so.3 $out/lib/libblas.so.3
|
||||
ln -s $out/lib/libblis.so.3 $out/lib/libcblas.so.3
|
||||
ln -s $out/lib/libblas.so.3 $out/lib/libblas.so
|
||||
ln -s $out/lib/libcblas.so.3 $out/lib/libcblas.so
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "BLAS-compatible linear algebra library";
|
||||
homepage = "https://github.com/flame/blis";
|
||||
license = licenses.bsd3;
|
||||
maintainers = [ maintainers.danieldk ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
@ -1387,6 +1387,8 @@ in
|
||||
|
||||
blink1-tool = callPackage ../tools/misc/blink1-tool { };
|
||||
|
||||
blis = callPackage ../development/libraries/science/math/blis { };
|
||||
|
||||
bliss = callPackage ../applications/science/math/bliss { };
|
||||
|
||||
blobfuse = callPackage ../tools/filesystems/blobfuse { };
|
||||
|
Loading…
Reference in New Issue
Block a user