Release the plan, buffers and topology. Idempotent.
subroutine ocean_fold_exchange_destroy() !! Release the plan, buffers and topology. Idempotent. if (.not. fx_initialised) return if (fx_active) then !$acc exit data delete(fx_sn, fx_rn, fx_scol, fx_speer, fx_se, & !$acc& fx_rcol, fx_rpeer, fx_re, fx_rcls) if (allocated(fx_sbuf)) then !$acc exit data delete(fx_sbuf, fx_rbuf) deallocate (fx_sbuf, fx_rbuf) end if deallocate (fx_peer_rank, fx_sn, fx_rn, fx_scol, fx_speer, fx_se, & fx_rcol, fx_rpeer, fx_re, fx_rcls, fx_reqs, fx_stats) end if call fx_plan%destroy() fx_cap = 0 fx_slab_cap = 0 fx_npeer = 0 fx_self = 0 fx_nmax = 1 fx_active = .false. fx_open = .false. fx_sent = .false. fx_initialised = .false. end subroutine ocean_fold_exchange_destroy