2023-10-02 00:36:12 +00:00
|
|
|
{ callPackage
|
|
|
|
, recurseIntoAttrs
|
2023-10-02 01:05:32 +00:00
|
|
|
, cudaPackages
|
|
|
|
, python3Packages
|
|
|
|
, elfutils
|
|
|
|
, boost179
|
2023-10-02 00:36:12 +00:00
|
|
|
}:
|
|
|
|
|
|
|
|
let
|
|
|
|
rocmUpdateScript = callPackage ./update.nix { };
|
2023-10-02 01:05:32 +00:00
|
|
|
in rec {
|
|
|
|
## RadeonOpenCompute ##
|
2023-10-02 11:12:00 +00:00
|
|
|
llvm = recurseIntoAttrs (callPackage ./llvm/default.nix { inherit rocmUpdateScript rocm-device-libs rocm-runtime rocm-thunk clr; });
|
2023-10-02 01:05:32 +00:00
|
|
|
|
|
|
|
rocm-core = callPackage ./rocm-core {
|
|
|
|
inherit rocmUpdateScript;
|
|
|
|
stdenv = llvm.rocmClangStdenv;
|
|
|
|
};
|
|
|
|
|
|
|
|
rocm-cmake = callPackage ./rocm-cmake {
|
|
|
|
inherit rocmUpdateScript;
|
|
|
|
stdenv = llvm.rocmClangStdenv;
|
|
|
|
};
|
|
|
|
|
|
|
|
rocm-thunk = callPackage ./rocm-thunk {
|
|
|
|
inherit rocmUpdateScript;
|
|
|
|
stdenv = llvm.rocmClangStdenv;
|
|
|
|
};
|
|
|
|
|
|
|
|
rocm-smi = python3Packages.callPackage ./rocm-smi {
|
|
|
|
inherit rocmUpdateScript;
|
|
|
|
stdenv = llvm.rocmClangStdenv;
|
|
|
|
};
|
|
|
|
|
|
|
|
# Eventually will be in the LLVM repo
|
|
|
|
rocm-device-libs = callPackage ./rocm-device-libs {
|
|
|
|
inherit rocmUpdateScript rocm-cmake;
|
|
|
|
stdenv = llvm.rocmClangStdenv;
|
|
|
|
};
|
|
|
|
|
|
|
|
rocm-runtime = callPackage ./rocm-runtime {
|
|
|
|
inherit rocmUpdateScript rocm-device-libs rocm-thunk;
|
|
|
|
stdenv = llvm.rocmClangStdenv;
|
|
|
|
};
|
|
|
|
|
|
|
|
# Eventually will be in the LLVM repo
|
|
|
|
rocm-comgr = callPackage ./rocm-comgr {
|
|
|
|
inherit rocmUpdateScript rocm-cmake rocm-device-libs;
|
|
|
|
stdenv = llvm.rocmClangStdenv;
|
|
|
|
};
|
|
|
|
|
|
|
|
rocminfo = callPackage ./rocminfo {
|
|
|
|
inherit rocmUpdateScript rocm-cmake rocm-runtime;
|
|
|
|
stdenv = llvm.rocmClangStdenv;
|
|
|
|
};
|
|
|
|
|
|
|
|
clang-ocl = callPackage ./clang-ocl {
|
|
|
|
inherit rocmUpdateScript rocm-cmake rocm-device-libs;
|
|
|
|
stdenv = llvm.rocmClangStdenv;
|
|
|
|
};
|
|
|
|
|
2023-10-02 07:00:19 +00:00
|
|
|
# Unfree
|
|
|
|
hsa-amd-aqlprofile-bin = callPackage ./hsa-amd-aqlprofile-bin {
|
|
|
|
stdenv = llvm.rocmClangStdenv;
|
|
|
|
};
|
|
|
|
|
2023-10-02 01:05:32 +00:00
|
|
|
# Broken, too many errors
|
|
|
|
rdc = callPackage ./rdc {
|
|
|
|
inherit rocmUpdateScript rocm-smi rocm-runtime;
|
|
|
|
# stdenv = llvm.rocmClangStdenv;
|
|
|
|
};
|
|
|
|
|
|
|
|
## ROCm-Developer-Tools ##
|
|
|
|
hip-common = callPackage ./hip-common {
|
|
|
|
inherit rocmUpdateScript;
|
|
|
|
stdenv = llvm.rocmClangStdenv;
|
|
|
|
};
|
|
|
|
|
|
|
|
# Eventually will be in the LLVM repo
|
|
|
|
hipcc = callPackage ./hipcc {
|
|
|
|
inherit rocmUpdateScript;
|
|
|
|
stdenv = llvm.rocmClangStdenv;
|
|
|
|
};
|
|
|
|
|
2023-10-04 01:42:42 +00:00
|
|
|
# Replaces hip, opencl-runtime, and rocclr
|
2023-10-02 01:05:32 +00:00
|
|
|
clr = callPackage ./clr {
|
|
|
|
inherit rocmUpdateScript hip-common hipcc rocm-device-libs rocm-comgr rocm-runtime roctracer rocminfo;
|
|
|
|
inherit (llvm) clang;
|
|
|
|
stdenv = llvm.rocmClangStdenv;
|
|
|
|
};
|
|
|
|
|
|
|
|
hipify = callPackage ./hipify {
|
|
|
|
inherit rocmUpdateScript;
|
|
|
|
inherit (llvm) clang;
|
|
|
|
stdenv = llvm.rocmClangStdenv;
|
|
|
|
};
|
|
|
|
|
|
|
|
# Needs GCC
|
|
|
|
rocprofiler = callPackage ./rocprofiler {
|
|
|
|
inherit (llvm) clang;
|
|
|
|
inherit rocmUpdateScript clr rocm-thunk roctracer rocm-smi hsa-amd-aqlprofile-bin;
|
|
|
|
};
|
|
|
|
|
|
|
|
# Needs GCC
|
|
|
|
roctracer = callPackage ./roctracer {
|
|
|
|
inherit rocmUpdateScript rocm-device-libs rocm-runtime rocprofiler clr;
|
|
|
|
inherit (llvm) clang;
|
|
|
|
};
|
|
|
|
|
|
|
|
# Needs GCC
|
|
|
|
rocgdb = callPackage ./rocgdb {
|
|
|
|
inherit rocmUpdateScript;
|
|
|
|
elfutils = elfutils.override { enableDebuginfod = true; };
|
|
|
|
};
|
|
|
|
|
|
|
|
rocdbgapi = callPackage ./rocdbgapi {
|
|
|
|
inherit rocmUpdateScript rocm-cmake rocm-comgr rocm-runtime;
|
|
|
|
stdenv = llvm.rocmClangStdenv;
|
|
|
|
};
|
|
|
|
|
|
|
|
rocr-debug-agent = callPackage ./rocr-debug-agent {
|
|
|
|
inherit rocmUpdateScript clr rocdbgapi;
|
|
|
|
stdenv = llvm.rocmClangStdenv;
|
|
|
|
};
|
|
|
|
|
2023-10-04 01:42:42 +00:00
|
|
|
## ROCmSoftwarePlatform ##
|
|
|
|
rocprim = callPackage ./rocprim {
|
|
|
|
inherit rocmUpdateScript rocm-cmake clr;
|
2023-10-02 01:05:32 +00:00
|
|
|
stdenv = llvm.rocmClangStdenv;
|
|
|
|
};
|
|
|
|
|
2023-10-04 01:42:42 +00:00
|
|
|
rocsparse = callPackage ./rocsparse {
|
|
|
|
inherit rocmUpdateScript rocm-cmake rocprim clr;
|
2023-10-02 01:05:32 +00:00
|
|
|
stdenv = llvm.rocmClangStdenv;
|
|
|
|
};
|
|
|
|
|
2023-10-04 01:42:42 +00:00
|
|
|
rocthrust = callPackage ./rocthrust {
|
|
|
|
inherit rocmUpdateScript rocm-cmake rocprim clr;
|
2023-10-02 01:05:32 +00:00
|
|
|
stdenv = llvm.rocmClangStdenv;
|
|
|
|
};
|
|
|
|
|
2023-10-04 01:42:42 +00:00
|
|
|
rocrand = callPackage ./rocrand {
|
|
|
|
inherit rocmUpdateScript rocm-cmake clr;
|
2023-10-02 01:05:32 +00:00
|
|
|
stdenv = llvm.rocmClangStdenv;
|
|
|
|
};
|
|
|
|
|
2023-10-04 01:42:42 +00:00
|
|
|
hiprand = rocrand; # rocrand includes hiprand
|
|
|
|
|
|
|
|
rocfft = callPackage ./rocfft {
|
|
|
|
inherit rocmUpdateScript rocm-cmake rocrand rocfft clr;
|
2023-10-02 01:05:32 +00:00
|
|
|
inherit (llvm) openmp;
|
|
|
|
stdenv = llvm.rocmClangStdenv;
|
|
|
|
};
|
|
|
|
|
2023-10-04 01:42:42 +00:00
|
|
|
rccl = callPackage ./rccl {
|
|
|
|
inherit rocmUpdateScript rocm-cmake rocm-smi clr hipify;
|
2023-10-02 01:05:32 +00:00
|
|
|
stdenv = llvm.rocmClangStdenv;
|
|
|
|
};
|
|
|
|
|
2023-10-04 01:42:42 +00:00
|
|
|
hipcub = callPackage ./hipcub {
|
|
|
|
inherit rocmUpdateScript rocm-cmake rocprim clr;
|
2023-10-02 01:05:32 +00:00
|
|
|
stdenv = llvm.rocmClangStdenv;
|
|
|
|
};
|
|
|
|
|
2023-10-04 01:42:42 +00:00
|
|
|
hipsparse = callPackage ./hipsparse {
|
|
|
|
inherit rocmUpdateScript rocm-cmake rocsparse clr;
|
|
|
|
inherit (llvm) openmp;
|
2023-10-02 01:05:32 +00:00
|
|
|
stdenv = llvm.rocmClangStdenv;
|
|
|
|
};
|
|
|
|
|
2023-10-04 01:42:42 +00:00
|
|
|
hipfort = callPackage ./hipfort {
|
|
|
|
inherit rocmUpdateScript rocm-cmake;
|
2023-10-02 01:05:32 +00:00
|
|
|
stdenv = llvm.rocmClangStdenv;
|
|
|
|
};
|
|
|
|
|
2023-10-04 01:42:42 +00:00
|
|
|
hipfft = callPackage ./hipfft {
|
|
|
|
inherit rocmUpdateScript rocm-cmake rocfft clr;
|
2023-10-02 01:05:32 +00:00
|
|
|
inherit (llvm) openmp;
|
|
|
|
stdenv = llvm.rocmClangStdenv;
|
|
|
|
};
|
|
|
|
|
2023-10-04 01:42:42 +00:00
|
|
|
tensile = python3Packages.callPackage ./tensile {
|
|
|
|
inherit rocmUpdateScript rocminfo;
|
2023-10-02 01:05:32 +00:00
|
|
|
stdenv = llvm.rocmClangStdenv;
|
|
|
|
};
|
|
|
|
|
2023-10-04 01:42:42 +00:00
|
|
|
rocblas = callPackage ./rocblas {
|
|
|
|
inherit rocmUpdateScript rocm-cmake clr tensile;
|
|
|
|
inherit (llvm) openmp;
|
2023-10-02 01:05:32 +00:00
|
|
|
stdenv = llvm.rocmClangStdenv;
|
|
|
|
};
|
|
|
|
|
2023-10-04 01:42:42 +00:00
|
|
|
rocsolver = callPackage ./rocsolver {
|
|
|
|
inherit rocmUpdateScript rocm-cmake rocblas rocsparse clr;
|
2023-10-02 01:05:32 +00:00
|
|
|
stdenv = llvm.rocmClangStdenv;
|
|
|
|
};
|
|
|
|
|
2023-10-04 01:42:42 +00:00
|
|
|
rocwmma = callPackage ./rocwmma {
|
|
|
|
inherit rocmUpdateScript rocm-cmake rocm-smi rocblas clr;
|
|
|
|
inherit (llvm) openmp;
|
2023-10-02 01:05:32 +00:00
|
|
|
stdenv = llvm.rocmClangStdenv;
|
|
|
|
};
|
|
|
|
|
2023-10-04 01:42:42 +00:00
|
|
|
rocalution = callPackage ./rocalution {
|
|
|
|
inherit rocmUpdateScript rocm-cmake rocprim rocsparse rocrand rocblas clr;
|
2023-10-02 01:05:32 +00:00
|
|
|
inherit (llvm) openmp;
|
|
|
|
stdenv = llvm.rocmClangStdenv;
|
|
|
|
};
|
|
|
|
|
2023-10-04 01:42:42 +00:00
|
|
|
rocmlir = callPackage ./rocmlir {
|
|
|
|
inherit rocmUpdateScript rocm-cmake clr;
|
2023-10-02 01:05:32 +00:00
|
|
|
stdenv = llvm.rocmClangStdenv;
|
|
|
|
};
|
|
|
|
|
2023-10-04 01:42:42 +00:00
|
|
|
rocmlir-rock = rocmlir.override {
|
|
|
|
buildRockCompiler = true;
|
2023-10-02 01:05:32 +00:00
|
|
|
};
|
|
|
|
|
2023-10-04 01:42:42 +00:00
|
|
|
hipsolver = callPackage ./hipsolver {
|
|
|
|
inherit rocmUpdateScript rocm-cmake rocblas rocsolver clr;
|
2023-10-02 01:05:32 +00:00
|
|
|
stdenv = llvm.rocmClangStdenv;
|
|
|
|
};
|
|
|
|
|
2023-10-04 01:42:42 +00:00
|
|
|
hipblas = callPackage ./hipblas {
|
|
|
|
inherit rocmUpdateScript rocm-cmake rocblas rocsolver clr;
|
2023-10-02 01:05:32 +00:00
|
|
|
stdenv = llvm.rocmClangStdenv;
|
|
|
|
};
|
|
|
|
|
2023-10-04 01:42:42 +00:00
|
|
|
# hipBlasLt - Very broken with Tensile at the moment, only supports GFX9
|
|
|
|
# hipTensor - Only supports GFX9
|
|
|
|
|
2023-10-02 01:05:32 +00:00
|
|
|
miopengemm = callPackage ./miopengemm {
|
2023-10-04 01:42:42 +00:00
|
|
|
inherit rocmUpdateScript rocm-cmake clr;
|
2023-10-02 01:05:32 +00:00
|
|
|
stdenv = llvm.rocmClangStdenv;
|
|
|
|
};
|
|
|
|
|
2023-10-04 01:42:42 +00:00
|
|
|
composable_kernel = callPackage ./composable_kernel {
|
|
|
|
inherit (llvm) openmp clang-tools-extra;
|
2023-10-02 01:05:32 +00:00
|
|
|
stdenv = llvm.rocmClangStdenv;
|
|
|
|
};
|
|
|
|
|
|
|
|
miopen = callPackage ./miopen {
|
2023-10-04 01:42:42 +00:00
|
|
|
inherit rocmUpdateScript rocm-cmake rocblas clang-ocl miopengemm composable_kernel rocm-comgr clr rocm-docs-core half;
|
|
|
|
inherit (llvm) clang-tools-extra;
|
2023-10-02 01:05:32 +00:00
|
|
|
stdenv = llvm.rocmClangStdenv;
|
|
|
|
rocmlir = rocmlir-rock;
|
|
|
|
boost = boost179.override { enableStatic = true; };
|
|
|
|
};
|
|
|
|
|
|
|
|
miopen-hip = miopen.override {
|
|
|
|
useOpenCL = false;
|
|
|
|
};
|
|
|
|
|
|
|
|
miopen-opencl = miopen.override {
|
|
|
|
useOpenCL = true;
|
|
|
|
};
|
2023-10-04 01:42:42 +00:00
|
|
|
|
|
|
|
migraphx = callPackage ./migraphx {
|
|
|
|
inherit rocmUpdateScript rocm-cmake rocblas composable_kernel miopengemm miopen clr half rocm-device-libs;
|
|
|
|
inherit (llvm) openmp clang-tools-extra;
|
|
|
|
stdenv = llvm.rocmClangStdenv;
|
|
|
|
rocmlir = rocmlir-rock;
|
|
|
|
};
|
2023-10-02 00:36:12 +00:00
|
|
|
}
|