From a72635506ec2615db18c31793fe5de8984cb7dc9 Mon Sep 17 00:00:00 2001 From: Markus Holzer <markus.holzer@fau.de> Date: Fri, 27 Sep 2024 14:15:55 +0200 Subject: [PATCH] Final changes --- .../backends/arm_instruction_sets.py | 2 +- tests/test_vectorization_specific.py | 18 +----------------- 2 files changed, 2 insertions(+), 18 deletions(-) diff --git a/src/pystencils/backends/arm_instruction_sets.py b/src/pystencils/backends/arm_instruction_sets.py index cd9bd7f2b..fc0a8c450 100644 --- a/src/pystencils/backends/arm_instruction_sets.py +++ b/src/pystencils/backends/arm_instruction_sets.py @@ -113,7 +113,7 @@ def get_vector_instruction_set_arm(data_type='double', instruction_set='neon'): vindex.format("{1}") + ')' if instruction_set.startswith('sve2') and instruction_set not in ('sve256', 'sve2048'): result['streamS'] = f'svstnt1_scatter_u{bits[data_type]}offset_f{bits[data_type]}({predicate}, {{0}}, ' + \ - vindex.format(f"{{2}}*{bits[data_type] // 8}") + ', {1})' + vindex.format(f"{{2}}*{bits[data_type]//8}") + ', {1})' result['+int'] = f"svadd_s{bits['int']}_x({int_predicate}, " + "{0}, {1})" diff --git a/tests/test_vectorization_specific.py b/tests/test_vectorization_specific.py index 57c5311bf..48dd20f51 100644 --- a/tests/test_vectorization_specific.py +++ b/tests/test_vectorization_specific.py @@ -34,8 +34,6 @@ def test_vectorisation_varying_arch(instruction_set): config = pystencils.config.CreateKernelConfig(cpu_vectorize_info={'instruction_set': instruction_set}) ast = ps.create_kernel(update_rule, config=config) - for parameter in ast.get_parameters(): - assert not isinstance(parameter.symbol, CFunction) kernel = ast.compile() kernel(f=arr) np.testing.assert_equal(arr, 2) @@ -55,8 +53,6 @@ def test_vectorized_abs(instruction_set, dtype): config = pystencils.config.CreateKernelConfig(cpu_vectorize_info={'instruction_set': instruction_set}) ast = ps.create_kernel(update_rule, config=config) - for parameter in ast.get_parameters(): - assert not isinstance(parameter.symbol, CFunction) func = ast.compile() dst = np.zeros_like(arr) @@ -129,8 +125,6 @@ def test_alignment_and_correct_ghost_layers(gl_field, gl_kernel, instruction_set config = pystencils.config.CreateKernelConfig(target=dh.default_target, cpu_vectorize_info=opt, ghost_layers=gl_kernel) ast = ps.create_kernel(update_rule, config=config) - for parameter in ast.get_parameters(): - assert not isinstance(parameter.symbol, CFunction) kernel = ast.compile() if ('loadA' in ast.instruction_set or 'storeA' in ast.instruction_set) and gl_kernel != gl_field: with pytest.raises(ValueError): @@ -178,8 +172,6 @@ def test_square_root(dtype, instruction_set, field_layout): ps.Assignment(sp.Symbol("xi_2"), sp.Symbol("xi") * sp.sqrt(src_field.center))] ast = ps.create_kernel(eq, config=config) - for parameter in ast.get_parameters(): - assert not isinstance(parameter.symbol, CFunction) ast.compile() code = ps.get_code_str(ast) print(code) @@ -200,8 +192,6 @@ def test_square_root_2(dtype, instruction_set, padding): config = ps.CreateKernelConfig(data_type=dtype, default_number_float=dtype, cpu_vectorize_info=cpu_vec) ast = ps.create_kernel(up, config=config) - for parameter in ast.get_parameters(): - assert not isinstance(parameter.symbol, CFunction) ast.compile() code = ps.get_code_str(ast) @@ -225,8 +215,6 @@ def test_pow(dtype, instruction_set, padding): ps.Assignment(sp.Symbol("xi_2"), sp.Symbol("xi") * sp.Pow(src_field.center, 0.5))] ast = ps.create_kernel(eq, config=config) - for parameter in ast.get_parameters(): - assert not isinstance(parameter.symbol, CFunction) ast.compile() code = ps.get_code_str(ast) @@ -254,8 +242,6 @@ def test_issue62(dtype, instruction_set, padding): cpu_vectorize_info=opt) ast = ps.create_kernel(up, config=config) - for parameter in ast.get_parameters(): - assert not isinstance(parameter.symbol, CFunction) ast.compile() code = ps.get_code_str(ast) @@ -282,8 +268,6 @@ def test_div_and_unevaluated_expr(dtype, instruction_set): cpu_vectorize_info=opt) ast = ps.create_kernel(up, config=config) - for parameter in ast.get_parameters(): - assert not isinstance(parameter.symbol, CFunction) code = ps.get_code_str(ast) # print(code) @@ -294,7 +278,7 @@ def test_div_and_unevaluated_expr(dtype, instruction_set): @pytest.mark.parametrize('dtype', ('float32', 'float64')) @pytest.mark.parametrize('instruction_set', ('sve', 'sve2', 'sme', 'rvv')) -def test_check_ast_parameters(dtype, instruction_set): +def test_check_ast_parameters_sizeless(dtype, instruction_set): f, g = ps.fields(f"f, g: {dtype}[3D]", layout='fzyx') update_rule = [ps.Assignment(g.center(), 2 * f.center())] -- GitLab