On Tue, May 19, 2020 at 1:27 AM Jakub Jelinek via Gcc-patches <gcc-patches@gcc.gnu.org> wrote: > > Hi! > > This patch adds very basic allocator support (omp_{init,destroy}_allocator, > omp_{alloc,free}, omp_[sg]et_default_allocator). > The plan is to use memkind (likely dlopened) for high bandwidth memory, but > that part isn't implemented yet, probably mlock for pinned memory and see > what other options there are for other kinds of memory. > For offloading targets, we need to decide if we want to support the > dynamic allocators (and on which targets), or if e.g. all we do is at compile > time replace omp_alloc/omp_free calls with constexpr predefined allocators > with something special. > > And allocate directive and allocator/uses_allocators clauses are future work > too. > > Bootstrapped/regtested on x86_64-linux and i686-linux, committed to trunk. > > 2020-05-19 Jakub Jelinek <ja...@redhat.com> > > * omp.h.in (omp_uintptr_t): New typedef. > (__GOMP_UINTPTR_T_ENUM): Define. > (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t, > omp_alloctrait_value_t, omp_alloctrait_t): New typedefs. > (__GOMP_DEFAULT_NULL_ALLOCATOR): Define. > (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator, > omp_get_default_allocator, omp_alloc, omp_free): Declare. > * libgomp.h (struct gomp_team_state): Add def_allocator field. > (gomp_def_allocator): Declare. > * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator, > omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator, > omp_alloc and omp_free. > * team.c (gomp_team_start): Copy over ts.def_allocator. > * env.c (gomp_def_allocator): New variable. > (parse_wait_policy): Adjust function comment. > (parse_allocator): New function. > (handle_omp_display_env): Print OMP_ALLOCATOR. > (initialize_env): Call parse_allocator. > * Makefile.am (libgomp_la_SOURCES): Add allocator.c. > * allocator.c: New file. > * icv.c (omp_set_default_allocator, omp_get_default_allocator): New > functions. > * testsuite/libgomp.c-c++-common/alloc-1.c: New test. > * testsuite/libgomp.c-c++-common/alloc-2.c: New test. > * testsuite/libgomp.c-c++-common/alloc-3.c: New test. > * Makefile.in: Regenerated.
Did you check in allocator.c? -- H.J.