Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at gcc-offload 86 lines 1.5 kB view raw
1{ 2 config, 3 lib, 4 stdenv, 5 buildPythonPackage, 6 fetchFromGitLab, 7 8 cudaSupport ? config.cudaSupport, 9 10 # build-system 11 setuptools, 12 13 # dependencies 14 astropy, 15 ducc0, 16 h5py, 17 jax, 18 jaxlib, 19 matplotlib, 20 mpi, 21 mpi4py, 22 numpy, 23 scipy, 24 25 # test 26 pytestCheckHook, 27 mpiCheckPhaseHook, 28 openssh, 29}: 30 31buildPythonPackage rec { 32 pname = "nifty8"; 33 version = "8.5.2"; 34 pyproject = true; 35 36 src = fetchFromGitLab { 37 domain = "gitlab.mpcdf.mpg.de"; 38 owner = "ift"; 39 repo = "nifty"; 40 rev = "v${version}"; 41 hash = "sha256-EWsJX+iqKOhQXEWlQfYUiPYqyfOfrwLtbI+DVn7vCQI="; 42 }; 43 44 build-system = [ setuptools ]; 45 46 dependencies = [ 47 astropy 48 ducc0 49 h5py 50 jax 51 (jaxlib.override { inherit cudaSupport; }) 52 matplotlib 53 mpi4py 54 mpi 55 numpy 56 scipy 57 ]; 58 59 nativeCheckInputs = [ 60 pytestCheckHook 61 mpiCheckPhaseHook 62 openssh 63 ]; 64 65 checkPhase = '' 66 runHook preCheck 67 68 python3 -m pytest test 69 70 if [ "${stdenv.buildPlatform.system}" != "aarch64-linux" ] && \ 71 [ "${stdenv.buildPlatform.system}" != "x86_64-darwin" ]; then 72 ${mpi}/bin/mpiexec -n 2 --bind-to none python3 -m pytest test/test_mpi 73 fi 74 75 runHook postCheck 76 ''; 77 78 pythonImportsCheck = [ "nifty8" ]; 79 80 meta = { 81 homepage = "https://gitlab.mpcdf.mpg.de/ift/nifty"; 82 description = "Bayesian Imaging library for high-dimensional posteriors"; 83 license = lib.licenses.gpl3; 84 maintainers = with lib.maintainers; [ parras ]; 85 }; 86}