loki.transformations.tests.test_argument_shape

Functions

fixture_here()

test_argument_shape_multiple(frontend)

Test to ensure that multiple call paths are also honoured correctly.

test_argument_shape_nested(frontend)

Test to ensure that implicit array argument shapes are propagated through multiple subroutine calls.

test_argument_shape_simple(frontend)

Test to ensure that implicit array argument shapes are correctly derived from the calling context, so that the driver-level shapes are propagated into the kernel routines.

test_argument_shape_transformation(frontend)

Test that ensures that explicit argument shapes are indeed inserted in a multi-layered call tree.

test_argument_shape_transformation_import(...)

Test that ensures that explicit argument shapes are indeed inserted in a multi-layered call tree.

test_argument_size_assumed_size(transform)

Test to ensure that assumed size arguments are correctly sized from the calling context, so that the driver-level sizes are propagated into the kernel routines.

fixture_here()
test_argument_shape_simple(frontend)

Test to ensure that implicit array argument shapes are correctly derived from the calling context, so that the driver-level shapes are propagated into the kernel routines.

test_argument_shape_nested(frontend)

Test to ensure that implicit array argument shapes are propagated through multiple subroutine calls.

test_argument_shape_multiple(frontend)

Test to ensure that multiple call paths are also honoured correctly.

Note that conflicting array shape information is currently not detected, since the trnasformation only replaces deferred array dimensions (“:” ).

test_argument_shape_transformation(frontend)

Test that ensures that explicit argument shapes are indeed inserted in a multi-layered call tree.

test_argument_shape_transformation_import(frontend, here, tmp_path)

Test that ensures that explicit argument shapes are indeed inserted in a multi-layered call tree.

test_argument_size_assumed_size(transform)

Test to ensure that assumed size arguments are correctly sized from the calling context, so that the driver-level sizes are propagated into the kernel routines.