rocmPackages: deprecate miopengemm

There have not been updates avaialble for this package for some time.
I'm assuming it makes sense to drop it.
This commit is contained in:
Martin Schwaighofer 2024-02-10 19:00:34 +01:00
parent 96359faa58
commit c0682d3b69
5 changed files with 5 additions and 142 deletions

View file

@ -239,10 +239,7 @@ in rec {
# hipBlasLt - Very broken with Tensile at the moment, only supports GFX9
# hipTensor - Only supports GFX9
miopengemm = callPackage ./miopengemm {
inherit rocmUpdateScript rocm-cmake clr;
stdenv = llvm.rocmClangStdenv;
};
miopengemm = throw "'miopengemm' has been deprecated"; # Added 2024-2-10;
composable_kernel = callPackage ./composable_kernel {
inherit rocmUpdateScript rocm-cmake clr;
@ -256,7 +253,7 @@ in rec {
};
miopen = callPackage ./miopen {
inherit rocmUpdateScript rocm-cmake rocblas clang-ocl miopengemm composable_kernel rocm-comgr clr rocm-docs-core half;
inherit rocmUpdateScript rocm-cmake rocblas clang-ocl composable_kernel rocm-comgr clr rocm-docs-core half;
inherit (llvm) clang-tools-extra;
stdenv = llvm.rocmClangStdenv;
rocmlir = rocmlir-rock;
@ -272,7 +269,7 @@ in rec {
};
migraphx = callPackage ./migraphx {
inherit rocmUpdateScript rocm-cmake rocblas composable_kernel miopengemm miopen clr half rocm-device-libs;
inherit rocmUpdateScript rocm-cmake rocblas composable_kernel miopen clr half rocm-device-libs;
inherit (llvm) openmp clang-tools-extra;
stdenv = llvm.rocmClangStdenv;
rocmlir = rocmlir-rock;
@ -300,7 +297,7 @@ in rec {
};
mivisionx = callPackage ./mivisionx {
inherit rocmUpdateScript rocm-cmake rocm-device-libs clr rpp rocblas miopengemm miopen migraphx half rocm-docs-core;
inherit rocmUpdateScript rocm-cmake rocm-device-libs clr rpp rocblas miopen migraphx half rocm-docs-core;
inherit (llvm) clang openmp;
opencv = opencv.override { enablePython = true; };
ffmpeg = ffmpeg_4;

View file

@ -11,7 +11,6 @@
, rocblas
, rocmlir
, composable_kernel
, miopengemm
, miopen
, protobuf
, half
@ -87,7 +86,6 @@ in stdenv.mkDerivation (finalAttrs: {
rocblas
rocmlir
composable_kernel
miopengemm
miopen
protobuf
half

View file

@ -12,7 +12,6 @@
, clr
, clang-tools-extra
, clang-ocl
, miopengemm
, composable_kernel
, frugally-deep
, rocm-docs-core
@ -139,7 +138,6 @@ in stdenv.mkDerivation (finalAttrs: {
rocblas
rocmlir
clang-ocl
miopengemm
composable_kernel
half
boost
@ -161,7 +159,6 @@ in stdenv.mkDerivation (finalAttrs: {
cmakeFlags = [
"-DCMAKE_CXX_FLAGS=-Wno-#warnings" # <half> -> <half/half.hpp>
"-DMIOPEN_USE_MIOPENGEMM=ON"
"-DUNZIPPER=${bzip2}/bin/bunzip2"
# Manually define CMAKE_INSTALL_<DIR>
# See: https://github.com/NixOS/nixpkgs/pull/197838

View file

@ -1,126 +0,0 @@
{ lib
, stdenv
, fetchFromGitHub
, rocmUpdateScript
, cmake
, rocm-cmake
, clr
, clblast
, texliveSmall
, doxygen
, sphinx
, openblas
, python3Packages
, buildDocs ? true
, buildTests ? false
, buildBenchmarks ? false
}:
let
latex = lib.optionalAttrs buildDocs (texliveSmall.withPackages (ps: with ps; [
latexmk
tex-gyre
fncychap
wrapfig
capt-of
framed
needspace
tabulary
varwidth
titlesec
]));
in stdenv.mkDerivation (finalAttrs: {
pname = "miopengemm";
version = "5.5.0";
outputs = [
"out"
] ++ lib.optionals buildDocs [
"doc"
] ++ lib.optionals buildTests [
"test"
] ++ lib.optionals buildBenchmarks [
"benchmark"
];
# Deprecated? https://github.com/ROCmSoftwarePlatform/MIOpenGEMM/issues/62
src = fetchFromGitHub {
owner = "ROCmSoftwarePlatform";
repo = "MIOpenGEMM";
rev = "rocm-${finalAttrs.version}";
hash = "sha256-AiRzOMYRA/0nbQomyq4oOEwNZdkPYWRA2W6QFlctvFc=";
};
nativeBuildInputs = [
cmake
rocm-cmake
clr
];
buildInputs = lib.optionals buildDocs [
latex
doxygen
sphinx
python3Packages.sphinx-rtd-theme
python3Packages.breathe
] ++ lib.optionals buildTests [
openblas
] ++ lib.optionals buildBenchmarks [
clblast
python3Packages.openai-triton
];
cmakeFlags = [
# Manually define CMAKE_INSTALL_<DIR>
# See: https://github.com/NixOS/nixpkgs/pull/197838
"-DCMAKE_INSTALL_BINDIR=bin"
"-DCMAKE_INSTALL_LIBDIR=lib"
"-DCMAKE_INSTALL_INCLUDEDIR=include"
] ++ lib.optionals buildTests [
"-DOPENBLAS=ON"
] ++ lib.optionals buildBenchmarks [
"-DAPI_BENCH_MIOGEMM=ON"
"-DAPI_BENCH_CLBLAST=ON"
"-DAPI_BENCH_ISAAC=ON"
];
# Unfortunately, it seems like we have to call make on these manually
postBuild = lib.optionalString buildDocs ''
export HOME=$(mktemp -d)
make doc
'' + lib.optionalString buildTests ''
make check
'' + lib.optionalString buildBenchmarks ''
make examples
'';
postInstall = lib.optionalString buildDocs ''
mv ../doc/html $out/share/doc/miopengemm
mv ../doc/pdf/miopengemm.pdf $out/share/doc/miopengemm
'' + lib.optionalString buildTests ''
mkdir -p $test/bin
find tests -executable -type f -exec mv {} $test/bin \;
patchelf --set-rpath ${lib.makeLibraryPath finalAttrs.buildInputs}:$out/lib $test/bin/*
'' + lib.optionalString buildBenchmarks ''
mkdir -p $benchmark/bin
find examples -executable -type f -exec mv {} $benchmark/bin \;
patchelf --set-rpath ${lib.makeLibraryPath finalAttrs.buildInputs}:$out/lib $benchmark/bin/*
'';
passthru.updateScript = rocmUpdateScript {
name = finalAttrs.pname;
owner = finalAttrs.src.owner;
repo = finalAttrs.src.repo;
};
meta = with lib; {
description = "OpenCL general matrix multiplication API for ROCm";
homepage = "https://github.com/ROCmSoftwarePlatform/MIOpenGEMM";
license = with licenses; [ mit ];
maintainers = teams.rocm.members;
platforms = platforms.linux;
# They are not making tags or releases, this may break other derivations in the future
# Use version major instead of minor, 6.0 will HOPEFULLY have a release or tag
broken = versions.major finalAttrs.version != versions.major stdenv.cc.version || versionAtLeast finalAttrs.version "6.0.0";
};
})

View file

@ -9,7 +9,6 @@
, pkg-config
, rpp
, rocblas
, miopengemm
, miopen
, migraphx
, clang
@ -58,7 +57,6 @@ stdenv.mkDerivation (finalAttrs: {
];
buildInputs = [
miopengemm
miopen
migraphx
rpp
@ -103,9 +101,8 @@ stdenv.mkDerivation (finalAttrs: {
export CXXFLAGS+="--rocm-path=${clr} --rocm-device-lib-path=${rocm-device-libs}/amdgcn/bitcode"
patchShebangs rocAL/rocAL_pybind/examples
# Properly find miopengemm and miopen
# Properly find miopen
substituteInPlace amd_openvx_extensions/CMakeLists.txt \
--replace "miopengemm PATHS \''${ROCM_PATH} QUIET" "miopengemm PATHS ${miopengemm} QUIET" \
--replace "miopen PATHS \''${ROCM_PATH} QUIET" "miopen PATHS ${miopen} QUIET" \
--replace "\''${ROCM_PATH}/include/miopen/config.h" "${miopen}/include/miopen/config.h"