|
Neko 1.99.3
A portable framework for high-order spectral element flow simulations
|
Defines a registry for storing and requesting temporary objects This can be used when you have a function that will be called often and you don't want to create temporary objects (work arrays) inside it on each call.
Data Types | |
| type | scratch_registry_t |
Functions/Subroutines | |
| subroutine | scratch_registry_init (this, size, expansion_size, dof) |
| Constructor, optionally taking initial registry and expansion size as argument. | |
| subroutine | scratch_registry_free (this) |
| Destructor. | |
| subroutine | scratch_registry_set_dofmap (this, dof) |
| Assign a dofmap to the scratch registry. | |
| pure integer function | get_n_entries (this) |
| Get the number of objects stored in the registry. | |
| pure integer function | get_n_inuse (this) |
| Get the number of objects currently in use. | |
| pure integer function | get_size (this) |
| Get the size of the objects array. | |
| pure integer function | get_expansion_size (this) |
| Get the expansion size. | |
| pure logical function | get_inuse (this, index) |
| Get the inuse status for a given index. | |
| subroutine | expand (this) |
| subroutine | request_host_array (this, v, index, n, clear) |
| Get a host_array from the registry by assigning it to a pointer. | |
| subroutine | request_device_array (this, v, index, n, clear) |
| Get a device_array from the registry by assigning it to a pointer. | |
| subroutine | request_vector (this, v, index, n, clear) |
| Get a vector from the registry by assigning it to a pointer. | |
| subroutine | request_matrix (this, m, index, nrows, ncols, clear) |
| Get a matrix from the registry by assigning it to a pointer. | |
| subroutine | request_field (this, f, index, clear) |
| Get a field from the registry by assigning it to a pointer. | |
| subroutine | relinquish_host_array_single (this, index) |
| Relinquish the use of a host_array in the registry. | |
| subroutine | relinquish_host_array_multiple (this, indices) |
| Relinquish the use of multiple host_arrays in the registry. | |
| subroutine | relinquish_device_array_single (this, index) |
| Relinquish the use of a device_array in the registry. | |
| subroutine | relinquish_device_array_multiple (this, indices) |
| Relinquish the use of multiple device_arrays in the registry. | |
| subroutine | relinquish_vector_single (this, index) |
| Relinquish the use of a vector in the registry. | |
| subroutine | relinquish_vector_multiple (this, indices) |
| Relinquish the use of multiple vectors in the registry. | |
| subroutine | relinquish_matrix_single (this, index) |
| Relinquish the use of a matrix in the registry. | |
| subroutine | relinquish_matrix_multiple (this, indices) |
| Relinquish the use of multiple matrices in the registry. | |
| subroutine | relinquish_field_single (this, index) |
| Relinquish the use of a field in the registry. | |
| subroutine | relinquish_field_multiple (this, indices) |
| Relinquish the use of multiple fields in the registry. | |
| subroutine | relinquish_single (this, index) |
| Relinquish the use of an object in the registry. | |
| subroutine | relinquish_multiple (this, indices) |
| Relinquish the use of multiple objects in the registry. | |
Variables | |
| type(scratch_registry_t), target, public | neko_scratch_registry |
| Global scratch registry. | |
|
private |
Definition at line 264 of file scratch_registry.f90.
|
private |
Definition at line 249 of file scratch_registry.f90.
|
private |
Definition at line 257 of file scratch_registry.f90.


|
private |
Definition at line 221 of file scratch_registry.f90.
|
private |
Definition at line 229 of file scratch_registry.f90.
|
private |
Definition at line 237 of file scratch_registry.f90.
|
private |
| indices | The indices of the device_arrays to free |
Definition at line 597 of file scratch_registry.f90.

|
private |
| index | The index of the device_array to free |
Definition at line 582 of file scratch_registry.f90.

|
private |
| indices | The indices of the fields to free |
Definition at line 696 of file scratch_registry.f90.

|
private |
| index | The index of the field to free |
Definition at line 681 of file scratch_registry.f90.

|
private |
| indices | The indices of the host_arrays to free |
Definition at line 564 of file scratch_registry.f90.

|
private |
| index | The index of the host_array to free |
Definition at line 549 of file scratch_registry.f90.

|
private |
| indices | The indices of the matrices to free |
Definition at line 663 of file scratch_registry.f90.

|
private |
| index | The index of the matrix to free |
Definition at line 648 of file scratch_registry.f90.

|
private |
| indices | The indices of the objects to free |
Definition at line 724 of file scratch_registry.f90.

|
private |
| index | The index of the object to free |
Definition at line 714 of file scratch_registry.f90.

|
private |
| indices | The indices of the vectors to free |
Definition at line 630 of file scratch_registry.f90.

|
private |
| index | The index of the vector to free |
Definition at line 615 of file scratch_registry.f90.

|
private |
| v | Pointer to the requested device_array. |
| index | Index of the device_array in the registry (for relinquishing later). |
| n | Size of the requested device_array. |
| clear | If true, the device_array values are set to zero upon request. |
Definition at line 348 of file scratch_registry.f90.

|
private |
| f | Pointer to the requested field. |
| index | Index of the field in the registry (for relinquishing later). |
| clear | If true, the field values are set to zero upon request. |
Definition at line 500 of file scratch_registry.f90.

|
private |
| v | Pointer to the requested host_array. |
| index | Index of the host array in the registry (for relinquishing later). |
| n | Size of the requested host_array. |
| clear | If true, the host_array values are set to zero upon request. |
Definition at line 298 of file scratch_registry.f90.


|
private |
| m | Pointer to the requested matrix. |
| index | Index of the matrix in the registry (for relinquishing later). |
| nrows | Number of rows of the requested matrix. |
| ncols | Number of columns of the requested matrix. |
| clear | If true, the matrix values are set to zero upon request. |
Definition at line 449 of file scratch_registry.f90.

|
private |
| v | Pointer to the requested vector. |
| index | Index of the vector in the registry (for relinquishing later). |
| n | Size of the requested vector. |
| clear | If true, the vector values are set to zero upon request. |
Definition at line 398 of file scratch_registry.f90.

|
private |
Definition at line 173 of file scratch_registry.f90.
|
private |
| size | Initial size of the registry |
| expansion_size | Size to expand the registry by when needed |
| dof | Dofmap to associate with the scratch registry |
Definition at line 150 of file scratch_registry.f90.
|
private |
| dof | Dofmap to assign |
Definition at line 206 of file scratch_registry.f90.
| type(scratch_registry_t), target, public scratch_registry::neko_scratch_registry |
Definition at line 138 of file scratch_registry.f90.