A Quick OpenMP Memory Allocator Used by CppAD
Keywords: quick openmp memory allocator used cppad multi-threading allocation syntax purpose include deprecated 2011-08-23

| Prev | Next |  |  |  |  |  |  |

A Quick OpenMP Memory Allocator Used by CppAD
Syntax `
# include <cppad/omp_alloc.hpp>`
Purpose
The C++ `new` and `delete` operators are thread safe, but this means that a thread may have to wait for a lock on these operations. Once memory is obtained for a thread, the `omp_alloc` memory allocator keeps that memory omp_available for the thread so that it can be re-used without waiting for a lock. All the CppAD memory allocations use this utility. The omp_free_available function should be used to return memory to the system (once it is no longer required by a thread).
Include
The routines in sections below are defined by `cppad/omp_alloc.hpp`. This file is included by `cppad/cppad.hpp`, but it can also be included separately with out the rest of the `CppAD`.
Deprecated 2011-08-23
Use thread_alloc instead.
Contents

omp_max_num_threads | Set and Get Maximum Number of Threads for omp_alloc Allocator
omp_in_parallel | Is The Current Execution in OpenMP Parallel Mode
omp_get_thread_num | Get the Current OpenMP Thread Number
omp_get_memory | Get At Least A Specified Amount of Memory
omp_return_memory | Return Memory to omp_alloc
omp_free_available | Free Memory Currently Available for Quick Use by a Thread
omp_inuse | Amount of Memory a Thread is Currently Using
omp_available | Amount of Memory Available for Quick Use by a Thread
omp_create_array | Allocate Memory and Create A Raw Array
omp_delete_array | Return A Raw Array to The Available Memory for a Thread
omp_efficient | Check If A Memory Allocation is Efficient for Another Use
old_max_num_threads | Set Maximum Number of Threads for omp_alloc Allocator
omp_alloc.cpp | OpenMP Memory Allocator: Example and Test

Input File: omh/deprecated/omp_alloc.omh