Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 9cbb9a308be5
Choose a base ref
...
head repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 5e93492b7f28
Choose a head ref
  • 2 commits
  • 1 file changed
  • 1 contributor

Commits on Oct 28, 2020

  1. Copy the full SHA
    4ac0258 View commit details

Commits on Nov 11, 2020

  1. Merge pull request #101917 from danieldk/pytorch-1.7.0

    python3Packages.pytorch: 1.6.0 -> 1.7.0
    danieldk authored Nov 11, 2020

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    5e93492 View commit details
Showing with 26 additions and 20 deletions.
  1. +26 −20 pkgs/development/python-modules/pytorch/default.nix
46 changes: 26 additions & 20 deletions pkgs/development/python-modules/pytorch/default.nix
Original file line number Diff line number Diff line change
@@ -4,8 +4,18 @@
openMPISupport ? false, openmpi ? null,
buildDocs ? false,
cudaArchList ? null,
numpy, pyyaml, cffi, click, typing, cmake, hypothesis, numactl, psutil,
linkFarm, symlinkJoin,

# Native build inputs
cmake, utillinux, linkFarm, symlinkJoin, which,

# Build inputs
numactl,

# Propagated build inputs
dataclasses, numpy, pyyaml, cffi, click, typing-extensions,

# Unit tests
hypothesis, psutil,

# virtual pkg that consistently instantiates blas across nixpkgs
# See https://github.com/NixOS/nixpkgs/pull/83888
@@ -17,7 +27,7 @@
# dependencies for torch.utils.tensorboard
pillow, six, future, tensorflow-tensorboard, protobuf,

utillinux, which, isPy3k }:
isPy3k, pythonOlder }:

assert !openMPISupport || openmpi != null;

@@ -102,7 +112,7 @@ let
in buildPythonPackage rec {
pname = "pytorch";
# Don't forget to update pytorch-bin to the same version.
version = "1.6.0";
version = "1.7.0";

disabled = !isPy3k;

@@ -117,23 +127,10 @@ in buildPythonPackage rec {
repo = "pytorch";
rev = "v${version}";
fetchSubmodules = true;
sha256 = "14hhjsi6fnpaw9m1a3bhvdinsks6fhss6bbcrfk6jgns64abqdaz";
sha256 = "0hb11m5kvs4nsi5bc9ijnv6k07593p9dw40rcn33s9vspinrcjd4";
};

patches = lib.optionals stdenv.isAarch64 [
# GNU aarch64 assembler does not support 4s on neon mov:
# https://github.com/pytorch/pytorch/issues/33124
#
# Fix from:
# https://github.com/pytorch/pytorch/pull/40584
#
# This patch can be removed with the next major version (1.7.0).
(fetchpatch {
name = "qnnpack-neon-fix.patch";
url = "https://github.com/pytorch/pytorch/commit/7676682584d0caf9243bce74ea0a88711ec4a807.diff";
sha256 = "13spncaqlpsp8qk2850yly7xqwmhhfwznhmzkk8jgpslkbx75vgq";
})
] ++ lib.optionals stdenv.isDarwin [
patches = lib.optionals stdenv.isDarwin [
# pthreadpool added support for Grand Central Dispatch in April
# 2020. However, this relies on functionality (DISPATCH_APPLY_AUTO)
# that is available starting with macOS 10.13. However, our current
@@ -142,6 +139,13 @@ in buildPythonPackage rec {
./pthreadpool-disable-gcd.diff
];

# The dataclasses module is included with Python >= 3.7. This should
# be fixed with the next PyTorch release.
postPatch = ''
substituteInPlace setup.py \
--replace "'dataclasses'" "'dataclasses; python_version < \"3.7\"'"
'';

preConfigure = lib.optionalString cudaSupport ''
export TORCH_CUDA_ARCH_LIST="${lib.strings.concatStringsSep ";" final_cudaArchList}"
export CC=${cudatoolkit.cc}/bin/gcc CXX=${cudatoolkit.cc}/bin/g++
@@ -217,9 +221,11 @@ in buildPythonPackage rec {
click
numpy
pyyaml
typing-extensions
# the following are required for tensorboard support
pillow six future tensorflow-tensorboard protobuf
] ++ lib.optionals openMPISupport [ openmpi ];
] ++ lib.optionals openMPISupport [ openmpi ]
++ lib.optionals (pythonOlder "3.7") [ dataclasses ];

checkInputs = [ hypothesis ninja psutil ];