From 0c40ed634587f5854d11f7851c7ba9eb5911f4ff Mon Sep 17 00:00:00 2001
From: zy69guqi <richard.angersbach@fau.de>
Date: Mon, 17 Feb 2025 18:31:41 +0100
Subject: [PATCH] Use import or skip mechanism for cupy

---
 tests/kernelcreation/test_reduction.py | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/tests/kernelcreation/test_reduction.py b/tests/kernelcreation/test_reduction.py
index 1824ea095..ec23297b0 100644
--- a/tests/kernelcreation/test_reduction.py
+++ b/tests/kernelcreation/test_reduction.py
@@ -1,11 +1,6 @@
 import pytest
 import numpy as np
 
-try:
-    import cupy as cp
-except ImportError:
-    pass
-
 import pystencils as ps
 from pystencils.sympyextensions import reduction_assignment_from_str
 
@@ -35,7 +30,6 @@ def get_reduction_assign_ast(dtype, op, config):
 @pytest.mark.parametrize('dtype', ["float64", "float32"])
 @pytest.mark.parametrize("op", ["+", "-", "*", "min", "max"])
 def test_reduction_cpu(instruction_set, dtype, op):
-
     vectorize_info = {'instruction_set': instruction_set, 'assume_inner_stride_one': True}
 
     config = ps.CreateKernelConfig(target=ps.Target.CPU, cpu_openmp=True, cpu_vectorize_info=vectorize_info)
@@ -54,6 +48,9 @@ def test_reduction_cpu(instruction_set, dtype, op):
 @pytest.mark.parametrize('dtype', ["float64", "float32"])
 @pytest.mark.parametrize("op", ["+", "-", "*", "min", "max"])
 def test_reduction_gpu(dtype, op):
+    pytest.importorskip('cupy')
+    import cupy as cp
+
     config = ps.CreateKernelConfig(target=ps.Target.GPU)
 
     ast_reduction = get_reduction_assign_ast(dtype, op, config)
-- 
GitLab