63 real(kind=
rp),
pointer :: tlag(:) => null()
64 real(kind=
rp),
pointer :: dtlag(:) => null()
85 real(kind=
dp) :: t = 0d0
159 class(
chkp_t),
intent(inout) :: this
163 associate(u => this%u, v => this%v, w => this%w, &
164 ulag => this%ulag, vlag => this%vlag, wlag => this%wlag, &
167 if (
associated(this%u) .and.
associated(this%v) .and. &
168 associated(this%w) .and.
associated(this%p))
then
175 if (
associated(this%ulag) .and.
associated(this%vlag) .and. &
176 associated(this%wlag))
then
193 if (
associated(this%s))
then
202 do i = 1, this%scalar_lags%size()
206 slag => this%scalar_lags%get(i)
207 slag_size = slag%size()
215 if (
allocated(this%scalar_abx1) .and.
allocated(this%scalar_abx2))
then
216 do i = 1,
size(this%scalar_abx1)
224 call device_sync(glb_cmd_queue)
231 class(
chkp_t),
intent(inout) :: this
234 if (neko_bcknd_device .eq. 1)
then
235 associate(u => this%u, v => this%v, w => this%w, &
236 ulag => this%ulag, vlag => this%vlag, wlag => this%wlag, &
239 if (
associated(this%u) .and.
associated(this%v) .and. &
240 associated(this%w))
then
241 call u%copy_from(host_to_device, sync = .false.)
242 call v%copy_from(host_to_device, sync = .false.)
243 call w%copy_from(host_to_device, sync = .false.)
244 call p%copy_from(host_to_device, sync = .false.)
247 if (
associated(this%ulag) .and.
associated(this%vlag) .and. &
248 associated(this%wlag))
then
249 call ulag%lf(1)%copy_from(host_to_device, sync = .false.)
250 call ulag%lf(2)%copy_from(host_to_device, sync = .false.)
252 call vlag%lf(1)%copy_from(host_to_device, sync = .false.)
253 call vlag%lf(2)%copy_from(host_to_device, sync = .false.)
255 call wlag%lf(1)%copy_from(host_to_device, sync = .false.)
256 call wlag%lf(2)%copy_from(host_to_device, sync = .false.)
259 if (
associated(this%s))
then
260 call this%s%copy_from(host_to_device, sync = .false.)
262 call this%slag%lf(1)%copy_from(host_to_device, sync = .false.)
263 call this%slag%lf(2)%copy_from(host_to_device, sync = .false.)
264 call this%abs1%copy_from(host_to_device, sync = .false.)
265 call this%abs2%copy_from(host_to_device, sync = .false.)
269 if (
allocated(this%scalar_lags%items) .and. &
270 this%scalar_lags%size() > 0)
then
271 do i = 1, this%scalar_lags%size()
273 type(field_series_t),
pointer :: slag
274 integer :: slag_size, dof_size
275 slag => this%scalar_lags%get(i)
276 slag_size = slag%size()
277 dof_size = slag%f%dof%size()
279 call slag%lf(j)%copy_from(host_to_device, sync = .false.)
286 if (
allocated(this%scalar_abx1) .and.
allocated(this%scalar_abx2))
then
287 do i = 1,
size(this%scalar_abx1)
288 call this%scalar_abx1(i)%ptr%copy_from(host_to_device, &
290 call this%scalar_abx2(i)%ptr%copy_from(host_to_device, &