From 61eb1bd4e573cd450aa327c0a7643aba951e38f5 Mon Sep 17 00:00:00 2001 From: Tom Rix Date: Tue, 3 Sep 2024 17:06:10 -0700 Subject: [PATCH] Update to ROCm 6.2 Signed-off-by: Tom Rix --- .gitignore | 1 + miopen.spec | 57 ++++++++++++++++++++++++++++++++++++++++------------- sources | 1 + 3 files changed, 45 insertions(+), 14 deletions(-) diff --git a/.gitignore b/.gitignore index 751e4df..bccb7f9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /MIOpen-6.0.2.tar.gz /MIOpen-6.1.1.tar.gz +/MIOpen-6.2.0.tar.gz diff --git a/miopen.spec b/miopen.spec index 1ffd63b..3084c33 100644 --- a/miopen.spec +++ b/miopen.spec @@ -1,6 +1,6 @@ %global upstreamname MIOpen -%global rocm_release 6.1 -%global rocm_patch 1 +%global rocm_release 6.2 +%global rocm_patch 0 %global rocm_version %{rocm_release}.%{rocm_patch} %global toolchain rocm @@ -12,16 +12,33 @@ # $gpu will be evaluated in the loops below %global _vpath_builddir %{_vendor}-%{_target_os}-build-${gpu} + +%bcond_with debug +%if %{with debug} +%global build_type DEBUG +%else +%global build_type RelWithDebInfo +%endif + # For testing # hardcoded use of gtest and dirs is not suitable for mock building # Testsuite is not in great shape, fails instead of skips ck tests %bcond_with test -# Change this to the gpu family you are testing on -%global gpu_test gfx9 %if %{with test} +%global build_test ON +%else +%global build_test OFF +%endif + +# Change this to the gpu family you are testing on +%bcond_with check +%global gpu_test gfx1100 +%if %{with test} +%if %{with check} # Do not build everything to do the test on one thing %global rocm_gpu_list %{gpu_test} %endif +%endif @@ -45,8 +62,6 @@ Source0: %{url}/archive/rocm-%{version}.tar.gz#/%{upstreamname}-%{version # So we do not thrash memory Patch2: 0001-add-link-and-compile-pools-for-miopen.patch -# Our use of modules confuse install locations -Patch3: 0001-Find-db-location-on-fedora.patch BuildRequires: pkgconfig(bzip2) BuildRequires: boost-devel @@ -69,6 +84,12 @@ BuildRequires: roctracer-devel BuildRequires: pkgconfig(sqlite3) BuildRequires: zlib-devel +%if %{with test} +BuildRequires: gmock-devel +BuildRequires: gtest-devel +BuildRequires: rocrand-devel +%endif + Requires: rocm-rpm-macros-modules # Only x86_64 works right now: @@ -134,6 +155,11 @@ sed -i -e 's@add_subdirectory(test)@#add_subdirectory(test)@' CMakeLists.txt sed -i -e 's@add_subdirectory(speedtests)@#add_subdirectory(speedtests)@' CMakeLists.txt %endif +# Our use of modules confuse install locations +# The db is not installed relative to the lib dir. +# Hardcode its location +sed -i -e 's@GetLibPath().parent_path() / "share/miopen/db"@"/usr/share/miopen/db"@' src/db_path.cpp.in + %build # Real cores, No hyperthreading @@ -158,12 +184,9 @@ for gpu in %{rocm_gpu_list} do module load rocm/$gpu %cmake %rocm_cmake_options \ -%if %{with test} - -DBUILD_TESTING=ON \ -%else - -DBUILD_TESTING=OFF \ -%endif - -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DBUILD_TESTING=%{build_test} \ + -DCMAKE_BUILD_TYPE=%{build_type} \ + -DCMAKE_SKIP_RPATH=ON \ -DBoost_USE_STATIC_LIBS=OFF \ -DMIOPEN_PARALLEL_COMPILE_JOBS=$COMPILE_JOBS \ -DMIOPEN_PARALLEL_LINK_JOBS=$LINK_JOBS \ @@ -175,6 +198,11 @@ do -DMIOPEN_USE_COMPOSABLEKERNEL=OFF %cmake_build + +%if %{with test} + %cmake_build -t tests +%endif + module purge done @@ -186,13 +214,14 @@ do done %if %{with test} +%if %{with check} %check gpu=%{gpu_test} module load rocm/$gpu -%cmake_build -t tests %cmake_build -t test module purge %endif +%endif %files %license LICENSE.txt @@ -204,7 +233,7 @@ module purge %exclude %_libdir/rocm/gfx*/bin/test_perf.py %endif %_libdir/libMIOpen.so.* -%_libdir/rocm/gfx{8,9,10,11}/lib/libMIOpen.so.* +%_libdir/rocm/gfx{9,10,11}/lib/libMIOpen.so.* %files gfx90a %{_libdir}/rocm/gfx90a/lib/libMIOpen.so.* diff --git a/sources b/sources index 26091bb..142c83f 100644 --- a/sources +++ b/sources @@ -1,2 +1,3 @@ SHA512 (MIOpen-6.0.2.tar.gz) = aa07d9f1ef8944c83a7a6db4d27535de1bb9918d3be2948912e492688e3515fa2d31734a25e9e6bb8a13876b00bba6ad0a97141453ef7c872073c825bff23827 SHA512 (MIOpen-6.1.1.tar.gz) = b8860583919bf2f3e0da7ace30fdb0595ab45b85a367be3737e0b15a22a5565b8d6660c652ee070f21c36ac7d17ef3ba8e2eda7ed89bd6a0c65a4df799626d1a +SHA512 (MIOpen-6.2.0.tar.gz) = a262baa64af3f12efb18ce58162adfc5b66234d623ad400aceeecaed2e942a9fdb04cc48e8372d14f9321913366b26247d7736a80537c1af4d6218edb3826896