Skip to content

fundal_dev_free ​

FUNDAL, memory free routines module.

Source: src/lib/fundal_dev_free.F90

Dependencies

Contents ​

Interfaces ​

dev_free ​

Free device memory OpenACC backend.

Module procedures: dev_free_R8P_1D, dev_free_R8P_2D, dev_free_R8P_3D, dev_free_R8P_4D, dev_free_R8P_5D, dev_free_R8P_6D, dev_free_R8P_7D, dev_free_R4P_1D, dev_free_R4P_2D, dev_free_R4P_3D, dev_free_R4P_4D, dev_free_R4P_5D, dev_free_R4P_6D, dev_free_R4P_7D, dev_free_I8P_1D, dev_free_I8P_2D, dev_free_I8P_3D, dev_free_I8P_4D, dev_free_I8P_5D, dev_free_I8P_6D, dev_free_I8P_7D, dev_free_I4P_1D, dev_free_I4P_2D, dev_free_I4P_3D, dev_free_I4P_4D, dev_free_I4P_5D, dev_free_I4P_6D, dev_free_I4P_7D, dev_free_I2P_1D, dev_free_I2P_2D, dev_free_I2P_3D, dev_free_I2P_4D, dev_free_I2P_5D, dev_free_I2P_6D, dev_free_I2P_7D, dev_free_I1P_1D, dev_free_I1P_2D, dev_free_I1P_3D, dev_free_I1P_4D, dev_free_I1P_5D, dev_free_I1P_6D, dev_free_I1P_7D

free_f ​

Subroutines ​

free_checked ​

Free a structured allocation through the allocation registry (rank-agnostic core of dev_free). A registered buffer is freed on the device where it lives (recorded at allocation). With policy off, or for a pointer the registry does not know (double free, foreign or section pointer) under policy warn, the buffer is freed exactly as before the registry existed: on dev_id (or mydev) for OpenMP, on the current device for OpenACC. Errors are returned through ierr if present (nothing is freed), otherwise handled by the policy (warn/error stop).

fortran
subroutine free_checked(cptr, contiguous, freed, dev_id, ierr, check_dev_id)

Arguments

NameTypeIntentAttributesDescription
cptrtype(c_ptr)inAddress of the buffer (c_loc of the Fortran pointer).
contiguouslogicalinThe Fortran pointer is contiguous.
freedlogicaloutThe buffer has been freed (the pointer must be nullified).
dev_idinteger(kind=I4P)inoptionalDevice ID claimed by the caller.
ierrinteger(kind=I4P)outoptionalError status.
check_dev_idlogicalinoptionalCheck dev_id against the recorded device (default true).

Call graph

free_on_device ​

Free a buffer on a given device: OpenMP takes the device as argument, OpenACC frees on the current device, which is switched to the buffer's device (and restored) when they differ.

fortran
subroutine free_on_device(cptr, dev)

Arguments

NameTypeIntentAttributesDescription
cptrtype(c_ptr)inAddress of the buffer.
devinteger(kind=I4P)inDevice where the buffer lives.

Call graph

dev_free_R8P_1D ​

Free array from device, R8P kind, rank 1. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_R8P_1D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrreal(kind=R8P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_R8P_2D ​

Free array from device, R8P kind, rank 2. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_R8P_2D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrreal(kind=R8P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_R8P_3D ​

Free array from device, R8P kind, rank 3. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_R8P_3D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrreal(kind=R8P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_R8P_4D ​

Free array from device, R8P kind, rank 4. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_R8P_4D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrreal(kind=R8P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_R8P_5D ​

Free array from device, R8P kind, rank 5. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_R8P_5D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrreal(kind=R8P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_R8P_6D ​

Free array from device, R8P kind, rank 6. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_R8P_6D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrreal(kind=R8P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_R8P_7D ​

Free array from device, R8P kind, rank 7. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_R8P_7D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrreal(kind=R8P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_R4P_1D ​

Free array from device, R4P kind, rank 1. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_R4P_1D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrreal(kind=R4P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_R4P_2D ​

Free array from device, R4P kind, rank 2. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_R4P_2D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrreal(kind=R4P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_R4P_3D ​

Free array from device, R4P kind, rank 3. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_R4P_3D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrreal(kind=R4P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_R4P_4D ​

Free array from device, R4P kind, rank 4. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_R4P_4D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrreal(kind=R4P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_R4P_5D ​

Free array from device, R4P kind, rank 5. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_R4P_5D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrreal(kind=R4P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_R4P_6D ​

Free array from device, R4P kind, rank 6. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_R4P_6D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrreal(kind=R4P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_R4P_7D ​

Free array from device, R4P kind, rank 7. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_R4P_7D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrreal(kind=R4P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_I8P_1D ​

Free array from device, I8P kind, rank 1. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_I8P_1D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrinteger(kind=I8P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_I8P_2D ​

Free array from device, I8P kind, rank 2. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_I8P_2D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrinteger(kind=I8P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_I8P_3D ​

Free array from device, I8P kind, rank 3. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_I8P_3D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrinteger(kind=I8P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_I8P_4D ​

Free array from device, I8P kind, rank 4. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_I8P_4D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrinteger(kind=I8P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_I8P_5D ​

Free array from device, I8P kind, rank 5. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_I8P_5D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrinteger(kind=I8P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_I8P_6D ​

Free array from device, I8P kind, rank 6. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_I8P_6D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrinteger(kind=I8P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_I8P_7D ​

Free array from device, I8P kind, rank 7. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_I8P_7D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrinteger(kind=I8P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_I4P_1D ​

Free array from device, I4P kind, rank 1. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_I4P_1D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrinteger(kind=I4P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_I4P_2D ​

Free array from device, I4P kind, rank 2. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_I4P_2D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrinteger(kind=I4P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_I4P_3D ​

Free array from device, I4P kind, rank 3. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_I4P_3D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrinteger(kind=I4P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_I4P_4D ​

Free array from device, I4P kind, rank 4. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_I4P_4D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrinteger(kind=I4P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_I4P_5D ​

Free array from device, I4P kind, rank 5. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_I4P_5D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrinteger(kind=I4P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_I4P_6D ​

Free array from device, I4P kind, rank 6. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_I4P_6D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrinteger(kind=I4P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_I4P_7D ​

Free array from device, I4P kind, rank 7. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_I4P_7D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrinteger(kind=I4P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_I2P_1D ​

Free array from device, I2P kind, rank 1. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_I2P_1D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrinteger(kind=I2P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_I2P_2D ​

Free array from device, I2P kind, rank 2. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_I2P_2D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrinteger(kind=I2P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_I2P_3D ​

Free array from device, I2P kind, rank 3. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_I2P_3D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrinteger(kind=I2P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_I2P_4D ​

Free array from device, I2P kind, rank 4. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_I2P_4D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrinteger(kind=I2P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_I2P_5D ​

Free array from device, I2P kind, rank 5. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_I2P_5D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrinteger(kind=I2P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_I2P_6D ​

Free array from device, I2P kind, rank 6. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_I2P_6D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrinteger(kind=I2P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_I2P_7D ​

Free array from device, I2P kind, rank 7. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_I2P_7D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrinteger(kind=I2P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_I1P_1D ​

Free array from device, I1P kind, rank 1. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_I1P_1D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrinteger(kind=I1P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_I1P_2D ​

Free array from device, I1P kind, rank 2. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_I1P_2D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrinteger(kind=I1P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_I1P_3D ​

Free array from device, I1P kind, rank 3. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_I1P_3D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrinteger(kind=I1P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_I1P_4D ​

Free array from device, I1P kind, rank 4. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_I1P_4D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrinteger(kind=I1P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_I1P_5D ​

Free array from device, I1P kind, rank 5. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_I1P_5D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrinteger(kind=I1P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_I1P_6D ​

Free array from device, I1P kind, rank 6. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_I1P_6D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrinteger(kind=I1P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph

dev_free_I1P_7D ​

Free array from device, I1P kind, rank 7. No-op if fptr is not associated; fptr is nullified on return. The buffer is freed on the device where it lives (allocation registry); dev_id is only checked against it. See free_checked for misuse handling.

fortran
subroutine dev_free_I1P_7D(fptr, dev_id, ierr)

Arguments

NameTypeIntentAttributesDescription
fptrinteger(kind=I1P)inoutpointerMemory device pointer.
dev_idinteger(kind=I4P)inoptionalDevice ID.
ierrinteger(kind=I4P)outoptionalError status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH).

Call graph