QMCPACK
OffloadAlignedAllocators.hpp
Go to the documentation of this file.
1
//////////////////////////////////////////////////////////////////////////////////////
2
// This file is distributed under the University of Illinois/NCSA Open Source License.
3
// See LICENSE file in top directory for details.
4
//
5
// Copyright (c) 2021 QMCPACK developers.
6
//
7
// File developed by: Ye Luo, yeluo@anl.gov, Argonne National Laboratory
8
//
9
// File created by: Ye Luo, yeluo@anl.gov, Argonne National Laboratory
10
//////////////////////////////////////////////////////////////////////////////////////
11
12
13
#ifndef QMCPLUSPLUS_OMPTARGET_ALIGNED_ALLOCATOR_H
14
#define QMCPLUSPLUS_OMPTARGET_ALIGNED_ALLOCATOR_H
15
16
#include <
CPU/SIMD/aligned_allocator.hpp
>
17
#include "
OMPallocator.hpp
"
18
#include "
PinnedAllocator.h
"
19
20
namespace
qmcplusplus
21
{
22
template
<
typename
T>
23
using
OffloadAllocator
=
OMPallocator<T, aligned_allocator<T>
>;
24
template
<
typename
T>
25
using
OffloadPinnedAllocator
=
OMPallocator<T, PinnedAlignedAllocator<T>
>;
26
template
<
typename
T>
27
#if defined(ENABLE_OFFLOAD)
28
using
OffloadDeviceAllocator
= OMPTargetAllocator<T>;
29
#else
30
using
OffloadDeviceAllocator
=
aligned_allocator<T>
;
31
#endif
32
}
// namespace qmcplusplus
33
34
#endif
OMPallocator.hpp
qmcplusplus
helper functions for EinsplineSetBuilder
Definition:
Configuration.h:43
qmcplusplus::Mallocator
Definition:
Mallocator.hpp:25
qmcplusplus::OMPallocator
OMPallocator is an allocator with fused device and dualspace allocator functionality.
Definition:
OMPallocator.hpp:60
PinnedAllocator.h
aligned_allocator.hpp
src
Platforms
OMPTarget
OffloadAlignedAllocators.hpp
Generated on Fri Jun 28 2024 10:45:16 for QMCPACK by
1.8.14