-
Notifications
You must be signed in to change notification settings - Fork 240
Description
Problem Description
Recent changes in rocm-7.x tags introduced get_gpu_name_by_id
function which is called during CMake configuration.
It seems that it is now impossible to build a fully correct packages for composable_kernel (deb/rpm) on a buildserver that has no GPU (or has GPU different from GPU_TARGETS).
Example, that follows the Readme:
docker run \
--rm \
-it \
--cap-add=SYS_ADMIN \ # no access to /dev/kfd; suppose it does not exist, or it is not gfx942
--group-add sudo \
-w /root/workspace \
-v $(pwd):/root/workspace \
ck:latest \
/bin/bash
# Try to build for gfx942
cmake \
-D CMAKE_PREFIX_PATH=/opt/rocm \
-D CMAKE_CXX_COMPILER=/opt/rocm/bin/hipcc \
-D CMAKE_BUILD_TYPE=Release \
-D GPU_TARGETS="gfx942" ..
Result:
-- Found Python3: /usr/bin/python3 (found version "3.12.3") found components: Interpreter Development Development.Module Development.Embed
-- Performing Test HAS_MAX_OCCUPANCY_EXPERIMENTAL
-- Performing Test HAS_MAX_OCCUPANCY_EXPERIMENTAL - Success
GPU query failed (exit 1):
GPU query failed (exit 1):
...
CMake lauches the following command:
python /root/workspace/tile_engine/ops/gemm/gemm_instance_builder.py \
--working_path /root/workspace/build/tile_engine/ops/gemm/fp8/ --datatype fp8 \
--config_json /root/workspace/tile_engine/ops/gemm/configs/default_config.json --list_blobs
which should produce large /src/composable_kernel/build/tile_engine/ops/gemm/fp8/gemm_instance_blobs.txt
, but when current GPU != gfx942
, the file is much smaller, which means that resulting library will misbehave on gfx942?
Is it possible to reorganize build scripts so that they could work on buildservers without target GPU?
Operating System
Gentoo
CPU
x86-64
GPU
AMD Instinct MI300X
Other
No response
ROCm Version
ROCm 7.0.1
ROCm Component
Composable Kernel
Steps to Reproduce
No response
(Optional for Linux users) Output of /opt/rocm/bin/rocminfo --support
No response
Additional Information
No response