thatās all no need for rocm-repos install
In that case it use a python3.14 .
newer rocm / older python:
you can use the https://rocm.nightlies.amd.com/v2/gfx1151 like you did with your pyproject.toml⦠but do not install rocm from fedora they have 2 different rocm release (6.4.4 vs 7.2?) and it clash (python venv did not isolate correctly from native rocmā¦)
If you do not need pure romc7+ (like for llama.cpp buildā¦) do not use Index of /rocm/el9/latest/main/ reposā¦
You can test toolbox with FC44 to get rocm-7.1 if you want.
Or some on the therock toolbox (or create one), but this need to add ROCM paths:
somthing like that
Containerfile.therock-nightly :
# build:
# from repos: https://therock-nightly-tarball.s3.amazonaws.com
# - podman build -t therock-toolbox:7.11 -f Containerfile.therock-nightly --build-arg THEROCK_VER=gfx1151-7.11.0a
# - podman build -t therock-toolbox:7.12 -f Containerfile.therock-nightly --build-arg THEROCK_VER=gfx1151-7.12.0a
# create:
# - toolbox create --image therock-toolbox:7.11 therock-devel-7.11
# - toolbox create --image therock-toolbox:7.12 therock-devel-7.12
# create:
# - toolbox enter <> ...
#=======================================================================================================
FROM registry.fedoraproject.org/fedora-toolbox:43
# update OS
# + ajouter qq element pour les builds llama.cpp
RUN dnf -y --nodocs --setopt=install_weak_deps=False \
install \
curl tar xz git-lfs patch \
make gcc-c++ cmake libcurl-devel ninja-build radeontop libatomic \
&& dnf clean all && rm -rf /var/cache/dnf/*
# find & fetch the latest Linux M.N.0rc tarball (gfx1151 / gfx110X-all)
WORKDIR /tmp
#ARG THEROCK_VER=gfx1151-7.11.0a
ARG THEROCK_VER=gfx1151-7.12.0a
RUN set -euo pipefail; \
BASE="https://therock-nightly-tarball.s3.amazonaws.com"; \
PREFIX="therock-dist-linux-${THEROCK_VER}"; \
KEY="$(curl -s "${BASE}?list-type=2&prefix=${PREFIX}" \
| grep -o "therock-dist-linux-${THEROCK_VER}[0-9]\{8\}\.tar\.gz" \
| sort | tail -n1)"; \
echo "Latest tarball: ${KEY}"; \
curl -L --fail -o therock.tar.gz "${BASE}/${KEY}" \
&& mkdir -p /opt/rocm \
&& tar xzf therock.tar.gz -C /opt/rocm --strip-components=1 \
&& rm therock.tar.gz
# les env pour rocm
ENV ROCM_PATH=/opt/rocm \
HIP_PLATFORM=amd \
HIP_PATH=/opt/rocm \
HIP_CLANG_PATH=/opt/rocm/llvm/bin \
HIP_INCLUDE_PATH=/opt/rocm/include \
HIP_LIB_PATH=/opt/rocm/lib \
HIP_DEVICE_LIB_PATH=/opt/rocm/lib/llvm/amdgcn/bitcode \
PATH=/opt/rocm/bin:/opt/rocm/llvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \
LD_LIBRARY_PATH=/opt/rocm/lib:/opt/rocm/lib64:/opt/rocm/llvm/lib \
LIBRARY_PATH=/opt/rocm/lib:/opt/rocm/lib64 \
CPATH=/opt/rocm/include \
PKG_CONFIG_PATH=/opt/rocm/lib/pkgconfig
# good for llama.cpp hip build for APU:
ENV GGML_CUDA_ENABLE_UNIFIED_MEMORY=ON
# make /usr/local libs visible without touching env
RUN echo "/usr/local/lib" > /etc/ld.so.conf.d/local.conf \
&& echo "/usr/local/lib64" >> /etc/ld.so.conf.d/local.conf \
&& ldconfig
Note: only rocm, not python/pytorch for this one.
And if some want to test someting on fedora43 advise to use toolbox, it wonāt break you main OS, and have full OS isolation.
I make videos, but I also publish ALL documentation on github and thereās even a landing page dedicated to the toolboxes and the known working configurations: