Sergi Siso
Sergi Siso
These are: - [x] Prevent generating repeated copies of the same routines - [ ] Bring kernel global module imports to the Invoke file
I implemented the validation in both: the transformation and the node global validation. I have not tackled the ACCKernelDirective constraints, see https://github.com/stfc/PSyclone/issues/1815#issuecomment-1199430014 but happy to add it if needed.
Simon Muller has reported some issues when using the SymbolTable resolve_import method: - It fails to import target symbols with a name that varies in capitalisation from the corresponding symbol...
Updated March 2024, the current stats are: Inline transformations successful 502 Inline transformations failed 139: - [ ] 90 because another, different, subroutine with the same name already exists (could...
The dependency analysis raises a IndexError exception while analysing the following loop: ``` do widx3 = 1, loop_stop_120, 1 loop_stop_121 = SIZE(tmask, 2) do widx2 = 1, loop_stop_121, 1 loop_stop_122...
In some cases (e.g. NEMO sbcblk.f90), range expressions like: `zrhoa(:,:) = rho_air( sf(jp_tair)%fnow(:,:,1), sf(jp_humi)%fnow(:,:,1), sf(jp_slp)%fnow(:,:,1) )` are converted to explicit loops like: `zrhoa(idx_15,idx_14) = rho_air(sf(jp_tair)%fnow(:,:,1),sf(jp_humi)%fnow(:,:,1),sf(jp_slp)%fnow(idx_15,idx_14,1))` this should not happend because...
Currently we allow most Fortran intrinsics to be offloaded to GPUs with OpenMP and OpenACC directive, but not all of them are supported in GPUs. However, the standards are not...
The "omp loop" construct that we use for OpenMP offloading is a feature introduced in OpenMP 5 and is not available on all the compilers I attempted to use for...
I tried using the NEMO OpenMP offloading script to insert OpenACC directive instead of OpenMP. It worked after fixing 2 issues: - The ACCLoopDirective does not have a collapse attribute...