EnsureDeviceBuffers_MappedScalar3D Subroutine

public subroutine EnsureDeviceBuffers_MappedScalar3D(this)

Grow the device buffers to hold the current logical arrays, reusing existing allocations when the bytes already fit (AMR Stage 6b).

Arguments

TypeIntentOptionalAttributesName
class(MappedScalar3D), intent(inout) :: this

Calls

proc~~ensuredevicebuffers_mappedscalar3d~~CallsGraph proc~ensuredevicebuffers_mappedscalar3d EnsureDeviceBuffers_MappedScalar3D ensuredevicebuffers_scalar3d ensuredevicebuffers_scalar3d proc~ensuredevicebuffers_mappedscalar3d->ensuredevicebuffers_scalar3d ensuredevicebuffer ensuredevicebuffer proc~ensuredevicebuffers_mappedscalar3d->ensuredevicebuffer

Called by

proc~~ensuredevicebuffers_mappedscalar3d~~CalledByGraph proc~ensuredevicebuffers_mappedscalar3d EnsureDeviceBuffers_MappedScalar3D proc~init_mappedscalar3d Init_MappedScalar3D proc~init_mappedscalar3d->proc~ensuredevicebuffers_mappedscalar3d proc~resize_mappedscalar3d Resize_MappedScalar3D proc~resize_mappedscalar3d->proc~ensuredevicebuffers_mappedscalar3d

Contents


Source Code

  subroutine EnsureDeviceBuffers_MappedScalar3D(this)
    !! Grow the device buffers to hold the current logical arrays, reusing existing allocations
    !! when the bytes already fit (AMR Stage 6b).
    implicit none
    class(MappedScalar3D),intent(inout) :: this
    ! Local
    integer(c_size_t) :: workSize

    call EnsureDeviceBuffers_Scalar3D(this)

    workSize = int(this%interp%N+1,c_size_t)*(this%interp%N+1)*(this%interp%N+1)* &
               this%nElem*this%nVar*9*prec
    call EnsureDeviceBuffer(this%jas_gpu,this%alloc_jas,workSize)

  endsubroutine EnsureDeviceBuffers_MappedScalar3D