lol

rocfft: init at 1.0.18-5.3.1

Madoura 9acda2f4 30b66b2b

+116
+114
pkgs/development/libraries/rocfft/default.nix
··· 1 + { lib 2 + , stdenv 3 + , fetchFromGitHub 4 + , cmake 5 + , rocm-cmake 6 + , rocm-runtime 7 + , rocm-device-libs 8 + , rocm-comgr 9 + , hip 10 + , sqlite 11 + , python3 12 + , gtest ? null 13 + , boost ? null 14 + , fftw ? null 15 + , fftwFloat ? null 16 + , llvmPackages ? null 17 + , buildTests ? false 18 + , buildBenchmarks ? false 19 + }: 20 + 21 + assert buildTests -> gtest != null; 22 + assert buildBenchmarks -> fftw != null; 23 + assert buildBenchmarks -> fftwFloat != null; 24 + assert (buildTests || buildBenchmarks) -> boost != null; 25 + assert (buildTests || buildBenchmarks) -> llvmPackages != null; 26 + 27 + stdenv.mkDerivation rec { 28 + pname = "rocfft"; 29 + rocmVersion = "5.3.1"; 30 + version = "1.0.18-${rocmVersion}"; 31 + 32 + outputs = [ 33 + "out" 34 + ] ++ lib.optionals buildTests [ 35 + "test" 36 + ] ++ lib.optionals buildBenchmarks [ 37 + "benchmark" 38 + ]; 39 + 40 + src = fetchFromGitHub { 41 + owner = "ROCmSoftwarePlatform"; 42 + repo = "rocFFT"; 43 + rev = "rocm-${rocmVersion}"; 44 + hash = "sha256-jb2F1fRe+YLloYJ/KtzrptUDhmdBDBtddeW/g55owKM="; 45 + }; 46 + 47 + nativeBuildInputs = [ 48 + cmake 49 + rocm-cmake 50 + hip 51 + ]; 52 + 53 + buildInputs = [ 54 + rocm-runtime 55 + rocm-device-libs 56 + rocm-comgr 57 + sqlite 58 + python3 59 + ] ++ lib.optionals buildTests [ 60 + gtest 61 + ] ++ lib.optionals (buildTests || buildBenchmarks) [ 62 + boost 63 + fftw 64 + fftwFloat 65 + llvmPackages.openmp 66 + ]; 67 + 68 + propogatedBuildInputs = lib.optionals buildTests [ 69 + fftw 70 + fftwFloat 71 + ]; 72 + 73 + cmakeFlags = [ 74 + "-DCMAKE_C_COMPILER=hipcc" 75 + "-DCMAKE_CXX_COMPILER=hipcc" 76 + "-DUSE_HIP_CLANG=ON" 77 + "-DSQLITE_USE_SYSTEM_PACKAGE=ON" 78 + # Manually define CMAKE_INSTALL_<DIR> 79 + # See: https://github.com/NixOS/nixpkgs/pull/197838 80 + "-DCMAKE_INSTALL_BINDIR=bin" 81 + "-DCMAKE_INSTALL_LIBDIR=lib" 82 + "-DCMAKE_INSTALL_INCLUDEDIR=include" 83 + ] ++ lib.optionals buildTests [ 84 + "-DBUILD_CLIENTS_TESTS=ON" 85 + ] ++ lib.optionals buildBenchmarks [ 86 + "-DBUILD_CLIENTS_RIDER=ON" 87 + "-DBUILD_CLIENTS_SAMPLES=ON" 88 + ]; 89 + 90 + postInstall = lib.optionalString buildTests '' 91 + mkdir -p $test/{bin,lib/fftw} 92 + cp -a $out/bin/* $test/bin 93 + ln -s ${fftw}/lib/libfftw*.so $test/lib/fftw 94 + ln -s ${fftwFloat}/lib/libfftw*.so $test/lib/fftw 95 + rm -r $out/lib/fftw 96 + rm $test/bin/{rocfft_rtc_helper,*-rider} || true 97 + '' + lib.optionalString buildBenchmarks '' 98 + mkdir -p $benchmark/bin 99 + cp -a $out/bin/* $benchmark/bin 100 + rm $benchmark/bin/{rocfft_rtc_helper,*-test} || true 101 + '' + lib.optionalString (buildTests || buildBenchmarks ) '' 102 + mv $out/bin/rocfft_rtc_helper $out 103 + rm -r $out/bin/* 104 + mv $out/rocfft_rtc_helper $out/bin 105 + ''; 106 + 107 + meta = with lib; { 108 + description = "FFT implementation for ROCm "; 109 + homepage = "https://github.com/ROCmSoftwarePlatform/rocFFT"; 110 + license = with licenses; [ mit ]; 111 + maintainers = with maintainers; [ Madouura ]; 112 + broken = rocmVersion != hip.version; 113 + }; 114 + }
+2
pkgs/top-level/all-packages.nix
··· 14887 14887 14888 14888 rocsparse = callPackage ../development/libraries/rocsparse { }; 14889 14889 14890 + rocfft = callPackage ../development/libraries/rocfft { }; 14891 + 14890 14892 rtags = callPackage ../development/tools/rtags { 14891 14893 inherit (darwin) apple_sdk; 14892 14894 };