Skip to content

[Issue]: rocFFT (6.4.3.1): Unconditional HIP device compilation breaks build on ppc64el #651

@Trupti603

Description

@Trupti603

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

  1. Use Debian sid (ppc64el).
  2. Install rocFFT build dependencies:
    apt build-dep rocfft
  3. Build the package:
    debuild -us -uc
  4. 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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions