Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Source Code
subroutine coriolis_adv_enter_data(this)! Bare `copyin(this)` removed (stack-descriptor map → AMD cross-slot! overlap; see ocean_surfstress_enter_data). f_corner + the scratch! buffers attach below; cor-descriptor presence (so DCs reading! cor%f_corner(i,j) don't per-launch memcpy) comes from the root! copyin(state) in ocean_state_enter_data. A V100 A/B with copyin(this)! gone is bit-identical and faster overall, so the root copy covers it.class(coriolis_adv_t),intent(inout)::thisselect type(this)type is(coriolis_adv_t)call coriolis_adv_enter_data_impl(this)end select end subroutine coriolis_adv_enter_data