Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -336,6 +336,11 @@ uenvs:
santis: [gh200]
bristen: [a100]
eiger: [zen2]
"7.2.0":
recipes:
mi200: 7.2.0/amdgpu
deploy:
beverin: [mi200]
prgenv-gnu-openmpi:
"25.12":
recipes:
Expand Down
4 changes: 4 additions & 0 deletions recipes/prgenv-gnu/7.2.0/amdgpu/compilers.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
gcc:
version: "13"
llvm-amdgpu:
version: "7.2.0"
9 changes: 9 additions & 0 deletions recipes/prgenv-gnu/7.2.0/amdgpu/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
name: prgenv-gnu
version: 2
spack:
commit: releases/v1.1
repo: https://github.com/spack/spack.git
packages:
repo: https://github.com/spack/spack-packages.git
commit: 876d656ad17366f92e2233d843ba285d655150dd # develop on 2026-03-09
description: GNU Compiler toolchain with cray-mpich, Python, CMake and other development tools for gfx90a, gfx942 (MI300A, MI250X)
82 changes: 82 additions & 0 deletions recipes/prgenv-gnu/7.2.0/amdgpu/environments.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
gcc-env:
compiler: [gcc, llvm-amdgpu]
network:
mpi: mpich+rocm
unify: when_possible
duplicates:
strategy: full
specs:
- boost@1.88.0 +chrono +filesystem +iostreams +mpi +python +regex +serialization +shared +system +timer
- cmake
- fftw
- fmt
- gsl
- hdf5+cxx+hl+fortran
- netlib-scalapack
- lua
- libtree
- lz4
- meson
- ninja
- openblas threads=openmp
- osu-micro-benchmarks ~xccl
- python@3
- zlib-ng
# add GPU-specific packages here, for easier comparison with mc version
- hip@7.2.0 ^mesa
- hdf5+mpi
- hipcub
- llvm-amdgpu
# rocm packages
- rocblas ^py-msgpack %cxx=gcc
- rocfft
- rocm-cmake %cxx=gcc
- rocm-openmp-extras
- rocm-core %cxx=gcc
- rocminfo
- rocprim
- rocprofiler-dev
- rocprofiler-sdk
- rocprofiler-systems +internal-dyninst
- rocprofiler-compute
- rocrand
- rocsolver
- rocsparse
- rocthrust
- roctracer-dev-api %cxx=gcc
- roctracer-dev
- rocm-gdb
- rocm-debug-agent
- hsa-rocr-dev
- comgr
# hip packages
- hipblas
- hipblaslt
- hiprand
- hipsparse
- hipfft
- hipblas-common
# - miopen-hip # TODO(iomaganaris): enable for julia AMD gpu build
# networking
- rccl
# commits pinned for reproducibility, not bugs; update when updating recipe
- aws-ofi-rccl@git.6dae1b0d588c27689ba6daa32710359ea96de78c=cxi
- rccl-tests@git.6405c76e6826663bbb67bd40aeee8c70aa5d3094=develop %cxx=llvm-amdgpu
variants:
- +mpi
- +rocm
- amdgpu_target=gfx942,gfx90a
- amdgpu_target_sram_ecc=gfx942,gfx90a
- ^python@3.12.12
views:
default:
link: roots
exclude: ["llvm"]
uenv:
add_compilers: true
prefix_paths:
LD_LIBRARY_PATH: [lib, lib64]
env_vars:
set:
- FI_PROVIDER: "cxi"
- MPIR_CVAR_CH4_OFI_ENABLE_HMEM: "1"
16 changes: 16 additions & 0 deletions recipes/prgenv-gnu/7.2.0/amdgpu/extra/reframe.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
default:
features:
- rocm
- mpi
- rccl
- rccl-tests
- openmp
- prgenv
- serial
- mpich
- osu-micro-benchmarks
cc: mpicc
cxx: mpic++
ftn: mpifort
views:
- default
23 changes: 23 additions & 0 deletions recipes/prgenv-gnu/7.2.0/amdgpu/modules.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
modules:
# Paths to check when creating modules for all module sets
prefix_inspections:
bin:
- PATH
lib:
- LD_LIBRARY_PATH
lib64:
- LD_LIBRARY_PATH

default:
arch_folder: false
# Where to install modules
roots:
tcl: /user-environment/modules
tcl:
all:
autoload: none
hash_length: 0
exclude_implicits: true
exclude: ['%gcc@7.5.0', 'gcc %gcc@7.5.0']
projections:
all: '{name}/{version}'
8 changes: 8 additions & 0 deletions recipes/prgenv-gnu/7.2.0/amdgpu/post-install
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/bin/bash

set -e

# remove offending environment variables
jq '.views["default"].env.values.scalar["HIPCC_LINK_FLAGS_APPEND"]|="" | .views["default"].env.values.scalar["HIPCC_COMPILE_FLAGS_APPEND"]|="" ' /user-environment/meta/env.json > /tmp/env.json
# copy file back to destination
cp /tmp/env.json /user-environment/meta/env.json
28 changes: 28 additions & 0 deletions recipes/prgenv-gnu/7.2.0/amdgpu/repo/packages/py_dash/package.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Copyright Spack Project Developers. See COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

from spack_repo.builtin.build_systems.python import PythonPackage

from spack.package import *


class PyDash(PythonPackage):
"""Dash is the most downloaded, trusted Python framework
for building ML & data science web apps."""

homepage = "https://dash.plotly.com/"
pypi = "dash/dash-2.17.1.tar.gz"
git = "https://github.com/plotly/dash.git"

license("MIT")

version("3.0.0", sha256="2cbb071836b3ca546dbe38655083908b8be543f3bea9c4bf660b96490d3d4953")
version("2.17.1", sha256="ee2d9c319de5dcc1314085710b72cd5fa63ff994d913bf72979b7130daeea28e")

depends_on("python@3.8:", type=("build", "run"))
depends_on("py-setuptools", type="build")
depends_on("py-typing-extensions")
depends_on("py-flask")
depends_on("py-plotly@5")
depends_on("py-importlib-metadata")
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
diff --git a/projects/rocblas/clients/CMakeLists.txt b/projects/rocblas/clients/CMakeLists.txt
index 0f32675..65e458d 100644
--- a/projects/rocblas/clients/CMakeLists.txt
+++ b/projects/rocblas/clients/CMakeLists.txt
@@ -163,14 +163,6 @@ if( BUILD_CLIENTS_BENCHMARKS OR BUILD_CLIENTS_TESTS)
find_package(PkgConfig)
if(NOT PKG_CONFIG_FOUND)
message( FATAL_ERROR "Could not find libblis and pkgconfig is not available" )
- else()
- pkg_search_module(PKGBLAS cblas)
- if(PKGBLAS_FOUND)
- set( BLAS_LIBRARY ${PKGBLAS_LIBRARIES} )
- set( BLAS_INCLUDE_DIR ${PKGBLAS_INCLUDE_DIRS} )
- else()
- message( FATAL_ERROR "Could not find libblis and pkgconfig can not find any other implementation of cblas" )
- endif()
endif()
endif()
else()
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
diff --git a/clients/CMakeLists.txt b/clients/CMakeLists.txt
index 0f32675..65e458d 100644
--- a/clients/CMakeLists.txt
+++ b/clients/CMakeLists.txt
@@ -163,14 +163,6 @@ if( BUILD_CLIENTS_BENCHMARKS OR BUILD_CLIENTS_TESTS)
find_package(PkgConfig)
if(NOT PKG_CONFIG_FOUND)
message( FATAL_ERROR "Could not find libblis and pkgconfig is not available" )
- else()
- pkg_search_module(PKGBLAS cblas)
- if(PKGBLAS_FOUND)
- set( BLAS_LIBRARY ${PKGBLAS_LIBRARIES} )
- set( BLAS_INCLUDE_DIR ${PKGBLAS_INCLUDE_DIRS} )
- else()
- message( FATAL_ERROR "Could not find libblis and pkgconfig can not find any other implementation of cblas" )
- endif()
endif()
endif()
else()
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
diff --git a/clients/gtest/CMakeLists.txt b/clients/gtest/CMakeLists.txt
index 55e9bbe..32b350c 100644
--- a/clients/gtest/CMakeLists.txt
+++ b/clients/gtest/CMakeLists.txt
@@ -164,6 +164,7 @@ target_include_directories( rocblas-test
$<BUILD_INTERFACE:${BLAS_INCLUDE_DIR}>
$<BUILD_INTERFACE:${BLIS_INCLUDE_DIR}> # may be blank if not used
$<BUILD_INTERFACE:${GTEST_INCLUDE_DIRS}>
+ $<BUILD_INTERFACE:${ROCM_OPENMP_EXTRAS_DIR}/include>
)
target_include_directories( rocblas_v3-test
SYSTEM PRIVATE
@@ -171,6 +172,7 @@ target_include_directories( rocblas_v3-test
$<BUILD_INTERFACE:${BLAS_INCLUDE_DIR}>
$<BUILD_INTERFACE:${BLIS_INCLUDE_DIR}> # may be blank if not used
$<BUILD_INTERFACE:${GTEST_INCLUDE_DIRS}>
+ $<BUILD_INTERFACE:${ROCM_OPENMP_EXTRAS_DIR}/include>
)

if( BUILD_FORTRAN_CLIENTS )
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
diff --git a/library/CMakeLists.txt b/library/CMakeLists.txt
index 762580d..1692578 100644
--- a/library/CMakeLists.txt
+++ b/library/CMakeLists.txt
@@ -81,7 +81,10 @@ function( rocblas_library_settings lib_target_ )
else()
target_link_libraries( ${lib_target_} PRIVATE hip::device -lstdc++fs --rtlib=compiler-rt --unwindlib=libgcc)
if (BUILD_SHARED_LIBS)
- target_link_libraries(${lib_target_} PRIVATE -lroctx64)
+ find_path(ROCTRACER_INCLUDE_DIR "roctracer/roctx.h")
+ target_include_directories(${lib_target_} PUBLIC ${ROCTRACER_INCLUDE_DIR})
+ find_library(ROCTX_LIB NAMES roctx64)
+ target_link_libraries(${lib_target_} PRIVATE ${ROCTX_LIB})
endif()
endif()
target_link_libraries( ${lib_target_} PRIVATE Threads::Threads )
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
diff --git a/clients/CMakeLists.txt b/clients/CMakeLists.txt
index 6194286..292bd8d 100644
--- a/clients/CMakeLists.txt
+++ b/clients/CMakeLists.txt
@@ -178,8 +178,8 @@ if( BUILD_CLIENTS_BENCHMARKS OR BUILD_CLIENTS_TESTS)

# Find the package ROCmSMI
if(NOT WIN32)
- find_package(ROCmSMI REQUIRED)
- list( APPEND COMMON_LINK_LIBS rocm_smi )
+ find_package(rocm_smi CONFIG REQUIRED)
+ list( APPEND COMMON_LINK_LIBS rocm_smi64 )
endif()

find_package( GTest REQUIRED )
Loading