|
Neko 1.99.9
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_tensor3 (this, t, index, n, m, l, clear) |
| Get a tensor3 from the registry by assigning it to a pointer. | |
| subroutine | request_tensor4 (this, t, index, n, m, l, k, clear) |
| Get a tensor4 from the registry by assigning it to a pointer. | |
| subroutine | request_field_stored_dof (this, f, index, clear) |
| Get a field from the registry by assigning it to a pointer. | |
| subroutine | request_field_free_dof (this, f, index, dof, 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_tensor3_single (this, index) |
| Relinquish the use of a tensor3 in the registry. | |
| subroutine | relinquish_tensor3_multiple (this, indices) |
| Relinquish the use of multiple tensor3s in the registry. | |
| subroutine | relinquish_tensor4_single (this, index) |
| Relinquish the use of a tensor4 in the registry. | |
| subroutine | relinquish_tensor4_multiple (this, indices) |
| Relinquish the use of multiple tensor4s 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 294 of file scratch_registry.f90.
|
private |
Definition at line 279 of file scratch_registry.f90.
|
private |
Definition at line 287 of file scratch_registry.f90.


|
private |
Definition at line 251 of file scratch_registry.f90.
|
private |
Definition at line 259 of file scratch_registry.f90.
|
private |
Definition at line 267 of file scratch_registry.f90.
|
private |
| indices | The indices of the device_arrays to free |
Definition at line 809 of file scratch_registry.f90.

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

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

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

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

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

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

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

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

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

|
private |
| indices | The indices of the tensor3s to free |
Definition at line 908 of file scratch_registry.f90.

|
private |
| index | The index of the tensor3 to free |
Definition at line 893 of file scratch_registry.f90.

|
private |
| indices | The indices of the tensor4s to free |
Definition at line 941 of file scratch_registry.f90.

|
private |
| index | The index of the tensor4 to free |
Definition at line 926 of file scratch_registry.f90.

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

|
private |
| index | The index of the vector to free |
Definition at line 827 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 385 of file scratch_registry.f90.

|
private |
| f | Pointer to the requested field. |
| index | Index of the field in the registry (for relinquishing later). |
| dof | Dofmap to use for the field. |
| clear | If true, the field values are set to zero upon request. |
Definition at line 711 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 659 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 329 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 491 of file scratch_registry.f90.

|
private |
| t | Pointer to the requested tensor3. |
| index | Index of the tensor3 in the registry (for relinquishing later). |
| n | Number of rows of the requested tensor3. |
| m | Number of columns of the requested tensor3. |
| l | Number of layers of the requested tensor3. |
| clear | If true, the tensor3 values are set to zero upon request. |
Definition at line 544 of file scratch_registry.f90.

|
private |
| t | Pointer to the requested tensor4. |
| index | Index of the tensor4 in the registry (for relinquishing later). |
| n | Number of rows of the requested tensor4. |
| m | Number of columns of the requested tensor4. |
| l | Number of layers of the requested tensor4. |
| k | Number of slices of the requested tensor4. |
| clear | If true, the tensor4 values are set to zero upon request. |
Definition at line 603 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 440 of file scratch_registry.f90.

|
private |
Definition at line 203 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 180 of file scratch_registry.f90.
|
private |
| dof | Dofmap to assign |
Definition at line 236 of file scratch_registry.f90.
| type(scratch_registry_t), target, public scratch_registry::neko_scratch_registry |
Definition at line 168 of file scratch_registry.f90.