ROCm / hipFFT

hipFFT is a FFT marshalling library.
https://rocm.docs.amd.com/projects/hipFFT/en/latest/
Other
53 stars 34 forks source link

cmake: set clients to depend on "boost" on mariner #95

Closed evetsso closed 4 months ago

evetsso commented 4 months ago

Mariner only has a single boost package that includes everything.

6.2 cherry-pick for https://ontrack-internal.amd.com/browse/SWDEV-466045.

Kevonosdiaz commented 4 months ago

Just wondering why a line is specified for FFTW in hipFFT, but not in rocFFT. Also, does RPM refer to the Linux package manager or something else?

evetsso commented 4 months ago

rocFFT works out package dependencies for Boost and FFTW in separate if/else blocks. hipFFT combines them into one block. So in hipFFT, if I were to just add a Mariner case, nothing would set FFTW_RPM.

Arguably, these could be made to look more similar but there's going to have to be some duplication somewhere. Each distro differs in small ways so there's no consistent common ground we can rely on.

evetsso commented 4 months ago

And yes, this blob of CMake code is all about setting dependencies on the packages we produce. .deb and .rpm packages contain a bunch of files (which will have the libraries, clients, etc that we normally think of building). But in addition to that we also need to tell the OS what other packages we depend on.

This way, someone can ask for the rocfft-clients package to be installed, and the package manager will work out that rocfft, FFTW, Boost etc all need to be installed as prerequisites.

Kevonosdiaz commented 4 months ago

Gotcha sounds good, thanks for explaining.

evetsso commented 4 months ago

Looks like d9c4451966cce4b01fcd3a5dce43ebef96666b91 didn't make it into the 6.2 release branch so I've cherry-picked it here. I would prefer to just combine it into a single PR because otherwise I need to do more cherry-pick paperwork. And rocm-ci doesn't build with WERROR=ON anyway, so this is just for our own CI.