rocm&zluda handle apu

This commit is contained in:
Seunghoon Lee
2024-09-26 13:34:11 +09:00
parent 9ba7f4b1a0
commit 96922d70a7
2 changed files with 11 additions and 5 deletions
+6 -2
View File
@@ -493,8 +493,12 @@ def install_rocm_zluda():
os.environ.setdefault('HIP_VISIBLE_DEVICES', str(idx))
# if os.environ.get('TENSORFLOW_PACKAGE') == 'tensorflow-rocm': # do not use tensorflow-rocm for navi 3x
# os.environ['TENSORFLOW_PACKAGE'] = 'tensorflow==2.13.0'
break
log.debug(f'ROCm: HSA_OVERRIDE_GFX_VERSION auto config skipped for {gpu.name}')
if not device.is_apu:
# although apu was found, there can be a dedicated card. do not break loop.
# if no dedicated card was found, apu will be used.
break
else:
log.debug(f'ROCm: HSA_OVERRIDE_GFX_VERSION auto config skipped for {gpu.name}')
else:
device_id = int(args.device_id)
if device_id < len(amd_gpus):
+5 -3
View File
@@ -53,18 +53,20 @@ class MicroArchitecture(Enum):
class Agent:
name: str
arch: MicroArchitecture
is_apu: bool
if sys.platform != "win32":
blaslt_supported: bool
def __init__(self, name: str):
self.name = name
gfx_version = name[3:7]
if len(gfx_version) == 4:
gfx = name[3:7]
if len(gfx) == 4:
self.arch = MicroArchitecture.RDNA
elif gfx_version in ("908", "90a", "942",):
elif gfx in ("908", "90a", "942",):
self.arch = MicroArchitecture.CDNA
else:
self.arch = MicroArchitecture.GCN
self.is_apu = gfx in ("801", "902", "90c", "1013", "1033", "1035", "1036", "1103",)
if sys.platform != "win32":
self.blaslt_supported = os.path.exists(os.path.join(HIPBLASLT_TENSILE_LIBPATH, f"extop_{name}.co"))