Skip to content

Commit c83b4ce

Browse files
committed
Adding a helper functions to facilitate users.
1 parent b5ce41c commit c83b4ce

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

kernel_tuner/utils/directives.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -684,3 +684,19 @@ def add_present_openacc_fortran(name: str, size: ArraySize) -> str:
684684
else:
685685
md_size = fortran_md_size(size)
686686
return f" present({name}({','.join(md_size)})) "
687+
688+
689+
def process_directives(langs: Code, source: str, user_dimensions: dict = None) -> dict:
690+
"""Helper functions to process all the directives in the code and create tunable functions"""
691+
kernel_strings = dict()
692+
preprocessor = extract_preprocessor(source)
693+
signatures = extract_directive_signature(source, langs)
694+
bodies = extract_directive_code(source, langs)
695+
data = extract_directive_data(source, langs)
696+
init = extract_initialization_code(source, langs)
697+
deinit = extract_deinitialization_code(source, langs)
698+
for kernel in signatures.keys():
699+
kernel_strings[kernel] = generate_directive_function(
700+
preprocessor, signatures[kernel], bodies[kernel], langs, data[kernel], init, deinit, user_dimensions
701+
)
702+
return kernel_strings

0 commit comments

Comments
 (0)