From 25e79865301e6e017c327433b14feaa26011f3fa Mon Sep 17 00:00:00 2001 From: markus holzer <markus.holzer@fau.de> Date: Wed, 3 Mar 2021 15:27:15 +0100 Subject: [PATCH] Added more test cases --- pystencils_tests/test_vectorization_specific.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/pystencils_tests/test_vectorization_specific.py b/pystencils_tests/test_vectorization_specific.py index 093ca6a00..2ce2d9c04 100644 --- a/pystencils_tests/test_vectorization_specific.py +++ b/pystencils_tests/test_vectorization_specific.py @@ -54,22 +54,26 @@ def test_vectorized_abs(instruction_set, dtype): @pytest.mark.parametrize('dtype', ('float', 'double')) @pytest.mark.parametrize('instruction_set', supported_instruction_sets) -def test_alignment_and_correct_ghost_layers(instruction_set, dtype): +@pytest.mark.parametrize('ghost_layers', [(1, 0), (0, 1), (1, 1)]) +def test_alignment_and_correct_ghost_layers(ghost_layers, instruction_set, dtype): itemsize = 8 if dtype == 'double' else 4 alignment = get_vector_instruction_set(dtype, instruction_set)['width'] * itemsize dtype = np.float64 if dtype == 'double' else np.float32 domain_size = (128, 128) dh = ps.create_data_handling(domain_size, periodicity=(True, True), default_target='cpu') - src = dh.add_array("src", values_per_cell=1, dtype=dtype, ghost_layers=1, alignment=alignment) + src = dh.add_array("src", values_per_cell=1, dtype=dtype, ghost_layers=ghost_layers[0], alignment=alignment) dh.fill(src.name, 1.0, ghost_layers=True) - dst = dh.add_array("dst", values_per_cell=1, dtype=dtype, ghost_layers=1, alignment=alignment) + dst = dh.add_array("dst", values_per_cell=1, dtype=dtype, ghost_layers=ghost_layers[0], alignment=alignment) dh.fill(dst.name, 1.0, ghost_layers=True) update_rule = ps.Assignment(dst[0, 0], src[0, 0]) opt = {'instruction_set': instruction_set, 'assume_aligned': True, 'nontemporal': True, 'assume_inner_stride_one': True} - ast = ps.create_kernel(update_rule, target=dh.default_target, cpu_vectorize_info=opt, ghost_layers=0) + ast = ps.create_kernel(update_rule, target=dh.default_target, cpu_vectorize_info=opt, ghost_layers=ghost_layers[1]) kernel = ast.compile() - with pytest.raises(ValueError): + if ghost_layers[0] != ghost_layers[1]: + with pytest.raises(ValueError): + dh.run_kernel(kernel) + else: dh.run_kernel(kernel) \ No newline at end of file -- GitLab