Merge pull request #69412 from timokau/fflas-ffpack-avx

fflas-ffpack: disable all avx versions by default
This commit is contained in:
Timo Kaufmann 2019-09-27 10:20:35 +00:00 committed by GitHub
commit 6cf6a22a9f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 37 deletions

View File

@ -1,24 +0,0 @@
{stdenv, fetchurl, autoreconfHook, givaro_3_7, pkgconfig, openblas, gmpxx}:
stdenv.mkDerivation rec {
pname = "fflas-ffpack";
version = "1.6.0";
src = fetchurl {
url = "http://linalg.org/fflas-ffpack-${version}.tar.gz";
sha256 = "02fr675278c65hfiy1chb903j4ix9i8yni1xc2g5nmsjcaf9vra9";
};
nativeBuildInputs = [ autoreconfHook pkgconfig ];
buildInputs = [ givaro_3_7 openblas gmpxx];
configureFlags = [
"--with-blas=-lopenblas"
"--with-gmp=${gmpxx.dev}"
"--with-givaro=${givaro_3_7}"
];
meta = {
inherit version;
description = ''Finite Field Linear Algebra Subroutines'';
license = stdenv.lib.licenses.lgpl21Plus;
maintainers = [stdenv.lib.maintainers.raskin];
platforms = stdenv.lib.platforms.linux;
homepage = https://linbox-team.github.io/fflas-ffpack/;
};
}

View File

@ -30,24 +30,25 @@ stdenv.mkDerivation rec {
"--with-lapack-libs=-l${blas.linkName}"
] ++ stdenv.lib.optionals stdenv.isx86_64 {
# disable SIMD instructions (which are enabled *when available* by default)
default = [ "--disable-sse3" "--disable-ssse3" "--disable-sse41" "--disable-sse42" "--disable-avx" "--disable-avx2" "--disable-fma" "--disable-fma4" ];
westmere = [ "--disable-avx" "--disable-avx2" "--disable-fma" "--disable-fma4" ];
sandybridge = [ "--disable-avx2" "--disable-fma" "--disable-fma4" ];
ivybridge = [ "--disable-avx2" "--disable-fma" "--disable-fma4" ];
haswell = [ "--disable-fma4" ];
broadwell = [ "--disable-fma4" ];
skylake = [ "--disable-fma4" ];
skylake-avx512 = [ "--disable-fma4" ];
# for now we need to be careful to disable *all* relevant versions of an instruction set explicitly (https://github.com/linbox-team/fflas-ffpack/issues/284)
default = [ "--disable-sse3" "--disable-ssse3" "--disable-sse41" "--disable-sse42" "--disable-avx" "--disable-avx2" "--disable-avx512f" "--disable-avx512dq" "--disable-avx512vl" "--disable-fma" "--disable-fma4" ];
westmere = [ "--disable-avx" "--disable-avx2" "--disable-avx512f" "--disable-avx512dq" "--disable-avx512vl" "--disable-fma" "--disable-fma4" ];
sandybridge = [ "--disable-avx2" "--disable-avx512f" "--disable-avx512dq" "--disable-avx512vl" "--disable-fma" "--disable-fma4" ];
ivybridge = [ "--disable-avx2" "--disable-avx512f" "--disable-avx512dq" "--disable-avx512vl" "--disable-fma" "--disable-fma4" ];
haswell = [ "--disable-fma4" ];
broadwell = [ "--disable-fma4" ];
skylake = [ "--disable-fma4" ];
skylake-avx512 = [ "--disable-fma4" ];
}.${stdenv.hostPlatform.platform.gcc.arch or "default"};
doCheck = true;
meta = {
meta = with stdenv.lib; {
inherit version;
description = ''Finite Field Linear Algebra Subroutines'';
license = stdenv.lib.licenses.lgpl21Plus;
maintainers = [stdenv.lib.maintainers.raskin];
platforms = stdenv.lib.platforms.unix;
license = licenses.lgpl21Plus;
maintainers = with maintainers; [ raskin timokau ];
platforms = platforms.unix;
homepage = https://linbox-team.github.io/fflas-ffpack/;
};
}

View File

@ -10725,7 +10725,6 @@ in
blas = if stdenv.isDarwin then blas else openblas;
};
fflas-ffpack_1 = callPackage ../development/libraries/fflas-ffpack/1.nix {};
linbox = callPackage ../development/libraries/linbox {
# We need to use blas instead of openblas on darwin, see
# https://github.com/NixOS/nixpkgs/pull/45013 and