loki.transformations.single_column.tests.test_scc

Functions

fixture_blocking()

fixture_horizontal()

fixture_horizontal_bounds_aliases()

test_scc_annotate_directive(frontend, ...)

Test the correct addition of OpenACC pragmas to SCC format code (no hoisting).

test_scc_annotate_empty_data_clause(...)

Test that we do not generate empty !$acc data clauses.

test_scc_annotate_openacc(frontend, ...)

Test the correct addition of OpenACC pragmas to SCC format code (no hoisting).

test_scc_annotate_routine_seq_pragma(...)

Test that !$loki routine seq pragmas are replaced correctly by !$acc routine seq pragmas.

test_scc_base_horizontal_bounds_checks(...)

Test the SCCBaseTransformation checks for horizontal loop bounds.

test_scc_base_masked_statement(frontend, ...)

Test resolving of masked statements in kernel.

test_scc_base_resolve_vector_notation(...)

Test resolving of vector notation in kernel.

test_scc_demote_transformation(frontend, ...)

Test that local array variables that do not buffer values between vector sections and whose size is known at compile-time are demoted.

test_scc_demotion_parameter(frontend, ...)

Test that temporary arrays with compile-time constants are marked for demotion.

test_scc_inline_and_sequence_association(...)

Test the combinations of routine inlining and sequence association

test_scc_multicond(frontend, horizontal, ...)

Test if horizontal loops in multiconditionals with CallStatements are correctly transformed.

test_scc_multiple_acc_pragmas(frontend, ...)

Test that both '!$acc data' and '!$acc parallel loop gang' pragmas are created at the driver layer.

test_scc_nested(frontend, horizontal, blocking)

Test the correct handling of nested vector-level routines in SCC.

test_scc_outer_loop(frontend, horizontal, ...)

Test the correct handling of an outer loop that breaks scoping.

test_scc_variable_demotion(frontend, horizontal)

Test the correct demotion of an outer loop that breaks scoping.

test_scc_vector_reduction(frontend, ...)

Test for the insertion of OpenACC vector reduction directives.

fixture_horizontal()
fixture_horizontal_bounds_aliases()
fixture_blocking()
test_scc_base_resolve_vector_notation(frontend, horizontal)

Test resolving of vector notation in kernel.

test_scc_base_masked_statement(frontend, horizontal)

Test resolving of masked statements in kernel.

test_scc_demote_transformation(frontend, horizontal)

Test that local array variables that do not buffer values between vector sections and whose size is known at compile-time are demoted.

test_scc_annotate_openacc(frontend, horizontal, blocking, acc_data)

Test the correct addition of OpenACC pragmas to SCC format code (no hoisting).

test_scc_annotate_directive(frontend, horizontal, blocking, directive)

Test the correct addition of OpenACC pragmas to SCC format code (no hoisting).

test_scc_nested(frontend, horizontal, blocking)

Test the correct handling of nested vector-level routines in SCC.

test_scc_outer_loop(frontend, horizontal, blocking)

Test the correct handling of an outer loop that breaks scoping.

test_scc_variable_demotion(frontend, horizontal)

Test the correct demotion of an outer loop that breaks scoping.

test_scc_multicond(frontend, horizontal, blocking)

Test if horizontal loops in multiconditionals with CallStatements are correctly transformed.

test_scc_multiple_acc_pragmas(frontend, horizontal, blocking)

Test that both ‘!$acc data’ and ‘!$acc parallel loop gang’ pragmas are created at the driver layer.

test_scc_annotate_routine_seq_pragma(frontend, blocking)

Test that !$loki routine seq pragmas are replaced correctly by !$acc routine seq pragmas.

test_scc_annotate_empty_data_clause(frontend, blocking)

Test that we do not generate empty !$acc data clauses.

test_scc_vector_reduction(frontend, pipeline, horizontal, blocking)

Test for the insertion of OpenACC vector reduction directives.

test_scc_demotion_parameter(frontend, horizontal, tmp_path)

Test that temporary arrays with compile-time constants are marked for demotion.

test_scc_base_horizontal_bounds_checks(frontend, horizontal, horizontal_bounds_aliases, tmp_path)

Test the SCCBaseTransformation checks for horizontal loop bounds.

test_scc_inline_and_sequence_association(frontend, horizontal, inline_internals, resolve_sequence_association)

Test the combinations of routine inlining and sequence association