From 377bab57e08ebb0fbc75a8971ff0a49d8f2f1076 Mon Sep 17 00:00:00 2001 From: Frederik Hennig <frederik.hennig@fau.de> Date: Tue, 11 Mar 2025 11:48:31 +0100 Subject: [PATCH] remove extensions.gpu --- src/pystencilssfg/extensions/gpu.py | 38 ----------------------------- tests/extensions/test_gpu.py | 26 -------------------- 2 files changed, 64 deletions(-) delete mode 100644 src/pystencilssfg/extensions/gpu.py delete mode 100644 tests/extensions/test_gpu.py diff --git a/src/pystencilssfg/extensions/gpu.py b/src/pystencilssfg/extensions/gpu.py deleted file mode 100644 index b4242ac..0000000 --- a/src/pystencilssfg/extensions/gpu.py +++ /dev/null @@ -1,38 +0,0 @@ -from pystencilssfg import lang - - -def dim3class(gpu_runtime_header: str, *, cls_name: str = "dim3"): - """ - >>> dim3 = dim3class("<hip/hip_runtime.h>") - >>> dim3().ctor(64, 1, 1) - dim3{64, 1, 1} - - Args: - gpu_runtime_header: String with the name of the gpu runtime header - cls_name: String with the acutal name (default "dim3") - Returns: - Dim3Class: A `lang.CppClass` that mimics cuda's/hip's `dim3` - """ - @lang.cppclass(cls_name, gpu_runtime_header) - class Dim3Class: - def ctor(self, dim0=1, dim1=1, dim2=1): - return self.ctor_bind(dim0, dim1, dim2) - - @property - def x(self): - return lang.AugExpr.format("{}.x", self) - - @property - def y(self): - return lang.AugExpr.format("{}.y", self) - - @property - def z(self): - return lang.AugExpr.format("{}.z", self) - - @property - def dims(self): - """The dims property.""" - return [self.x, self.y, self.z] - - return Dim3Class diff --git a/tests/extensions/test_gpu.py b/tests/extensions/test_gpu.py deleted file mode 100644 index 2e8d133..0000000 --- a/tests/extensions/test_gpu.py +++ /dev/null @@ -1,26 +0,0 @@ -from pystencilssfg.extensions.gpu import dim3class -from pystencilssfg.lang import HeaderFile, AugExpr - - -def test_dim3(): - cuda_runtime = "<cuda_runtime.h>" - dim3 = dim3class(cuda_runtime, cls_name="dim3") - assert HeaderFile.parse(cuda_runtime) in dim3.template.includes - assert str(dim3().ctor(128, 1, 1)) == "dim3{128, 1, 1}" - assert str(dim3().ctor()) == "dim3{1, 1, 1}" - assert str(dim3().ctor(1, 1, 128)) == "dim3{1, 1, 128}" - - block = dim3(ref=True, const=True).var("block") - - dims = [ - AugExpr.format( - "uint32_t(({} + {} - 1)/ {})", - 1024, - block.dims[i], - block.dims[i], - ) - for i in range(3) - ] - - grid = dim3().ctor(*dims) - assert str(grid) == f"dim3{{{', '.join((str(d) for d in dims))}}}" -- GitLab