import os # 32-bit private, local, and region pointers. 64-bit global, constant and flat. # See: # https://github.com/RadeonOpenCompute/llvm/blob/b20b796f65ab6ac12fac4ea32e1d89e1861dee6a/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp#L270-L275 # Alloc goes into addrspace(5) (private) # DATALAYOUT = { # 64: ("e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32" # "-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128" # "-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5-G1" # "-ni:7"), # } # sugon: adapt for gfx906 DATALAYOUT = ("e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32" "-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128" "-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5-G1" "-ni:7") TRIPLE = "amdgcn-amd-amdhsa" # Allow user to use "NUMBA_USE_LIBHLC" env-var to use cmdline HLC. if os.environ.get('NUMBA_USE_LIBHLC', '').lower() not in ['0', 'no', 'false']: from numba.roc.hlc import libhlc as hlc