-
Notifications
You must be signed in to change notification settings - Fork 95
Description
Problem Description
Starting with rocFFT 6.4.3-1, the build fails on the ppc64el (PowerPC 64-bit little endian) architecture.
Earlier versions (up to rocFFT 6.1.2-1) built successfully on ppc64el. The failure appears after changes in the build system that enable HIP device compilation unconditionally.
see the build logs on ppc64el:
https://buildd.debian.org/status/fetch.php?pkg=rocfft&arch=ppc64el&ver=6.4.3-1&stamp=1763073868&raw=0
Operating System
Debian GNU/Linux forky/sid
CPU
IBM POWER10 (ppc64el, altivec supported)
GPU
rocminfo ROCk module is NOT loaded, possibly no GPU devices
ROCm Version
ROCm 6.4.3 (Debian packaged)
ROCm Component
rocFFT
Steps to Reproduce
- Use Debian sid (ppc64el).
- Install rocFFT build dependencies:
apt build-dep rocfft - Build the package:
debuild -us -uc - Build fails during CMake configuration when HIP device compilation is attempted on ppc64el.
(Optional for Linux users) Output of /opt/rocm/bin/rocminfo --support
No response
Additional Information
- rocFFT version: 6.4.3.1
- HIP version: 6.4.43484 (hipcc --version)
- clang: 21.1.6
- rocFFT 6.1.2 previously built successfully on ppc64el in Debian.
Regression:
Starting with rocFFT 6.4.x, the build system unconditionally enables HIP device compilation and injects HIP-specific compiler flags (e.g. -Xarch_host) even when HIP device compilation is not supported
on the host architecture.
This causes CMake compiler tests to fail when using a non-HIP compiler(g++), and HIP device compilation to fail due to missing __clang_hip_runtime_wrapper.h.
Expected behavior:
The build system should gate HIP device compilation behind an explicit
HIP_SUPPORTED check, or provide a supported CPU-only build path on
architectures without HIP support.
Impact:
rocFFT is a dependency of several ROCm components in Debian. As a result, this build failure on ppc64el also causes reverse dependencies to fail to build, blocking those packages as well.
Request for guidance:
Could you please advise on the recommended way to handle this on architectures where HIP device compilation is not supported, such as ppc64el?
In particular, guidance on whether rocFFT is expected to support a CPU-only build, or whether the build system should explicitly gate HIP device compilation on supported architectures, would be very helpful.
This would allow downstream distributions like Debian to handle this cleanly without carrying intrusive patches or disabling packages.
Thanks,
Trupti