stfc / PSyclone

Domain-specific compiler and code transformation system for Finite Difference/Volume/Element Earth-system models in Fortran
BSD 3-Clause "New" or "Revised" License
107 stars 29 forks source link

All kernel_interface callback methods should be implemented #928

Open rupertford opened 4 years ago

rupertford commented 4 years ago

At the moment only the kernel interface callback methods that are needed to pass existing tests are implemented. The remainder also need to be implemented.

rupertford commented 3 years ago

Once the callbacks are complete, kernel_interface can replace kern_stub_arg_list.py

arporter commented 2 years ago

This is now causing problems for LFRic kernel transformations as in #1892 I now use the KernelInterface class when validating kernel arguments (when checking for a matching interface).

arporter commented 1 year ago

Support for 'field_bcs_kernel' needs to be implemented as this is causing white space in the GPU profile.

arporter commented 1 year ago

The reason enforce_bc_kernel is special is that it is passed a rank-2, integer array which is essentially a mask describing which dofs are on the boundary:

integer(kind=i_def), dimension(ndf,2), intent(in) :: boundary_value

Presumably I need to add a suitable type for this to LFRicTypes @rupertford?

rupertford commented 1 year ago

That would be great but you could specify it as a generic LFRic array in this issue and create a separate issue if you prefer.