Closed jmcelroy01 closed 7 months ago
We will address the warnings found here. @evetsso will follow up on ways to reduce build time.
@jmcelroy01 It looks like the long build time is in rocFFT as opposed to hipFFT. Specifically, it looks like the time is spent in building a cache of kernels that are loaded at runtime. This cache is optional, though the default build enables it to speed up plan generation on common problem sizes. When rocFFT needs a kernel that is not in this cache, it will compile the kernel at runtime instead.
rocFFT in ROCm 5.7.1 does not expose a nice way to disable this build-time cache, but ROCm 6.1 will add a new ROCFFT_KERNEL_CACHE_ENABLE CMake option to allow this. See https://github.com/ROCm/rocFFT/pull/443.
This PR originally came from Fedora people, so it's plausible that a distribution like Gentoo would also want to use the same option when it becomes available.
Another potential mitigation is to pass a smaller list of targets to AMDGPU_TARGETS when you run CMake. In your case, you have gfx1035 hardware, so you could pass -DAMDGPU_TARGETS=gfx1035
. This would be suitable if you are building and running rocFFT for yourself on your own hardware, but rocFFT would spend more time compiling kernels at runtime if the resulting binary is run on different hardware.
The warnings have been addressed with 7240ea1838f3bb367aff2fd6a0dd70411987fdb0.
Some mechanisms to reduce build time have been mentioned already, so I will close this issue. Please feel free to comment and/or reopen it if you want to continue the discussion.
Problem Description
When compiling hip-FFT-5.7.1 on Gentoo x86_64, the compilation hangs around step [61-62/63] for about 20 minutes before eventually completing, and generates many QA warnings upon installing.
Operating System
Gentoo 2.14 x86_64
CPU
AMD Ryzen 9 6900HS
GPU
AMD Radeon RX 7900 XT
ROCm Version
ROCm 5.7.1
ROCm Component
hipFFT
Steps to Reproduce
No response
(Optional for Linux users) Output of /opt/rocm/bin/rocminfo --support
Additional Information
Kernel 6.6.13, Clang 17.0.6, GCC 13.2.1_p20240113-r1, the GPU selection was just the one that seemed closest to the 6700S.