From 9ded23ce4f1790f7df1b08423f2ef04897a88994 Mon Sep 17 00:00:00 2001 From: markus <markus.holzer@fau.de> Date: Sat, 20 Jun 2020 18:39:56 +0200 Subject: [PATCH] Fixed Wrong fString in Cuda Backend --- pystencils/backends/cuda_backend.py | 4 ++-- pystencils_tests/test_fast_approximation.py | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/pystencils/backends/cuda_backend.py b/pystencils/backends/cuda_backend.py index ef8f22ea..d590d65b 100644 --- a/pystencils/backends/cuda_backend.py +++ b/pystencils/backends/cuda_backend.py @@ -98,7 +98,7 @@ class CudaSympyPrinter(CustomSympyPrinter): if isinstance(expr, fast_division): return "__fdividef(%s, %s)" % tuple(self._print(a) for a in expr.args) elif isinstance(expr, fast_sqrt): - return f"__fsqrt_rn({tuple(self._print(a) for a in expr.args)})" + return "__fsqrt_rn(%s)" % tuple(self._print(a) for a in expr.args) elif isinstance(expr, fast_inv_sqrt): - return f"__frsqrt_rn({tuple(self._print(a) for a in expr.args)})" + return "__frsqrt_rn(%s)" % tuple(self._print(a) for a in expr.args) return super()._print_Function(expr) diff --git a/pystencils_tests/test_fast_approximation.py b/pystencils_tests/test_fast_approximation.py index 6c9539f6..f4d19fa1 100644 --- a/pystencils_tests/test_fast_approximation.py +++ b/pystencils_tests/test_fast_approximation.py @@ -12,6 +12,7 @@ def test_fast_sqrt(): assert len(insert_fast_sqrts(expr).atoms(fast_sqrt)) == 1 assert len(insert_fast_sqrts([expr])[0].atoms(fast_sqrt)) == 1 ast = ps.create_kernel(ps.Assignment(g[0, 0], insert_fast_sqrts(expr)), target='gpu') + ast.compile() code_str = ps.get_code_str(ast) assert '__fsqrt_rn' in code_str @@ -21,6 +22,7 @@ def test_fast_sqrt(): ac = ps.AssignmentCollection([expr], []) assert len(insert_fast_sqrts(ac).main_assignments[0].atoms(fast_inv_sqrt)) == 1 ast = ps.create_kernel(insert_fast_sqrts(ac), target='gpu') + ast.compile() code_str = ps.get_code_str(ast) assert '__frsqrt_rn' in code_str @@ -34,5 +36,6 @@ def test_fast_divisions(): assert len(insert_fast_divisions(expr).atoms(fast_division)) == 1 ast = ps.create_kernel(ps.Assignment(g[0, 0], insert_fast_divisions(expr)), target='gpu') + ast.compile() code_str = ps.get_code_str(ast) assert '__fdividef' in code_str -- GitLab