Psyclone

Latest version: v2.5.0

Safety actively analyzes 681857 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 5

1.2.0

1) 415 Support for parsing stencil information supplied in
Dynamo 0.3 kernel meta-data.

2) 367 Make gocean Python conform to pep8

3) 230 Add documentation for the GOcean1.0 API

4) 379 Make f2pygen and its tests conform to pep8, pylint and
improve the test coverage

5) 429 Support for read-only scalar arguments in the 0.3
Dynamo API.

6) 420 Support for inter-invoke halo calls and logic (for
distributed memory)

7) 514 Fix for a bug in the if test round a halo_exchange call
in which arrays (vectors) did not have their index added.

8) 521 Fix bugs in the logic for adding halo exchange calls before
loops.

9) 532 Fix in the logic for adding halo exchange calls before
loops which recognises that operators do not have halos.

10) 467 Support transformations in Distributed Memory. Enable the use
of OpenMP (and other transformations) with DM. Note that PSyclone
currently does not support halo swaps inside OpenMP parallel regions.

1.1.0

1) 263 OpenMP (including colouring) supported for the 0.3 Dynamo
API. Parser fails gracefully if Kernel-code parsing is
unsuccessful.

2) 292 Add support for user-supplied transformations/optimisations
via a script passed to the generate function/command-line. This
enables the use of transformations within a build system.

3) 292 Documentation for Algorithm, PSy and Kernel layers as well
as for transformations has been added. Documentation on using
transformation scripts then added on top.

4) 292 Dynamo example scripts fixed.

5) 258 First version of kernel-stub generator added. Given kernel
metadata as input, PSyclone has enough information to be able to
generate stub kernel code with the appropriate arguments and
argument ordering.

6) 364 OpenMP fix for update 1) (ticket 263). 'ncolour' variable
now declared. New lfric/eg3 example added to demonstrate the use
of transformation scripts introduced in update 2) (ticket 292).

7) 361 Minor updates to the kernel-stub generator. Remove spurious
dir() command, remove additional '_code' from kernel subroutine name
and add 'implicit none' to the generated subroutine.

8) 363 Update to the generator script to catch any run-time
errors generated by the user-supplied optimisation script. Such
errors are then reported in a user-friendly fashion to aid
debugging.

9) 272 Added support for explicit loop bounds in the PSy layer
for the GOcean1.0 API. The Cray compiler makes use of this
information to generate more efficient code. This option can be
switched on or off using a transformation.

10) Support the module in-lining of kernel subroutines. i.e.
kernel subroutines can be moved into the same module that contains
the invoke from which they are called. This functionality is
implemented as a new transformation, 'KernelModuleInlineTrans'.
psyGen.py has also been made fully pep8 compliant.

11) 347 Add an option to limit the length of lines of fortran
code that PSyclone generates to 132 chars. This is the length
mandated by the Fortran free-format standard and is rigorously
enforced by some compilers (e.g. PGI). As a part of this change
PSyclone now checks the length of all lines of source code in
the Algorithm and Kernel files that it parses.

12) 395 Add support for new function spaces: Wtheta, W2H and W2V.

13) 396 and 397 Make all tests work with Python 2.6. Previously
two of the tests only worked in Python 2.7 and a third caused
resource issues when using deepcopy.

14) 355 Support operators where the "to" and "from" function
spaces are different.

1.0.2

1) 299 temporary boundary condition
support. matrix_vector_kernel_mm now uses enforce_bc_code rather
than enforce_boundary_w2 as the latter is no longer used.

1.0.1

1) 299 temporary boundary condition support. removed the
hardwired code and associated test that added an additional
boundary condition array to ru_kernel as this kernel is no longer
required. Added support for generating a boundary condition array
in the PSy layer and passing it into the enforce_bc_kernel
kernel. enforce_bc_kernel should be placed by the algorithm
developer to enforce boundary conditions.

1.0.0

Page 5 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.