Commit Graph

95 Commits

Author SHA1 Message Date
Ben Siraphob 66e44425c6 pkgs/development/libraries: stdenv.lib -> lib 2021-01-21 19:11:02 -08:00
Jonathan Ringer 0137860077 openblas: 0.3.12 -> 0.3.13 2021-01-04 00:22:23 -08:00
github-actions[bot] 581059aed4
Merge staging-next into staging 2021-01-04 00:57:38 +00:00
John Ericson f52263ced0 treewide: Start to break up static overlay
We can use use `stdenv.hostPlatform.isStatic` instead, and move the
logic per package. The least opionated benefit of this is that it makes
it much easier to replace packages with modified ones, as there is no
longer any issue of overlay order.

CC @FRidh @matthewbauer
2021-01-03 19:18:16 +00:00
Thomas Tuegel c3356a6e1c
Merge pull request #97306 from danieldk/openblas-avx512
openblas: re-enable AVX512 support
2020-12-29 05:43:05 -06:00
TredwellGit d1d536cc07 openblas: 0.3.10 -> 0.3.12
https://github.com/xianyi/OpenBLAS/releases/tag/v0.3.11
https://github.com/xianyi/OpenBLAS/releases/tag/v0.3.12
2020-11-01 10:58:02 +01:00
Andreas Rammhold f715602feb Revert "openblas: 0.3.10 -> 0.3.12"
This reverts commit e1a59dddd0. Testing
the PR succeeded for me as The previously half-done changes were already
reverted without me merging.
2020-10-28 10:00:54 +01:00
Andreas Rammhold 840c20169e
Merge pull request #101715 from r-ryantm/auto-update/openblas
openblas: 0.3.10 -> 0.3.12
2020-10-28 09:57:20 +01:00
R. RyanTM e1a59dddd0 openblas: 0.3.10 -> 0.3.12 2020-10-28 09:49:29 +01:00
Frederik Rietdijk 4e29151910 Revert "Merge pull request #101780 from glittershark/bump-openblas"
Hash is updated but not the version.

This reverts commit 8b98955451, reversing
changes made to 5e2fde0a4f.
2020-10-28 09:47:48 +01:00
Griffin Smith 3b4cd4f4da openblas: 0.3.10 -> 0.3.12 2020-10-26 19:24:23 -04:00
Frederik Rietdijk 692d219a93 Merge staging-next into staging 2020-10-06 10:25:58 +02:00
Jonathan Ringer 7902256cfd openblas: enable multiple outputs 2020-10-05 16:15:14 -07:00
Daniël de Kok 383075f38b openblas: re-enable AVX512 support
AVX512 support was disabled due to an issue in the AVX512 DGEMM
kernel:

https://github.com/NixOS/nixpkgs/issues/59708

However, this kernel has been replaced upstream a while ago:

https://github.com/xianyi/OpenBLAS/releases/tag/v0.3.8

And they have enabled AVX512 kernels since then.
2020-09-06 20:46:35 +02:00
R. RyanTM f79c05b113 openblas: 0.3.9 -> 0.3.10 2020-06-19 10:59:46 +02:00
Ryan Burns 92d7b38e89 openblas: enable on ppc64le 2020-10-02 18:10:44 -07:00
Benjamin Hipple 706642091e mkl: include symlinks to versioned libblas.so.3 names
Some build systems look for this specifically.
2020-05-08 06:52:02 +02:00
Jonathan Ringer c1e605dd6b openblas: also export unversioned libraries for linux 2020-05-08 06:52:02 +02:00
Markus Kowalewski 15cd0bd993 openblas: 0.3.8 -> 0.3.9 2020-05-01 09:02:51 +02:00
Matthew Bauer 5a500ff0ba blas,lapack: use correct name for library
To match the soname, we need to use libblas.so.3, liblapack.so.3.
2020-04-22 12:37:04 -05:00
Matthew Bauer 43873351ff blas/lapack: add wrapper for “alternative”s of BLAS/LAPACK provider
This is based on previous work for switching between BLAS and LAPACK
implementation in Debian[1] and Gentoo[2]. The goal is to have one way
to depend on the BLAS/LAPACK libraries that all packages must use. The
attrs “blas” and “lapack” are used to represent a wrapped BLAS/LAPACK
provider. Derivations that don’t care how BLAS and LAPACK are
implemented can just use blas and lapack directly. If you do care what
you get (perhaps for some CPP), you should verify that blas and lapack
match what you expect with an assertion.

The “blas” package collides with the old “blas” reference
implementation. This has been renamed to “blas-reference”. In
addition, “lapack-reference” is also included, corresponding to
“liblapack” from Netlib.org.

Currently, there are 3 providers of the BLAS and LAPACK interfaces:

- lapack-reference: the BLAS/LAPACK implementation maintained by netlib.org
- OpenBLAS: an optimized version of BLAS and LAPACK
- MKL: Intel’s unfree but highly optimized BLAS/LAPACK implementation

By default, the above implementations all use the “LP64” BLAS and
LAPACK ABI. This corresponds to “openblasCompat” and is the safest way
to use BLAS/LAPACK. You may received some benefits from “ILP64” or
8-byte integer BLAS at the expense of breaking compatibility with some
packages.

This can be switched at build time with an override like:

    import <nixpkgs> {
        config.allowUnfree = true;
        overlays = [(self: super: {
          lapack = super.lapack.override {
            lapackProvider = super.lapack-reference;
          };
          blas = super.blas.override {
            blasProvider = super.lapack-reference;
          };
        })];
      }

or, switched at runtime via LD_LIBRARY_PATH like:

    $ LD_LIBRARY_PATH=$(nix-build -E '(with import <nixpkgs> {}).lapack.override { lapackProvider = pkgs.mkl; is64bit = true; })')/lib:$(nix-build -E '(with import <nixpkgs> {}).blas.override { blasProvider = pkgs.mkl; is64bit = true; })')/lib ./your-blas-linked-binary

By default, we use OpenBLAS LP64 also known in Nixpkgs as
openblasCompat.

[1]: https://wiki.debian.org/DebianScience/LinearAlgebraLibraries
[2]: https://wiki.gentoo.org/wiki/Blas-lapack-switch
2020-04-17 16:23:55 -05:00
Michael Reilly 84cf00f980
treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
Niklas Hambüchen df907c4786 openblas: Add `singleThreaded` option. Off by default.
See https://github.com/xianyi/OpenBLAS/issues/2543
2020-04-08 13:46:04 +02:00
Tom Hall c6c753668d openblas: disable optimisation pending fix
See https://github.com/xianyi/OpenBLAS/issues/2496
2020-03-14 18:06:59 +00:00
R. RyanTM 6222192872 openblas: 0.3.7 -> 0.3.8 2020-02-11 12:01:57 +00:00
Frederik Rietdijk 867552957f openblas: fix static musl build 2020-01-03 12:50:47 +01:00
Tobias Mayer db5d3cdfe2 openblas: partially fix static build 2019-12-31 15:05:13 +01:00
Markus Kowalewski 6ff8958bef openblas: 0.3.6 -> 0.3.7 2019-08-18 11:49:24 +02:00
volth 46420bbaa3 treewide: name -> pname (easy cases) (#66585)
treewide replacement of

stdenv.mkDerivation rec {
  name = "*-${version}";
  version = "*";

to pname
2019-08-15 13:41:18 +01:00
volth f3282c8d1e treewide: remove unused variables (#63177)
* treewide: remove unused variables

* making ofborg happy
2019-06-16 19:59:05 +00:00
Niklas Hambüchen 8d5864eb47 openblas: Add enableStatic flag 2019-05-28 08:57:23 +02:00
Niklas Hambüchen 43fda1c96d openblas: 0.3.5 -> 0.3.6 2019-05-28 08:57:23 +02:00
Markus Kowalewski 6968c4f305 openblas: turn off AVX512 optimizations
The AVX512 optimization has a bug in openblas-0.3.5
and can also lead to slower code on Xeon Silver CPUs.

See https://github.com/xianyi/OpenBLAS/issues/1955
and https://github.com/xianyi/OpenBLAS/issues/2029
2019-04-27 07:07:49 +02:00
Markus Kowalewski fa28a838f3
openblas: fix aarch64 build 2019-03-31 12:19:41 +02:00
Averell Dalton d7806fe4ed openblas: adjust makeFlags handling 2019-02-23 09:13:57 +01:00
Will Dietz 32322da1a6 openblas: fix config breakage introduced for configs using 'false'
My earlier change mistakenly expected `toString false` to produce '0'
instead of the empty string, leading to unexpected config changes.

Intended to address issue mentioned here and in following discussion:

https://github.com/NixOS/nixpkgs/pull/53972#issuecomment-459981602

Sorry, folks!

(special-case handling of bools here makes this "cleanup" a bit
 less of an obvious win but hopefully still preferable overall :))

-----------

makeFlags in resulting derivation, according to this one-liner:

$ nix show-derivation -f . openblas|jq ".[].env.makeFlags"

before:
"BINARY=64 CC=cc CROSS= DYNAMIC_ARCH=1 FC=gfortran HOSTCC=cc INTERFACE64=1 NO_BINARY_MODE= NO_STATIC=1 NUM_THREADS=64 PREFIX=/1rz4g4znpzjwh1xymhjpm42vipw92pr73vdgl6xs1hycac8kf2n9 TARGET=ATHLON USE_OPENMP=1"

after:
"BINARY=64 CC=cc CROSS=0 DYNAMIC_ARCH=1 FC=gfortran HOSTCC=cc INTERFACE64=1 NO_BINARY_MODE=0 NO_STATIC=1 NUM_THREADS=64 PREFIX=/1rz4g4znpzjwh1xymhjpm42vipw92pr73vdgl6xs1hycac8kf2n9 TARGET=ATHLON USE_OPENMP=1"

Without knowing how `placeholder` works, it seems interesting if
entirely unrelated that the `PREFIX` is same for both! :). TIL.
2019-02-17 19:51:55 +01:00
Matthew Bauer 2433c575f0 openblas: fix on linux
This reverse changes made cfc4313 which broke builds on linux. Still
not sure why this broke Linux, but we can investigate it later.
“buildPackages.stdenv.cc” shouldn’t be put in nativeBuildInputs in
general. Either way, this restores hashes to before that commit.

thanks to @jethrokuan
2019-02-10 20:16:16 -05:00
Matthew Bauer cfc43138cb openblas: fix on darwin
The openblas script relies on CC=clang for succesfully compiling on
Darwin systems. This seems like bad behavior, but we get things like
https://hydra.nixos.org/build/87657058 otherwise.

Fixes #55536.
2019-02-10 18:49:04 -05:00
Vladimír Čunát 5effa4e0f9
Merge branch 'master' into staging-next
Comments on conflicts:
- llvm: d6f401e1 vs. 469ecc70 - docs for 6 and 7 say the default is
  to build all targets, so we should be fine
- some pypi hashes: they were equivalent, just base16 vs. base32
2019-02-01 09:22:29 +01:00
Markus Kowalewski 57c37456db
openblas: make the optimazation target overridable 2019-01-29 14:34:02 +01:00
Will Dietz 1f0467005d openblas: 0.3.4 -> 0.3.5, rework a bit (#53972)
* openblas: simplify a bit, fix doCheck so tests are enabled non-cross.

* doCheck should be 'true' in (at least) the non-cross case,
  this looks like an inverted check that's largely benign
* doCheck will be set to 'false' in the cross case anyway,
  makeDerivation does this IIRC
* targetPrefix can be used without checking, probably by design

Derivation hash does change but no "real" functionality change intended.

* openblas: nix types for config attrs (hash-preserving)

* openblas: more nix-ification, merge in cross attrs, prefer to always set

(but set appropriately for cross and non-cross cases both)

* I'm not sure what NO_BINARY_MODE does,
  this change now sets explicitly false in the non-cross scenario
  (previously unset unless cross).
* Drop musl NO_AFFINITY case, will be removed in upgrade shortly

* openblas: 0.3.4 -> 0.3.5
2019-01-15 16:36:07 +01:00
Frederik Rietdijk 05ee1015bb openblas: fix cross-compilation 2019-01-15 10:11:33 +01:00
Bas van Dijk 72eae72223 openblas: fix build on x86_64-darwin
See: https://github.com/xianyi/OpenBLAS/issues/1926
2018-12-20 13:25:44 +01:00
Frederik Rietdijk 4deb04a97a openblas: 0.3.3 -> 0.3.4 2018-12-07 15:21:25 +01:00
John Ericson c701d6cb21 Merge remote-tracking branch 'upstream/master' into staging 2018-09-25 14:20:27 -04:00
Will Dietz 8a0a34f766 openblas: try leaving openmp enabled w/musl 2018-09-25 00:08:17 -05:00
Dmitry Vyal 81caec3568 openblas-0.3.1 -> 0.3.3 2018-09-23 09:35:29 +02:00
Timo Kaufmann 408eacbc89 openblas: fix pkg-config alias name
Turns out the filename is important. It should be `cblas`, not
`openblas-cblas`.
2018-09-03 23:57:45 +02:00
Robert Schütz 93550cbddf Merge branch 'master' into staging-next 2018-08-31 17:32:48 +02:00
John Ericson 2c2f1e37d4 reewide: Purge all uses `stdenv.system` and top-level `system`
It is deprecated and will be removed after 18.09.
2018-08-30 17:20:32 -04:00