Appearance
fundal_dev_free
FUNDAL, memory free routines module.
Source: src/lib/fundal_dev_free.F90
Dependencies
Contents
- dev_free
- free_f
- free_checked
- free_on_device
- 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
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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
cptr | type(c_ptr) | in | Address of the buffer (c_loc of the Fortran pointer). | |
contiguous | logical | in | The Fortran pointer is contiguous. | |
freed | logical | out | The buffer has been freed (the pointer must be nullified). | |
dev_id | integer(kind=I4P) | in | optional | Device ID claimed by the caller. |
ierr | integer(kind=I4P) | out | optional | Error status. |
check_dev_id | logical | in | optional | Check 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
cptr | type(c_ptr) | in | Address of the buffer. | |
dev | integer(kind=I4P) | in | Device 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | real(kind=R8P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | real(kind=R8P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | real(kind=R8P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | real(kind=R8P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | real(kind=R8P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | real(kind=R8P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | real(kind=R8P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | real(kind=R4P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | real(kind=R4P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | real(kind=R4P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | real(kind=R4P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | real(kind=R4P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | real(kind=R4P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | real(kind=R4P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | integer(kind=I8P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | integer(kind=I8P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | integer(kind=I8P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | integer(kind=I8P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | integer(kind=I8P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | integer(kind=I8P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | integer(kind=I8P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | integer(kind=I4P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | integer(kind=I4P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | integer(kind=I4P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | integer(kind=I4P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | integer(kind=I4P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | integer(kind=I4P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | integer(kind=I4P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | integer(kind=I2P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | integer(kind=I2P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | integer(kind=I2P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | integer(kind=I2P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | integer(kind=I2P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | integer(kind=I2P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | integer(kind=I2P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | integer(kind=I1P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | integer(kind=I1P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | integer(kind=I1P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | integer(kind=I1P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | integer(kind=I1P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | integer(kind=I1P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fptr | integer(kind=I1P) | inout | pointer | Memory device pointer. |
dev_id | integer(kind=I4P) | in | optional | Device ID. |
ierr | integer(kind=I4P) | out | optional | Error status (FUNDAL_ERR_NOT_REGISTERED/_DEV_ID_MISMATCH). |
Call graph