alpaka
Abstraction Library for Parallel Kernel Acceleration
Loading...
Searching...
No Matches
AlignedAlloc.hpp
Go to the documentation of this file.
1
/* Copyright 2022 René Widera, Bernhard Manfred Gruber
2
* SPDX-License-Identifier: MPL-2.0
3
*/
4
5
#pragma once
6
7
#include "
alpaka/core/Common.hpp
"
8
#include "
alpaka/core/Config.hpp
"
9
10
#include <new>
11
12
namespace
alpaka::core
13
{
14
ALPAKA_FN_INLINE
ALPAKA_FN_HOST
auto
alignedAlloc
(
size_t
alignment,
size_t
size) ->
void
*
15
{
16
if
(size == 0)
17
{
18
return
nullptr
;
19
}
20
else
21
{
22
return ::operator
new
(size, std::align_val_t{alignment});
23
}
24
}
25
26
ALPAKA_FN_INLINE
ALPAKA_FN_HOST
void
alignedFree
(
size_t
alignment,
void
* ptr)
27
{
28
::operator
delete
(ptr, std::align_val_t{alignment});
29
}
30
}
// namespace alpaka::core
Config.hpp
Common.hpp
ALPAKA_FN_HOST
#define ALPAKA_FN_HOST
Definition
Common.hpp:43
ALPAKA_FN_INLINE
#define ALPAKA_FN_INLINE
Macro defining the inline function attribute.
Definition
Common.hpp:98
alpaka::core
Definition
Align.hpp:13
alpaka::core::alignedFree
ALPAKA_FN_INLINE ALPAKA_FN_HOST void alignedFree(size_t alignment, void *ptr)
Definition
AlignedAlloc.hpp:26
alpaka::core::alignedAlloc
ALPAKA_FN_INLINE ALPAKA_FN_HOST auto alignedAlloc(size_t alignment, size_t size) -> void *
Definition
AlignedAlloc.hpp:14
include
alpaka
core
AlignedAlloc.hpp
Generated on Tue Sep 15 2026 22:12:07 for alpaka by
1.12.0