omp_aligned_calloc – Allocate aligned nullified memory with an allocator ¶Allocate zero-initialized memory with the specified allocator, which can either
be a predefined allocator, an allocator handle or omp_null_allocator. If
the allocators is omp_null_allocator, the allocator specified by the
def-allocator-var ICV is used. The to-be allocated memory is for an
array with nmemb elements, each having a size of size bytes. Both
nmemb and size must be nonnegative numbers; if either of them is
zero, omp_aligned_calloc will return a null pointer. alignment
must be a positive power of two and size must be a multiple of the
alignment; the alignment will be at least the maximal value required by
alignment trait of the allocator and the value of the passed
alignment argument. If successful, a pointer to the zero-initialized
allocated memory is returned, otherwise the fallback trait of the
allocator determines the behavior.
In target regions, either the dynamic_allocators clause must
appear on a requires directive in the same compilation unit – or the
allocator argument may only be a constant expression with the value of
one of the predefined allocators and may not be omp_null_allocator.
Memory allocated by omp_aligned_calloc must be freed using
omp_free.
| Prototype: | void* omp_aligned_calloc(size_t nmemb, size_t size, |
omp_allocator_handle_t allocator) |
| Prototype: | void* omp_aligned_calloc(size_t nmemb, size_t size, |
omp_allocator_handle_t allocator=omp_null_allocator) |
| Interface: | type(c_ptr) function omp_aligned_calloc(nmemb, size, allocator) bind(C) |
use, intrinsic :: iso_c_binding, only : c_ptr, c_size_t | |
integer (c_size_t), value :: nmemb, size | |
integer (omp_allocator_handle_kind), value :: allocator |
OMP_ALLOCATOR – Set the default allocator, Memory allocation, omp_set_default_allocator – Set the default allocator,
omp_free – Freeing memory allocated with OpenMP routines, omp_init_allocator – Create an allocator
OpenMP specification v5.1, Section 3.13.8