Accelerator support
Transfers GPU devmem to 1D fortran-array.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(in) | :: | this | |||
integer(kind=int_4), | DIMENSION(:), POINTER | :: | hostmem | |||
type(acc_stream_type), | intent(in) | :: | stream |
Transfers GPU devmem to 1D fortran-array.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(in) | :: | this | |||
integer(kind=int_8), | DIMENSION(:), POINTER | :: | hostmem | |||
type(acc_stream_type), | intent(in) | :: | stream |
Transfers GPU devmem to 1D fortran-array.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(in) | :: | this | |||
real(kind=real_4), | DIMENSION(:), POINTER | :: | hostmem | |||
type(acc_stream_type), | intent(in) | :: | stream |
Transfers GPU devmem to 1D fortran-array.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(in) | :: | this | |||
real(kind=real_8), | DIMENSION(:), POINTER | :: | hostmem | |||
type(acc_stream_type), | intent(in) | :: | stream |
Transfers GPU devmem to 1D fortran-array.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(in) | :: | this | |||
complex(kind=real_4), | DIMENSION(:), POINTER | :: | hostmem | |||
type(acc_stream_type), | intent(in) | :: | stream |
Transfers GPU devmem to 1D fortran-array.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(in) | :: | this | |||
complex(kind=real_8), | DIMENSION(:), POINTER | :: | hostmem | |||
type(acc_stream_type), | intent(in) | :: | stream |
Transfers 1D fortran-array from host to GPU devmem.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(in) | :: | this | |||
integer(kind=int_4), | DIMENSION(:), POINTER | :: | hostmem | |||
type(acc_stream_type), | intent(in) | :: | stream |
Transfers 1D fortran-array from host to GPU devmem.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(in) | :: | this | |||
integer(kind=int_8), | DIMENSION(:), POINTER | :: | hostmem | |||
type(acc_stream_type), | intent(in) | :: | stream |
Transfers 1D fortran-array from host to GPU devmem.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(in) | :: | this | |||
real(kind=real_4), | DIMENSION(:), POINTER | :: | hostmem | |||
type(acc_stream_type), | intent(in) | :: | stream |
Transfers 1D fortran-array from host to GPU devmem.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(in) | :: | this | |||
real(kind=real_8), | DIMENSION(:), POINTER | :: | hostmem | |||
type(acc_stream_type), | intent(in) | :: | stream |
Transfers 1D fortran-array from host to GPU devmem.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(in) | :: | this | |||
complex(kind=real_4), | DIMENSION(:), POINTER | :: | hostmem | |||
type(acc_stream_type), | intent(in) | :: | stream |
Transfers 1D fortran-array from host to GPU devmem.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(in) | :: | this | |||
complex(kind=real_8), | DIMENSION(:), POINTER | :: | hostmem | |||
type(acc_stream_type), | intent(in) | :: | stream |
Transfers 2D fortran-array from host to GPU devmem.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(in) | :: | this | |||
integer(kind=int_4), | DIMENSION(:, :), POINTER | :: | hostmem | |||
type(acc_stream_type), | intent(in) | :: | stream |
Transfers 2D fortran-array from host to GPU devmem.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(in) | :: | this | |||
integer(kind=int_8), | DIMENSION(:, :), POINTER | :: | hostmem | |||
type(acc_stream_type), | intent(in) | :: | stream |
Transfers 2D fortran-array from host to GPU devmem.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(in) | :: | this | |||
real(kind=real_4), | DIMENSION(:, :), POINTER | :: | hostmem | |||
type(acc_stream_type), | intent(in) | :: | stream |
Transfers 2D fortran-array from host to GPU devmem.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(in) | :: | this | |||
real(kind=real_8), | DIMENSION(:, :), POINTER | :: | hostmem | |||
type(acc_stream_type), | intent(in) | :: | stream |
Transfers 2D fortran-array from host to GPU devmem.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(in) | :: | this | |||
complex(kind=real_4), | DIMENSION(:, :), POINTER | :: | hostmem | |||
type(acc_stream_type), | intent(in) | :: | stream |
Transfers 2D fortran-array from host to GPU devmem.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(in) | :: | this | |||
complex(kind=real_8), | DIMENSION(:, :), POINTER | :: | hostmem | |||
type(acc_stream_type), | intent(in) | :: | stream |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | private | :: | size_in_bytes | = | -1 |
Returns a logical, which indicates if the given devmem is allocated.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(in) | :: | this |
true if device memory is allocated, false otherwise
Returns size of given devmem in terms of item count (not bytes!)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(in) | :: | this |
size of device memory (item count)
Returns C-pointer to data of given devmem.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | this |
device memory |
false (accelerator support is not enabled)
Ensures that given devmem has at least the requested size.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(inout) | :: | this |
device memory |
||
type(acc_stream_type), | intent(in) | :: | stream |
on which zeroing and memcopying is performed |
||
integer, | intent(in) | :: | requested_size_in_bytes |
requested size in bytes |
||
logical, | intent(in), | optional | :: | nocopy |
if after growin old content should NOT be copied over. Default: false. if after growing the new memory should be zeroed. Default: false. |
|
logical, | intent(in), | optional | :: | zero_pad |
if after growin old content should NOT be copied over. Default: false. if after growing the new memory should be zeroed. Default: false. |
Allocates a given devmem.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(inout) | :: | this | |||
type(acc_devmem_type), | intent(in) | :: | pointee | |||
integer, | intent(in) | :: | size_in_bytes | |||
integer, | intent(in) | :: | lb_in_bytes |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=int_8), | intent(out) | :: | free | |||
integer(kind=int_8), | intent(out) | :: | total |
Allocates a given devmem.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(inout) | :: | this | |||
integer, | intent(in) | :: | size_in_bytes |
Deallocates a given devmem.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(inout) | :: | this |
Sets entries in given devmem to zero, asynchronously.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(inout) | :: | this | |||
integer, | intent(in), | optional | :: | first_byte |
begin of region to zero, defaults to 1 if not given. end of region to zero, defaults to size if not given. |
|
integer, | intent(in), | optional | :: | last_byte |
begin of region to zero, defaults to 1 if not given. end of region to zero, defaults to size if not given. |
|
type(acc_stream_type), | intent(in) | :: | stream |
stream on which zeroing is performed. |
Transfers 1D fortran-array from host to GPU devmem.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(in) | :: | this | |||
integer(kind=int_4), | DIMENSION(:), POINTER | :: | hostmem | |||
type(acc_stream_type), | intent(in) | :: | stream |
Transfers 2D fortran-array from host to GPU devmem.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(in) | :: | this | |||
integer(kind=int_4), | DIMENSION(:, :), POINTER | :: | hostmem | |||
type(acc_stream_type), | intent(in) | :: | stream |
Transfers GPU devmem to 1D fortran-array.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(in) | :: | this | |||
integer(kind=int_4), | DIMENSION(:), POINTER | :: | hostmem | |||
type(acc_stream_type), | intent(in) | :: | stream |
Transfers 1D fortran-array from host to GPU devmem.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(in) | :: | this | |||
integer(kind=int_8), | DIMENSION(:), POINTER | :: | hostmem | |||
type(acc_stream_type), | intent(in) | :: | stream |
Transfers 2D fortran-array from host to GPU devmem.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(in) | :: | this | |||
integer(kind=int_8), | DIMENSION(:, :), POINTER | :: | hostmem | |||
type(acc_stream_type), | intent(in) | :: | stream |
Transfers GPU devmem to 1D fortran-array.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(in) | :: | this | |||
integer(kind=int_8), | DIMENSION(:), POINTER | :: | hostmem | |||
type(acc_stream_type), | intent(in) | :: | stream |
Transfers 1D fortran-array from host to GPU devmem.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(in) | :: | this | |||
real(kind=real_4), | DIMENSION(:), POINTER | :: | hostmem | |||
type(acc_stream_type), | intent(in) | :: | stream |
Transfers 2D fortran-array from host to GPU devmem.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(in) | :: | this | |||
real(kind=real_4), | DIMENSION(:, :), POINTER | :: | hostmem | |||
type(acc_stream_type), | intent(in) | :: | stream |
Transfers GPU devmem to 1D fortran-array.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(in) | :: | this | |||
real(kind=real_4), | DIMENSION(:), POINTER | :: | hostmem | |||
type(acc_stream_type), | intent(in) | :: | stream |
Transfers 1D fortran-array from host to GPU devmem.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(in) | :: | this | |||
real(kind=real_8), | DIMENSION(:), POINTER | :: | hostmem | |||
type(acc_stream_type), | intent(in) | :: | stream |
Transfers 2D fortran-array from host to GPU devmem.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(in) | :: | this | |||
real(kind=real_8), | DIMENSION(:, :), POINTER | :: | hostmem | |||
type(acc_stream_type), | intent(in) | :: | stream |
Transfers GPU devmem to 1D fortran-array.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(in) | :: | this | |||
real(kind=real_8), | DIMENSION(:), POINTER | :: | hostmem | |||
type(acc_stream_type), | intent(in) | :: | stream |
Transfers 1D fortran-array from host to GPU devmem.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(in) | :: | this | |||
complex(kind=real_4), | DIMENSION(:), POINTER | :: | hostmem | |||
type(acc_stream_type), | intent(in) | :: | stream |
Transfers 2D fortran-array from host to GPU devmem.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(in) | :: | this | |||
complex(kind=real_4), | DIMENSION(:, :), POINTER | :: | hostmem | |||
type(acc_stream_type), | intent(in) | :: | stream |
Transfers GPU devmem to 1D fortran-array.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(in) | :: | this | |||
complex(kind=real_4), | DIMENSION(:), POINTER | :: | hostmem | |||
type(acc_stream_type), | intent(in) | :: | stream |
Transfers 1D fortran-array from host to GPU devmem.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(in) | :: | this | |||
complex(kind=real_8), | DIMENSION(:), POINTER | :: | hostmem | |||
type(acc_stream_type), | intent(in) | :: | stream |
Transfers 2D fortran-array from host to GPU devmem.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(in) | :: | this | |||
complex(kind=real_8), | DIMENSION(:, :), POINTER | :: | hostmem | |||
type(acc_stream_type), | intent(in) | :: | stream |
Transfers GPU devmem to 1D fortran-array.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(acc_devmem_type), | intent(in) | :: | this | |||
complex(kind=real_8), | DIMENSION(:), POINTER | :: | hostmem | |||
type(acc_stream_type), | intent(in) | :: | stream |