From 6a7559133cf32eb8f257d8cc376054cce7d1995f Mon Sep 17 00:00:00 2001
From: Frederik Hennig <frederik.hennig@fau.de>
Date: Wed, 12 Mar 2025 09:42:28 +0100
Subject: [PATCH] separate failing and non-failing getters for gpu api

---
 src/pystencilssfg/composer/gpu_composer.py | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/pystencilssfg/composer/gpu_composer.py b/src/pystencilssfg/composer/gpu_composer.py
index 274c81c..4c3a8a4 100644
--- a/src/pystencilssfg/composer/gpu_composer.py
+++ b/src/pystencilssfg/composer/gpu_composer.py
@@ -85,8 +85,13 @@ class SfgGpuComposer(SfgComposerMixIn):
         self._gpu_api_provider = HipAPI()
 
     @property
-    def gpu_api(self) -> ProvidesGpuRuntimeAPI:
-        """GPU runtime API wrapper currently used by this GPU composer.
+    def gpu_api(self) -> ProvidesGpuRuntimeAPI | None:
+        """GPU runtime API wrapper currently used by this GPU composer,
+        or `None` if none was selected."""
+        return self._gpu_api_provider
+
+    def get_gpu_api(self) -> ProvidesGpuRuntimeAPI:
+        """GPU runtime API provider currently used by this GPU composer.
 
         Raises:
             AttributeError: If no runtime API was set yet (see `use_cuda`, `use_hip`)
@@ -140,7 +145,7 @@ class SfgGpuComposer(SfgComposerMixIn):
 
         launch_config = ker.get_launch_configuration()
 
-        dim3 = self.gpu_api.dim3
+        dim3 = self.get_gpu_api().dim3
 
         grid_size: ExprLike
         block_size: ExprLike
-- 
GitLab