summaryrefslogtreecommitdiffstats
path: root/pkgs/development/rocm-modules
diff options
context:
space:
mode:
authorUlrik Strid <ulrik.strid@outlook.com>2024-03-22 15:08:59 +0100
committerGitHub <noreply@github.com>2024-03-22 15:08:59 +0100
commitb10ff2437b20db099a9171392a892dc460677a84 (patch)
treefd0a9052ad747fb73492de062445b4f596072eb0 /pkgs/development/rocm-modules
parent58165761786e03b4084b16cde3a023375ea5056d (diff)
parent9a4f48bb251a2275293a85611a503b46bbdcf9cb (diff)
Merge pull request #287846 from mschwaig/rocm-6.0.2
rocmPackages.* 5.7.1→ 6.0.2
Diffstat (limited to 'pkgs/development/rocm-modules')
-rw-r--r--pkgs/development/rocm-modules/6/clang-ocl/default.nix42
-rw-r--r--pkgs/development/rocm-modules/6/clr/default.nix189
-rw-r--r--pkgs/development/rocm-modules/6/clr/test-opencl-example.nix75
-rw-r--r--pkgs/development/rocm-modules/6/clr/test-rocm-smi.nix23
-rw-r--r--pkgs/development/rocm-modules/6/composable_kernel/default.nix94
-rw-r--r--pkgs/development/rocm-modules/6/default.nix524
-rw-r--r--pkgs/development/rocm-modules/6/half/default.nix39
-rw-r--r--pkgs/development/rocm-modules/6/hip-common/default.nix44
-rw-r--r--pkgs/development/rocm-modules/6/hipblas/default.nix99
-rw-r--r--pkgs/development/rocm-modules/6/hipcc/default.nix46
-rw-r--r--pkgs/development/rocm-modules/6/hipcub/default.nix90
-rw-r--r--pkgs/development/rocm-modules/6/hipfft/default.nix110
-rw-r--r--pkgs/development/rocm-modules/6/hipfort/default.nix66
-rw-r--r--pkgs/development/rocm-modules/6/hipify/default.nix47
-rw-r--r--pkgs/development/rocm-modules/6/hipsolver/default.nix100
-rw-r--r--pkgs/development/rocm-modules/6/hipsparse/default.nix136
-rw-r--r--pkgs/development/rocm-modules/6/hsa-amd-aqlprofile-bin/default.nix48
-rw-r--r--pkgs/development/rocm-modules/6/hsa-amd-aqlprofile-bin/update.nix57
-rw-r--r--pkgs/development/rocm-modules/6/llvm/base.nix175
-rw-r--r--pkgs/development/rocm-modules/6/llvm/default.nix58
-rw-r--r--pkgs/development/rocm-modules/6/llvm/stage-1/clang-unwrapped.nix47
-rw-r--r--pkgs/development/rocm-modules/6/llvm/stage-1/lld.nix14
-rw-r--r--pkgs/development/rocm-modules/6/llvm/stage-1/llvm.nix10
-rw-r--r--pkgs/development/rocm-modules/6/llvm/stage-1/runtimes.nix31
-rw-r--r--pkgs/development/rocm-modules/6/llvm/stage-2/1000-libcxx-failing-tests.list171
-rw-r--r--pkgs/development/rocm-modules/6/llvm/stage-2/bintools-unwrapped.nix28
-rw-r--r--pkgs/development/rocm-modules/6/llvm/stage-2/compiler-rt.nix63
-rw-r--r--pkgs/development/rocm-modules/6/llvm/stage-2/libc.nix26
-rw-r--r--pkgs/development/rocm-modules/6/llvm/stage-2/libcxx.nix42
-rw-r--r--pkgs/development/rocm-modules/6/llvm/stage-2/libcxxabi.nix37
-rw-r--r--pkgs/development/rocm-modules/6/llvm/stage-2/libunwind.nix26
-rw-r--r--pkgs/development/rocm-modules/6/llvm/stage-2/rstdenv.nix36
-rw-r--r--pkgs/development/rocm-modules/6/llvm/stage-3/0000-mlir-fix-debugtranslation.patch36
-rw-r--r--pkgs/development/rocm-modules/6/llvm/stage-3/1000-openmp-failing-tests.list122
-rw-r--r--pkgs/development/rocm-modules/6/llvm/stage-3/1001-mlir-failing-tests.list11
-rw-r--r--pkgs/development/rocm-modules/6/llvm/stage-3/clang-tools-extra.nix42
-rw-r--r--pkgs/development/rocm-modules/6/llvm/stage-3/clang.nix73
-rw-r--r--pkgs/development/rocm-modules/6/llvm/stage-3/flang.nix31
-rw-r--r--pkgs/development/rocm-modules/6/llvm/stage-3/libclc.nix36
-rw-r--r--pkgs/development/rocm-modules/6/llvm/stage-3/lldb.nix39
-rw-r--r--pkgs/development/rocm-modules/6/llvm/stage-3/mlir.nix57
-rw-r--r--pkgs/development/rocm-modules/6/llvm/stage-3/openmp.nix54
-rw-r--r--pkgs/development/rocm-modules/6/llvm/stage-3/polly.nix18
-rw-r--r--pkgs/development/rocm-modules/6/llvm/stage-3/pstl.nix15
-rw-r--r--pkgs/development/rocm-modules/6/migraphx/default.nix171
-rw-r--r--pkgs/development/rocm-modules/6/miopen/default.nix234
-rw-r--r--pkgs/development/rocm-modules/6/mivisionx/default.nix142
-rw-r--r--pkgs/development/rocm-modules/6/rccl/default.nix91
-rw-r--r--pkgs/development/rocm-modules/6/rdc/default.nix125
-rw-r--r--pkgs/development/rocm-modules/6/rocalution/default.nix115
-rw-r--r--pkgs/development/rocm-modules/6/rocblas/default.nix209
-rw-r--r--pkgs/development/rocm-modules/6/rocdbgapi/default.nix111
-rw-r--r--pkgs/development/rocm-modules/6/rocfft/default.nix169
-rw-r--r--pkgs/development/rocm-modules/6/rocgdb/default.nix59
-rw-r--r--pkgs/development/rocm-modules/6/rocm-cmake/default.nix35
-rw-r--r--pkgs/development/rocm-modules/6/rocm-comgr/default.nix55
-rw-r--r--pkgs/development/rocm-modules/6/rocm-core/default.nix38
-rw-r--r--pkgs/development/rocm-modules/6/rocm-device-libs/cmake.patch43
-rw-r--r--pkgs/development/rocm-modules/6/rocm-device-libs/default.nix50
-rw-r--r--pkgs/development/rocm-modules/6/rocm-docs-core/default.nix66
-rw-r--r--pkgs/development/rocm-modules/6/rocm-runtime/default.nix74
-rw-r--r--pkgs/development/rocm-modules/6/rocm-smi/cmake.patch89
-rw-r--r--pkgs/development/rocm-modules/6/rocm-smi/default.nix54
-rw-r--r--pkgs/development/rocm-modules/6/rocm-thunk/default.nix54
-rw-r--r--pkgs/development/rocm-modules/6/rocminfo/default.nix63
-rw-r--r--pkgs/development/rocm-modules/6/rocmlir/default.nix136
-rw-r--r--pkgs/development/rocm-modules/6/rocprim/default.nix86
-rw-r--r--pkgs/development/rocm-modules/6/rocprofiler/0000-dont-install-tests-hsaco.patch15
-rw-r--r--pkgs/development/rocm-modules/6/rocprofiler/0001-fix-shell-scripts.patch109
-rw-r--r--pkgs/development/rocm-modules/6/rocprofiler/0002-include-stdint-in-version.patch12
-rw-r--r--pkgs/development/rocm-modules/6/rocprofiler/default.nix140
-rw-r--r--pkgs/development/rocm-modules/6/rocr-debug-agent/default.nix59
-rw-r--r--pkgs/development/rocm-modules/6/rocrand/default.nix88
-rw-r--r--pkgs/development/rocm-modules/6/rocsolver/default.nix100
-rw-r--r--pkgs/development/rocm-modules/6/rocsparse/default.nix149
-rw-r--r--pkgs/development/rocm-modules/6/rocsparse/deps.nix222
-rw-r--r--pkgs/development/rocm-modules/6/rocthrust/default.nix87
-rw-r--r--pkgs/development/rocm-modules/6/roctracer/default.nix103
-rw-r--r--pkgs/development/rocm-modules/6/rocwmma/0000-dont-fetch-googletest.patch35
-rw-r--r--pkgs/development/rocm-modules/6/rocwmma/default.nix105
-rw-r--r--pkgs/development/rocm-modules/6/rpp/default.nix88
-rw-r--r--pkgs/development/rocm-modules/6/tensile/default.nix65
-rw-r--r--pkgs/development/rocm-modules/6/update.nix33
83 files changed, 6806 insertions, 0 deletions
diff --git a/pkgs/development/rocm-modules/6/clang-ocl/default.nix b/pkgs/development/rocm-modules/6/clang-ocl/default.nix
new file mode 100644
index 000000000000..7d366e53ae56
--- /dev/null
+++ b/pkgs/development/rocm-modules/6/clang-ocl/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, rocmUpdateScript
+, cmake
+, rocm-cmake
+, rocm-device-libs
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+ pname = "clang-ocl";
+ version = "6.0.2";
+
+ src = fetchFromGitHub {
+ owner = "ROCm";
+ repo = "clang-ocl";
+ rev = "rocm-${finalAttrs.version}";
+ hash = "sha256-uMSvcVJj+me2E+7FsXZ4l4hTcK6uKEegXpkHGcuist0=";
+ };
+
+ nativeBuildInputs = [
+ cmake
+ rocm-cmake
+ ];
+
+ buildInputs = [ rocm-device-libs ];
+
+ passthru.updateScript = rocmUpdateScript {
+ name = finalAttrs.pname;
+ owner = finalAttrs.src.owner;
+ repo = finalAttrs.src.repo;
+ };
+
+ meta = with lib; {
+ description = "OpenCL compilation with clang compiler";
+ homepage = "https://github.com/ROCm/clang-ocl";
+ license = with licenses; [ mit ];
+ maintainers = teams.rocm.members;
+ platforms = platforms.linux;
+ broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "7.0.0";
+ };
+})
diff --git a/pkgs/development/rocm-modules/6/clr/default.nix b/pkgs/development/rocm-modules/6/clr/default.nix
new file mode 100644
index 000000000000..05acf86478d3
--- /dev/null
+++ b/pkgs/development/rocm-modules/6/clr/default.nix
@@ -0,0 +1,189 @@
+{ lib
+, stdenv
+, callPackage
+, fetchFromGitHub
+, fetchpatch
+, rocmUpdateScript
+, makeWrapper
+, cmake
+, perl
+, clang
+, hip-common
+, hipcc
+, rocm-device-libs
+, rocm-comgr
+, rocm-runtime
+, roctracer
+, rocminfo
+, rocm-smi
+, numactl
+, libGL
+, libxml2
+, libX11
+, python3Packages
+}:
+
+let
+ wrapperArgs = [
+ "--prefix PATH : $out/bin"
+ "--prefix LD_LIBRARY_PATH : ${rocm-runtime}"
+ "--set HIP_PLATFORM amd"
+ "--set HIP_PATH $out"
+ "--set HIP_CLANG_PATH ${clang}/bin"
+ "--set DEVICE_LIB_PATH ${rocm-device-libs}/amdgcn/bitcode"
+ "--set HSA_PATH ${rocm-runtime}"
+ "--set ROCM_PATH $out"
+ ];
+in stdenv.mkDerivation (finalAttrs: {
+ pname = "clr";
+ version = "6.0.2";
+
+ outputs = [
+ "out"
+ "icd"
+ ];
+
+ src = fetchFromGitHub {
+ owner = "ROCm";
+ repo = "clr";
+ rev = "rocm-${finalAttrs.version}";
+ hash = "sha256-ZMpA7vCW2CcpGdBLZfPimMHcgjhN1PHuewJiYwZMgGY=";
+ };
+
+ nativeBuildInputs = [
+ makeWrapper
+ cmake
+ perl
+ python3Packages.python
+ python3Packages.cppheaderparser
+ ];
+
+ buildInputs = [
+ numactl
+ libGL
+ libxml2
+ libX11
+ ];
+
+ propagatedBuildInputs = [
+ rocm-device-libs
+ rocm-comgr
+ rocm-runtime
+ rocminfo
+ ];
+
+ cmakeFlags = [
+ "-DCMAKE_POLICY_DEFAULT_CMP0072=NEW" # Prefer newer OpenGL libraries
+ "-DCLR_BUILD_HIP=ON"
+ "-DCLR_BUILD_OCL=ON"
+ "-DHIP_COMMON_DIR=${hip-common}"
+ "-DHIPCC_BIN_DIR=${hipcc}/bin"
+ "-DHIP_PLATFORM=amd"
+ "-DPROF_API_HEADER_PATH=${roctracer.src}/inc/ext"
+ "-DROCM_PATH=${rocminfo}"
+
+ # Temporarily set variables to work around upstream CMakeLists issue
+ # Can be removed once https://github.com/ROCm/rocm-cmake/issues/121 is fixed
+ "-DCMAKE_INSTALL_BINDIR=bin"
+ "-DCMAKE_INSTALL_INCLUDEDIR=include"
+ "-DCMAKE_INSTALL_LIBDIR=lib"
+ ];
+
+ patches = [
+ (fetchpatch {
+ name = "add-missing-operators.patch";
+ url = "https://github.com/ROCm/clr/commit/86bd518981b364c138f9901b28a529899d8654f3.patch";
+ hash = "sha256-lbswri+zKLxif0hPp4aeJDeVfadhWZz4z+m+G2XcCPI=";
+ })
+ (fetchpatch {
+ name = "static-functions.patch";
+ url = "https://github.com/ROCm/clr/commit/77c581a3ebd47b5e2908973b70adea66891159ee.patch";
+ hash = "sha256-auBedbd7rghlKav7A9V6l64J7VmtE9GizIdi5gWj+fs=";
+ })
+ ];
+
+ postPatch = ''
+ patchShebangs hipamd/*.sh
+ patchShebangs hipamd/src
+
+ # We're not on Windows so these are never installed to hipcc...
+ substituteInPlace hipamd/CMakeLists.txt \
+ --replace "install(PROGRAMS \''${HIPCC_BIN_DIR}/hipcc.bat DESTINATION bin)" "" \
+ --replace "install(PROGRAMS \''${HIPCC_BIN_DIR}/hipconfig.bat DESTINATION bin)" ""
+
+ substituteInPlace hipamd/src/hip_embed_pch.sh \
+ --replace "\''$LLVM_DIR/bin/clang" "${clang}/bin/clang"
+ '';
+
+ postInstall = ''
+ patchShebangs $out/bin
+
+ # hipcc.bin and hipconfig.bin is mysteriously never installed
+ cp -a ${hipcc}/bin/{hipcc.bin,hipconfig.bin} $out/bin
+
+ wrapProgram $out/bin/hipcc.bin ${lib.concatStringsSep " " wrapperArgs}
+ wrapProgram $out/bin/hipconfig.bin ${lib.concatStringsSep " " wrapperArgs}
+ wrapProgram $out/bin/hipcc.pl ${lib.concatStringsSep " " wrapperArgs}
+ wrapProgram $out/bin/hipconfig.pl ${lib.concatStringsSep " " wrapperArgs}
+
+ # Just link rocminfo, it's easier
+ ln -s ${rocminfo}/bin/* $out/bin
+
+ # Replace rocm-opencl-icd functionality
+ mkdir -p $icd/etc/OpenCL/vendors
+ echo "$out/lib/libamdocl64.so" > $icd/etc/OpenCL/vendors/amdocl64.icd
+
+ # add version info to output (downstream rocmPackages look for this)
+ mkdir $out/.info
+ echo "${finalAttrs.version}" > $out/.info/version
+ '';
+
+ passthru = {
+ # All known and valid general GPU targets
+ # We cannot use this for each ROCm library, as each defines their own supported targets
+ # See: https://github.com/ROCm/ROCm/blob/77cbac4abab13046ee93d8b5bf410684caf91145/README.md#library-target-matrix
+ gpuTargets = lib.forEach [
+ "803"
+ "900"
+ "906"
+ "908"
+ "90a"
+ "940"
+ "941"
+ "942"
+ "1010"
+ "1012"
+ "1030"
+ "1100"
+ "1101"
+ "1102"
+ ] (target: "gfx${target}");
+
+ updateScript = rocmUpdateScript {
+ name = finalAttrs.pname;
+ owner = finalAttrs.src.owner;
+ repo = finalAttrs.src.repo;
+ page = "tags?per_page=1";
+ filter = ".[0].name | split(\"-\") | .[1]";
+ };
+
+ impureTests = {
+ rocm-smi = callPackage ./test-rocm-smi.nix {
+ inherit rocm-smi;
+ clr = finalAttrs.finalPackage;
+ };
+ opencl-example = callPackage ./test-opencl-example.nix {
+ clr = finalAttrs.finalPackage;
+ };
+ };
+ };
+
+ meta = with lib; {
+ description = "AMD Common Language Runtime for hipamd, opencl, and rocclr";
+ homepage = "https://github.com/ROCm/clr";
+ license = with licenses; [ mit ];
+ maintainers = with maintainers; [ lovesegfault ] ++ teams.rocm.members;
+ platforms = platforms.linux;
+ broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "7.0.0";
+ };
+})
diff --git a/pkgs/development/rocm-modules/6/clr/test-opencl-example.nix b/pkgs/development/rocm-modules/6/clr/test-opencl-example.nix
new file mode 100644
index 000000000000..24fc483847d3
--- /dev/null
+++ b/pkgs/development/rocm-modules/6/clr/test-opencl-example.nix
@@ -0,0 +1,75 @@
+{ lib
+, stdenv
+, makeImpureTest
+, fetchFromGitHub
+, clr
+, cmake
+, pkg-config
+, glew
+, freeglut
+, opencl-headers
+, ocl-icd
+}:
+
+let
+
+ examples = stdenv.mkDerivation {
+ pname = "amd-app-samples";
+ version = "2018-06-10";
+
+ src = fetchFromGitHub {
+ owner = "OpenCL";
+ repo = "AMD_APP_samples";
+ rev = "54da6ca465634e78fc51fc25edf5840467ee2411";
+ hash = "sha256-qARQpUiYsamHbko/I1gPZE9pUGJ+3396Vk2n7ERSftA=";
+ };
+
+ nativeBuildInputs = [ cmake pkg-config ];
+
+ buildInputs = [ glew freeglut opencl-headers ocl-icd ];
+
+ installPhase = ''
+ runHook preInstall
+
+ mkdir -p $out/bin
+ # Example path is bin/x86_64/Release/cl/Reduction/Reduction
+ cp -r bin/*/*/*/*/* $out/bin/
+
+ runHook postInstall
+ '';
+
+ cmakeFlags = [ "-DBUILD_CPP_CL=OFF" ];
+
+ meta = with lib; {
+ description = "Samples from the AMD APP SDK (with OpenCRun support) ";
+ homepage = "https://github.com/OpenCL/AMD_APP_samples";
+ license = licenses.bsd2;
+ platforms = platforms.linux;
+ maintainers = lib.teams.rocm.members;
+ };
+ };
+
+in
+makeImpureTest {
+ name = "opencl-example";
+ testedPackage = "rocmPackages_6.clr";
+
+ sandboxPaths = [ "/sys" "/dev/dri" "/dev/kfd" ];
+
+ nativeBuildInputs = [ examples ];
+
+ OCL_ICD_VENDORS = "${clr.icd}/etc/OpenCL/vendors";
+
+ testScript = ''
+ # Examples load resources from current directory
+ cd ${examples}/bin
+ echo OCL_ICD_VENDORS=$OCL_ICD_VENDORS
+ pwd
+
+ HelloWorld | grep HelloWorld
+ '';
+
+ meta = with lib; {
+ maintainers = teams.rocm.members;
+ };
+}
diff --git a/pkgs/development/rocm-modules/6/clr/test-rocm-smi.nix b/pkgs/development/rocm-modules/6/clr/test-rocm-smi.nix
new file mode 100644
index 000000000000..6f2d3c788289
--- /dev/null
+++ b/pkgs/development/rocm-modules/6/clr/test-rocm-smi.nix
@@ -0,0 +1,23 @@
+{ lib
+, makeImpureTest
+, clinfo
+, clr
+, rocm-smi
+}:
+
+makeImpureTest {
+ name = "rocm-smi";
+ testedPackage = "rocmPackages_6.clr";
+ nativeBuildInputs = [ clinfo rocm-smi ];
+ OCL_ICD_VENDORS = "${clr.icd}/etc/OpenCL/vendors";