openucx / ucc

Unified Collective Communication Library
https://openucx.github.io/ucc/
BSD 3-Clause "New" or "Revised" License
177 stars 85 forks source link

make install failed #853

Closed pangjuan8848 closed 8 months ago

pangjuan8848 commented 9 months ago

make[3]: Leaving directory '/root/mspangj/ucc-1.2.0/src/components/mc/cpu' make[2]: Leaving directory '/root/mspangj/ucc-1.2.0/src/components/mc/cpu' Making install in components/mc/rocm make[2]: Entering directory '/root/mspangj/ucc-1.2.0/src/components/mc/rocm' CC libucc_mc_rocm_la-mc_rocm.lo In file included from /root/mspangj/ucc-1.2.0/src/utils/arch/rocm_def.h:16:0, from mc_rocm.h:14, from mc_rocm.c:8: /opt/rocm/hip/include/hip/hip_runtime_api.h:333:2: error: #error ("Must define exactly one of HIP_PLATFORM_HCC or HIP_PLATFORM_NVCC");

error("Must define exactly one of HIP_PLATFORM_HCC or HIP_PLATFORM_NVCC");

^~~~~ In file included from mc_rocm.h:16:0, from mc_rocm.c:8: /opt/rocm/hip/include/hip/hip_complex.h:33:2: error: #error ("Must define exactly one of HIP_PLATFORM_HCC or HIP_PLATFORM_NVCC");

error("Must define exactly one of HIP_PLATFORM_HCC or HIP_PLATFORM_NVCC");

^~~~~ In file included from mc_rocm.c:8:0: mc_rocm.h:33:51: error: unknown type name ‘hipStream_t’; did you mean ‘hipError_t’? hipStream_t stream); ^~~ hipError_t mc_rocm.h:44:5: error: unknown type name ‘hipStream_t’ hipStream_t stream; ^~~ In file included from mc_rocm.c:11:0: /opt/rocm/hip/include/hip/hip_runtime.h:60:2: error: #error ("Must define exactly one of HIP_PLATFORM_HCC or HIP_PLATFORM_NVCC");

error("Must define exactly one of HIP_PLATFORM_HCC or HIP_PLATFORM_NVCC");

^~~~~ In file included from /opt/rocm/hip/include/hip/hip_runtime.h:65:0,

Sergei-Lebedev commented 8 months ago

@edgargabriel could you please have a look

edgargabriel commented 8 months ago

@pangjuan8848 what ROCm version are you using? HIP_PLATFORM_HCC has been replaced by HIP_PLATFORM_AMD quite a while back, so updating the ROCm version on your system should resolve the issue

pangjuan8848 commented 8 months ago

@edgargabriel thank you for your replay,I'm using ROCm 2.9, does UCC have a minimum requirement of ROCm 5.0? I see in the configuration file that it checks if the ROCm version is greater than 5.0

edgargabriel commented 8 months ago

@pangjuan8848 the check for ROCm 5.0 is there because the organization of the header files changed between ROCm 4.x and 5.x. However, the first version that we ever tested UCC on was ROCM 4.5, and I would definitely not expect it to work with anything older than that. If you do an update, I would recommend to take one of the ROCm 5.x releases

edgargabriel commented 8 months ago

I double checked, in UCX we have ROCm 3.7 as the minimum requirement enforced in the configure script. We might want to introduce a similar check in UCC, but given that we have not tested with anything before ROCm 4.5 (and are only testing actively with ROCm 5.x) I would suggest to make the minimum required version higher, e.g. at least 4.0

pangjuan8848 commented 8 months ago

@edgargabriel OK,thank you very much for your answer,i will try later