Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mkl: 2019.3 -> 2019.5 #71476

Merged
merged 2 commits into from Oct 27, 2019
Merged

mkl: 2019.3 -> 2019.5 #71476

merged 2 commits into from Oct 27, 2019

Conversation

bhipple
Copy link
Contributor

@bhipple bhipple commented Oct 20, 2019

Includes bugfixes, new features, and performance improvements.

Full release notes here:
https://software.intel.com/en-us/articles/intel-math-kernel-library-release-notes-and-new-features

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.
Notify maintainers

cc @

Includes bugfixes, new features, and performance improvements.

Full release notes here:
https://software.intel.com/en-us/articles/intel-math-kernel-library-release-notes-and-new-features
Copy link
Contributor Author

@bhipple bhipple left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I built this and tested it on NixOS with sandboxing, and built up through NumPy on py2/py3. Seems to be working fine, but I did not test Darwin explicitly besides updating the sha256.

CC @markuskowa @smaret

done
install_name_tool -change @rpath/libiomp5.dylib $out/lib/libiomp5.dylib $out/lib/libmkl_intel_thread.dylib
install_name_tool -change @rpath/libtbb.dylib $out/lib/libtbb.dylib $out/lib/libmkl_tbb_thread.dylib
install_name_tool -change @rpath/libtbbmalloc.dylib $out/lib/libtbbmalloc.dylib $out/lib/libtbbmalloc_proxy.dylib
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just consistently indenting this.


in stdenvNoCC.mkDerivation {
pname = "mkl";
inherit version;
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I moved the version subcomponents up into a let binding to avoid leaking them all into the derivation, and then added some more custom ones to avoid duplication/wordiness inside the RPM extractions.

@veprbl
Copy link
Member

veprbl commented Oct 22, 2019

For some reason undmg crashes:

unpacking sources
unpacking source archive /nix/store/1jg2vljjzkykw5hil40idqrsfn8i3315-m_mkl_2019.5.281.dmg
/nix/store/x27s6d91scidhvg72hrx94dgwin7fx4a-undmg-1.0.3/nix-support/setup-hook: line 2: 74066 Segmentation fault: 11  undmg < "$curSrc"
do not know how to unpack source archive /nix/store/1jg2vljjzkykw5hil40idqrsfn8i3315-m_mkl_2019.5.281.dmg
builder for '/nix/store/69q9n44kspyakljxxjmb13yxp56nzkzz-mkl-2019.5.281.drv' failed with exit code 1
error: build of '/nix/store/69q9n44kspyakljxxjmb13yxp56nzkzz-mkl-2019.5.281.drv' failed

At the same time, building mkl from the parent commit works.

@FRidh FRidh requested a review from markuskowa October 24, 2019 08:16
Copy link
Member

@markuskowa markuskowa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nix-review succeeds. Update looks good to me.

@bhipple
Copy link
Contributor Author

bhipple commented Oct 24, 2019

For some reason undmg crashes

Is there a way I can reproduce this without a Mac?

@veprbl
Copy link
Member

veprbl commented Oct 24, 2019

Is there a way I can reproduce this without a Mac?

Yes. This fails on linux too:

with import <nixpkgs> {};
  
stdenv.mkDerivation {
  name = "undmg-test";
  src = fetchurl {
    url = "https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15822/m_mkl_2019.5.281.dmg";
    sha256 = "014c91jzsvbhjpqafgzwvlzh7f8h2mbnmp4mk978xx838apsnxf9";
  };
  nativeBuildInputs = [ undmg ];
}
unpacking sources
unpacking source archive /nix/store/1jg2vljjzkykw5hil40idqrsfn8i3315-m_mkl_2019.5.281.dmg
/nix/store/rbbbb1lqrc1mx1m1qy2w3d5m3b5ygsg4-undmg-1.0.3/nix-support/setup-hook: line 2:   465 Segmentation fault      undmg < "$curSrc"
do not know how to unpack source archive /nix/store/1jg2vljjzkykw5hil40idqrsfn8i3315-m_mkl_2019.5.281.dmg
builder for '/nix/store/7ybah40ig46hsq15m3czymgh02bhsn5l-undmg-test.drv' failed with exit code 1

@veprbl
Copy link
Member

veprbl commented Oct 24, 2019

I think we are facing matthewbauer/undmg#4

@veprbl
Copy link
Member

veprbl commented Oct 24, 2019

We could keep the old mkl version on darwin and update only on linux until the issue is resolved. If we do that, we should leave a comment pointing to the undmg issue.

@bhipple
Copy link
Contributor Author

bhipple commented Oct 26, 2019

I've updated the PR to leave Darwin on the old version. The hash of the Linux package is unchaged from the previous commit at /nix/store/d79x6zfbq3dkvkz19xldamnnias7swd4-mkl-2019.5.281 , so no need to re-test that one; let me know if the Darwin one still works with the refactored package expressions but the unchanged src version.

Copy link
Member

@veprbl veprbl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Builds on darwin

@veprbl veprbl merged commit fa1e275 into NixOS:master Oct 27, 2019
@veprbl
Copy link
Member

veprbl commented Oct 27, 2019

@bhipple Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants