fab.tools.psyclone#

This file contains the tool class for PSyclone.

Classes

Psyclone()

This is the base class for PSyclone.

class fab.tools.psyclone.Psyclone#

This is the base class for PSyclone.

check_available()#

This function determines if PSyclone is available. Additionally, it established the version, since command line option changes significantly from python 2.5.0 to the next release.

Return type:

bool

process(config, x90_file, psy_file=None, alg_file=None, transformed_file=None, transformation_script=None, additional_parameters=None, kernel_roots=None, api=None)#

Run PSyclone with the specified parameters. If PSyclone is used to transform existing Fortran files, api must be None, and the output file name is transformed_file. If PSyclone is using its DSL features, api must be a valid PSyclone API, and the two output filenames are psy_file and alg_file.

Parameters:
  • api (Optional[str]) – the PSyclone API. (default: None)

  • x90_file (Path) – the input file for PSyclone

  • psy_file (Optional[Path]) – the output PSy-layer file. (default: None)

  • alg_file (Union[Path, str, None]) – the output modified algorithm file. (default: None)

  • transformed_file (Optional[Path]) – the output filename if PSyclone is called as transformation tool. (default: None)

  • transformation_script (Optional[Callable[[Path, BuildConfig], Path]]) – an optional transformation script (default: None)

  • additional_parameters (Optional[List[str]]) – optional additional parameters for PSyclone (default: None)

  • kernel_roots (Optional[List[Union[str, Path]]]) – optional directories with kernels. (default: None)