ROCm / clr

MIT License
104 stars 50 forks source link

[Issue]: build failure of hip 6.2.1 when generating `hip_rtc_gen/hipRTC` #108

Open haampie opened 2 days ago

haampie commented 2 days ago

Problem Description

During the build of HIP 6.2.1 I'm hitting a build failure at hip_rtc_gen:

[ 53%] Generating hip_rtc_gen/hipRTC
cd /tmp/harmen/spack-stage/spack-stage-hip-6.2.1-5azljx7kvjexa34ldvielqnyb6ai2i5p/spack-build-5azljx7/hipamd/src/hiprtc && /home/harmen/spack/opt/spack/linux-ubuntu24.04-zen2/gcc-13.2.0/llvm-14.0.6-llq3p4xh7vwydihmxfuutsbymgtthwf4/bin/clang-14 -O3 --rocm-path=/tmp/harmen/spack-stage/spack-stage-hip-6.2.1-5azljx7kvjexa34ldvielqnyb6ai2i5p/spack-src/clr/hipamd/include/.. -std=c++17 -nogpulib --hip-version=6.2 -isystem /tmp/harmen/spack-stage/spack-stage-hip-6.2.1-5azljx7kvjexa34ldvielqnyb6ai2i5p/spack-src/include -isystem /tmp/harmen/spack-stage/spack-stage-hip-6.2.1-5azljx7kvjexa34ldvielqnyb6ai2i5p/spack-src/clr/hipamd/include -isystem /tmp/harmen/spack-stage/spack-stage-hip-6.2.1-5azljx7kvjexa34ldvielqnyb6ai2i5p/spack-build-5azljx7/hipamd/include -isystem /tmp/harmen/spack-stage/spack-stage-hip-6.2.1-5azljx7kvjexa34ldvielqnyb6ai2i5p/spack-src/clr/hipamd/src/hiprtc/include --cuda-device-only -D__HIPCC_RTC__ -DHIP_VERSION_MAJOR=6 -DHIP_VERSION_MINOR=2 -x hip /tmp/harmen/spack-stage/spack-stage-hip-6.2.1-5azljx7kvjexa34ldvielqnyb6ai2i5p/spack-build-5azljx7/hipamd/src/hiprtc/hip_rtc_gen/hipRTC_header.h -E -P -o /tmp/harmen/spack-stage/spack-stage-hip-6.2.1-5azljx7kvjexa34ldvielqnyb6ai2i5p/spack-build-5azljx7/hipamd/src/hiprtc/hip_rtc_gen/hipRTC
In file included from /tmp/harmen/spack-stage/spack-stage-hip-6.2.1-5azljx7kvjexa34ldvielqnyb6ai2i5p/spack-build-5azljx7/hipamd/src/hiprtc/hip_rtc_gen/hipRTC_header.h:5:
/tmp/harmen/spack-stage/spack-stage-hip-6.2.1-5azljx7kvjexa34ldvielqnyb6ai2i5p/spack-src/include/hip/hip_runtime.h:41:2: error: HIP is not supported on the specified GPU ARCH with wavefront size 64
#error HIP is not supported on the specified GPU ARCH with wavefront size 64
 ^
1 error generated when compiling for gfx803.

The error is

#error HIP is not supported on the specified GPU ARCH with wavefront size 64

The full build log is attached: spack-build-out.txt

Operating System

Ubuntu 24.04

CPU

AMD Ryzen 7 3700X 8-Core Processor

GPU

AMD Radeon RX 6600 / gfx1032

ROCm Version

ROCm 6.2.1

ROCm Component

clr

Steps to Reproduce

git clone https://github.com/spack/spack.git
./spack/bin/spack install hip@6.2.1

(Optional for Linux users) Output of /opt/rocm/bin/rocminfo --support

ROCk module is loaded
=====================    
HSA System Attributes    
=====================    
Runtime Version:         1.1
Runtime Ext Version:     1.6
System Timestamp Freq.:  1000.000000MHz
Sig. Max Wait Duration:  18446744073709551615 (0xFFFFFFFFFFFFFFFF) (timestamp count)
Machine Model:           LARGE                              
System Endianness:       LITTLE                             
Mwaitx:                  DISABLED
DMAbuf Support:          YES

==========               
HSA Agents               
==========               
*******                  
Agent 1                  
*******                  
  Name:                    AMD Ryzen 7 3700X 8-Core Processor 
  Uuid:                    CPU-XX                             
  Marketing Name:          AMD Ryzen 7 3700X 8-Core Processor 
  Vendor Name:             CPU                                
  Feature:                 None specified                     
  Profile:                 FULL_PROFILE                       
  Float Round Mode:        NEAR                               
  Max Queue Number:        0(0x0)                             
  Queue Min Size:          0(0x0)                             
  Queue Max Size:          0(0x0)                             
  Queue Type:              MULTI                              
  Node:                    0                                  
  Device Type:             CPU                                
  Cache Info:              
    L1:                      32768(0x8000) KB                   
  Chip ID:                 0(0x0)                             
  ASIC Revision:           0(0x0)                             
  Cacheline Size:          64(0x40)                           
  Max Clock Freq. (MHz):   3600                               
  BDFID:                   0                                  
  Internal Node ID:        0                                  
  Compute Unit:            16                                 
  SIMDs per CU:            0                                  
  Shader Engines:          0                                  
  Shader Arrs. per Eng.:   0                                  
  WatchPts on Addr. Ranges:1                                  
  Memory Properties:       
  Features:                None
  Pool Info:               
    Pool 1                   
      Segment:                 GLOBAL; FLAGS: FINE GRAINED        
      Size:                    32781884(0x1f4363c) KB             
      Allocatable:             TRUE                               
      Alloc Granule:           4KB                                
      Alloc Recommended Granule:4KB                                
      Alloc Alignment:         4KB                                
      Accessible by all:       TRUE                               
    Pool 2                   
      Segment:                 GLOBAL; FLAGS: KERNARG, FINE GRAINED
      Size:                    32781884(0x1f4363c) KB             
      Allocatable:             TRUE                               
      Alloc Granule:           4KB                                
      Alloc Recommended Granule:4KB                                
      Alloc Alignment:         4KB                                
      Accessible by all:       TRUE                               
    Pool 3                   
      Segment:                 GLOBAL; FLAGS: COARSE GRAINED      
      Size:                    32781884(0x1f4363c) KB             
      Allocatable:             TRUE                               
      Alloc Granule:           4KB                                
      Alloc Recommended Granule:4KB                                
      Alloc Alignment:         4KB                                
      Accessible by all:       TRUE                               
  ISA Info:                
*******                  
Agent 2                  
*******                  
  Name:                    gfx1032                            
  Uuid:                    GPU-XX                             
  Marketing Name:          AMD Radeon RX 6600                 
  Vendor Name:             AMD                                
  Feature:                 KERNEL_DISPATCH                    
  Profile:                 BASE_PROFILE                       
  Float Round Mode:        NEAR                               
  Max Queue Number:        128(0x80)                          
  Queue Min Size:          64(0x40)                           
  Queue Max Size:          131072(0x20000)                    
  Queue Type:              MULTI                              
  Node:                    1                                  
  Device Type:             GPU                                
  Cache Info:              
    L1:                      16(0x10) KB                        
    L2:                      2048(0x800) KB                     
    L3:                      32768(0x8000) KB                   
  Chip ID:                 29695(0x73ff)                      
  ASIC Revision:           0(0x0)                             
  Cacheline Size:          64(0x40)                           
  Max Clock Freq. (MHz):   2750                               
  BDFID:                   4096                               
  Internal Node ID:        1                                  
  Compute Unit:            28                                 
  SIMDs per CU:            2                                  
  Shader Engines:          2                                  
  Shader Arrs. per Eng.:   2                                  
  WatchPts on Addr. Ranges:4                                  
  Coherent Host Access:    FALSE                              
  Memory Properties:       
  Features:                KERNEL_DISPATCH 
  Fast F16 Operation:      TRUE                               
  Wavefront Size:          32(0x20)                           
  Workgroup Max Size:      1024(0x400)                        
  Workgroup Max Size per Dimension:
    x                        1024(0x400)                        
    y                        1024(0x400)                        
    z                        1024(0x400)                        
  Max Waves Per CU:        32(0x20)                           
  Max Work-item Per CU:    1024(0x400)                        
  Grid Max Size:           4294967295(0xffffffff)             
  Grid Max Size per Dimension:
    x                        4294967295(0xffffffff)             
    y                        4294967295(0xffffffff)             
    z                        4294967295(0xffffffff)             
  Max fbarriers/Workgrp:   32                                 
  Packet Processor uCode:: 116                                
  SDMA engine uCode::      76                                 
  IOMMU Support::          None                               
  Pool Info:               
    Pool 1                   
      Segment:                 GLOBAL; FLAGS: COARSE GRAINED      
      Size:                    8372224(0x7fc000) KB               
      Allocatable:             TRUE                               
      Alloc Granule:           4KB                                
      Alloc Recommended Granule:2048KB                             
      Alloc Alignment:         4KB                                
      Accessible by all:       FALSE                              
    Pool 2                   
      Segment:                 GLOBAL; FLAGS: EXTENDED FINE GRAINED
      Size:                    8372224(0x7fc000) KB               
      Allocatable:             TRUE                               
      Alloc Granule:           4KB                                
      Alloc Recommended Granule:2048KB                             
      Alloc Alignment:         4KB                                
      Accessible by all:       FALSE                              
    Pool 3                   
      Segment:                 GROUP                              
      Size:                    64(0x40) KB                        
      Allocatable:             FALSE                              
      Alloc Granule:           0KB                                
      Alloc Recommended Granule:0KB                                
      Alloc Alignment:         0KB                                
      Accessible by all:       FALSE                              
  ISA Info:                
    ISA 1                    
      Name:                    amdgcn-amd-amdhsa--gfx1032         
      Machine Models:          HSA_MACHINE_MODEL_LARGE            
      Profiles:                HSA_PROFILE_BASE                   
      Default Rounding Mode:   NEAR                               
      Default Rounding Mode:   NEAR                               
      Fast f16:                TRUE                               
      Workgroup Max Size:      1024(0x400)                        
      Workgroup Max Size per Dimension:
        x                        1024(0x400)                        
        y                        1024(0x400)                        
        z                        1024(0x400)                        
      Grid Max Size:           4294967295(0xffffffff)             
      Grid Max Size per Dimension:
        x                        4294967295(0xffffffff)             
        y                        4294967295(0xffffffff)             
        z                        4294967295(0xffffffff)             
      FBarrier Max Size:       32                                 
*** Done ***             

Additional Information

No response

ppanchad-amd commented 2 days ago

Hi @haampie. Internal ticket has been created to investigate your issue. Thanks!

darren-amd commented 2 days ago

Hi @haampie,

I tried to reproduce the issue on my end but am unable to reproduce the issue. I was able to find a similar issue in spack here: https://github.com/spack/spack/issues/42417 related to building HIP 6.0.0 that was fixed with this PR: https://github.com/spack/spack/pull/42481. This leads me to believe that it is an issue with the spack installer, perhaps with the wrong version of llvm being pulled in?

Could you please try pulling the latest version of the spack repo and try again. If that doesn't work, could you please try building HIP from source as described here and let me know if you run into any issues? Thanks!

haampie commented 2 days ago

Hm, confusing. I guess it's supposed to find clang from the llvm-amdgpu package (which is a direct dependency), and not from llvm the dependency of mesa. Will have a look tomorrow.