Skip to content

Commit

Permalink
sci-libs/rocWMMA: add 6.0.2
Browse files Browse the repository at this point in the history
Changes since 5.7.2:
* Added patch for new issue ROCm/rocWMMA#360
* Disabled LTO due to llvm/llvm-project#61101

Signed-off-by: Sv. Lockal <lockalsash@gmail.com>
  • Loading branch information
AngryLoki committed Mar 20, 2024
1 parent f726ee2 commit 13de54b
Show file tree
Hide file tree
Showing 4 changed files with 103 additions and 0 deletions.
1 change: 1 addition & 0 deletions sci-libs/rocWMMA/Manifest
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
DIST rocWMMA-5.7.1.tar.gz 3163060 BLAKE2B 47ca55c0cd388ca51ad3843e656a31ce04d9e07988c26bfb69a7c61bfe497609408cfd20dcbe9c6698bd79b800a114ab67d582ced43dc6f1c4db4072e2901d99 SHA512 92c9c634fdf1f5319d34fabbf691df45600abdc5285a76b40255e7d6d260553076f65baa1eda566a163725e2a0cec0a85372eb07add39c65368e84505c176f50
DIST rocWMMA-6.0.2.tar.gz 3180288 BLAKE2B 6339deb47347644e2822b84caca48aa08e55932840c8f9576b7f8511cb1a56f4306aef66f16c51eadc762c650618d42bbbec19ddc05465ccf2a075529a7eae71 SHA512 cccbd969fafbbc105edaf8b2b62b78f5cba2606903a770717b8b54aee655d1cf580d0c9bab312fa2f54d707e8b9cfc085df0df5a9cb170d7859d8aa441f8b5d4
14 changes: 14 additions & 0 deletions sci-libs/rocWMMA/files/rocWMMA-6.0.2-add-iostream.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
Bug: https://github.com/ROCm/rocWMMA/issues/360
--- a/test/gemm/gemm_predicates_base.hpp
+++ b/test/gemm/gemm_predicates_base.hpp
@@ -26,6 +26,10 @@
#ifndef ROCWMMA_TEST_GEMM_PREDICATES_BASE_HPP
#define ROCWMMA_TEST_GEMM_PREDICATES_BASE_HPP

+#if !NDEBUG
+#include <iostream>
+#endif
+
#include "gemm_test_traits.hpp"

namespace rocwmma
28 changes: 28 additions & 0 deletions sci-libs/rocWMMA/files/rocWMMA-6.0.2-use-system-googletest.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
Add an option to use system PR
Upstream PR: https://github.com/ROCm/rocWMMA/pull/353
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -29,11 +29,15 @@ include( CMakeDependentOption )
cmake_dependent_option( ROCWMMA_BUILD_VALIDATION_TESTS "Build validation tests" ON "ROCWMMA_BUILD_TESTS" OFF )
cmake_dependent_option( ROCWMMA_BUILD_BENCHMARK_TESTS "Build benchmarking tests" OFF "ROCWMMA_BUILD_TESTS" OFF )
cmake_dependent_option( ROCWMMA_BUILD_EXTENDED_TESTS "Build extended test parameter coverage" OFF "ROCWMMA_BUILD_TESTS" OFF )
+cmake_dependent_option( ROCWMMA_USE_SYSTEM_GOOGLETEST "Use system Google Test library instead of downloading and building it" OFF "ROCWMMA_BUILD_TESTS" OFF )

add_compile_options(-mcmodel=large)
add_link_options(-mcmodel=large)

# Test/benchmark requires additional dependencies
+if(ROCWMMA_USE_SYSTEM_GOOGLETEST)
+ find_package(GTest 1.12.1 REQUIRED)
+else()
include( FetchContent )

FetchContent_Declare(
@@ -59,6 +63,7 @@ if(NOT googletest_POPULATED)
# Restore shared libs setting
set(BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_OLD} CACHE INTERNAL "Build SHARED libraries" FORCE)
endif()
+endif()

set(ROCWMMA_TEST_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR})
set(ROCWMMA_COMMON_TEST_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/hip_device.cpp
60 changes: 60 additions & 0 deletions sci-libs/rocWMMA/rocWMMA-6.0.2.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8
ROCM_SKIP_GLOBALS=1

inherit cmake rocm flag-o-matic

DESCRIPTION="library for accelerating mixed precision matrix multiply-accumulate operations"
HOMEPAGE="https://github.com/ROCm/rocWMMA"
SRC_URI="https://github.com/ROCm/rocWMMA/archive/rocm-${PV}.tar.gz -> rocWMMA-${PV}.tar.gz"

LICENSE="MIT"
KEYWORDS="~amd64"
SLOT="0/$(ver_cut 1-2)"

DEPEND="=dev-util/hip-6*"

BDEPEND="
test? (
dev-cpp/gtest
)
dev-build/rocm-cmake
"

IUSE_TARGETS=( gfx908 gfx90a gfx940 gfx941 gfx942 gfx1100 gfx1101 gfx1102 )
IUSE_TARGETS=( "${IUSE_TARGETS[@]/#/amdgpu_targets_}" )

IUSE="${IUSE_TARGETS[@]/#/+} test"

REQUIRED_USE="|| ( ${IUSE_TARGETS[*]} )"

RESTRICT="!test? ( test )"

S="${WORKDIR}/rocWMMA-rocm-${PV}"

PATCHES=(
"${FILESDIR}"/${PN}-6.0.2-use-system-googletest.patch
"${FILESDIR}"/${PN}-6.0.2-add-iostream.patch
)

src_configure() {
# ld.lld bug https://github.com/llvm/llvm-project/issues/61101
filter-lto

local mycmakeargs=(
-DCMAKE_SKIP_RPATH=ON
-DAMDGPU_TARGETS="$(get_amdgpu_flags)"
-DROCM_SYMLINK_LIBS=OFF
-DROCWMMA_BUILD_SAMPLES=OFF
-DROCWMMA_BUILD_TESTS=$(usex test ON OFF)
)
use test && mycmakeargs+=(-DROCWMMA_USE_SYSTEM_GOOGLETEST=ON)
CC=hipcc CXX=hipcc cmake_src_configure
}

src_test() {
check_amdgpu
cmake_src_test -j1
}

0 comments on commit 13de54b

Please sign in to comment.