Skip to content
Snippets Groups Projects
Commit 25e79865 authored by Markus Holzer's avatar Markus Holzer
Browse files

Added more test cases

parent bf6ad86e
No related branches found
No related tags found
1 merge request!226Fix field size
......@@ -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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment