From d014f06935d56ffa90a25e23e0e7c9944c1bc245 Mon Sep 17 00:00:00 2001 From: GitGlimpse895 Date: Sat, 18 Apr 2026 21:03:26 +0530 Subject: [PATCH 1/4] layer/device: fix Device properties type annotation and add ROCMProperties validation --- kernels/src/kernels/layer/device.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/kernels/src/kernels/layer/device.py b/kernels/src/kernels/layer/device.py index c11c937d..165c80aa 100644 --- a/kernels/src/kernels/layer/device.py +++ b/kernels/src/kernels/layer/device.py @@ -141,12 +141,15 @@ class Device: """ type: str - properties: CUDAProperties | None = None + properties: CUDAProperties | ROCMProperties | None = None def __post_init__(self): if self.properties is not None and isinstance(self.properties, CUDAProperties): if self.type != "cuda": raise ValueError("CUDAProperties is only supported for 'cuda' devices.") + if self.properties is not None and isinstance(self.properties, ROCMProperties): + if self.type != "rocm": + raise ValueError("ROCMProperties is only supported for 'rocm' devices.") def __eq__(self, other): if not isinstance(other, Device): From 3c3820236573e1297f0807ba04d4f03dccb61ada Mon Sep 17 00:00:00 2001 From: GitGlimpse895 Date: Sat, 18 Apr 2026 21:04:33 +0530 Subject: [PATCH 2/4] layer: export ROCMProperties from layer package --- kernels/src/kernels/layer/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kernels/src/kernels/layer/__init__.py b/kernels/src/kernels/layer/__init__.py index bf8d2098..1b91530a 100644 --- a/kernels/src/kernels/layer/__init__.py +++ b/kernels/src/kernels/layer/__init__.py @@ -1,4 +1,4 @@ -from .device import CUDAProperties, Device +from .device import CUDAProperties, Device, ROCMProperties from .func import ( FuncRepository, LocalFuncRepository, @@ -22,6 +22,7 @@ __all__ = [ "CUDAProperties", "Device", + "ROCMProperties", "FuncRepository", "LayerRepository", "LocalFuncRepository", From 232cee08a57b6bc789138ba225e14cd2509a7023 Mon Sep 17 00:00:00 2001 From: GitGlimpse895 Date: Sat, 18 Apr 2026 21:06:28 +0530 Subject: [PATCH 3/4] kernels: export ROCMProperties from top-level package --- kernels/src/kernels/__init__.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kernels/src/kernels/__init__.py b/kernels/src/kernels/__init__.py index 8ef7add4..fbe76b30 100644 --- a/kernels/src/kernels/__init__.py +++ b/kernels/src/kernels/__init__.py @@ -16,6 +16,7 @@ LockedFuncRepository, LockedLayerRepository, Mode, + ROCMProperties, kernelize, register_kernel_mapping, replace_kernel_forward_from_hub, @@ -42,6 +43,7 @@ "Benchmark", "CUDAProperties", "Device", + "ROCMProperties", "FuncRepository", "LayerRepository", "LoadedKernel", From 230fa2ed2e77294cf3a060541a34600aac59ed04 Mon Sep 17 00:00:00 2001 From: GitGlimpse895 Date: Thu, 23 Apr 2026 18:30:13 +0530 Subject: [PATCH 4/4] layer/device: add ROCMProperties type annotation and validation guard --- kernels/src/kernels/layer/device.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kernels/src/kernels/layer/device.py b/kernels/src/kernels/layer/device.py index 165c80aa..a17650b6 100644 --- a/kernels/src/kernels/layer/device.py +++ b/kernels/src/kernels/layer/device.py @@ -150,6 +150,9 @@ def __post_init__(self): if self.properties is not None and isinstance(self.properties, ROCMProperties): if self.type != "rocm": raise ValueError("ROCMProperties is only supported for 'rocm' devices.") + if self.properties is not None and isinstance(self.properties, ROCMProperties): + if self.type != "rocm": + raise ValueError("ROCMProperties is only supported for 'rocm' devices.") def __eq__(self, other): if not isinstance(other, Device):