alpaka
Abstraction Library for Parallel Kernel Acceleration
Loading...
Searching...
No Matches
BufCpu.hpp
Go to the documentation of this file.
1
/* Copyright 2025 Anton Reinhard
2
* SPDX-License-Identifier: MPL-2.0
3
*/
4
5
#pragma once
6
7
#include "
alpaka/dev/Traits.hpp
"
8
#include "
alpaka/mem/buf/Traits.hpp
"
9
#include "
alpaka/mem/buf/cpu/BufCpuImpl.hpp
"
10
#include "
alpaka/mem/buf/cpu/ConstBufCpu.hpp
"
11
#include "
alpaka/mem/view/ViewAccessOps.hpp
"
12
#include "
alpaka/vec/Vec.hpp
"
13
14
#include <functional>
15
#include <memory>
16
#include <type_traits>
17
#include <utility>
18
19
namespace
alpaka
20
{
21
//! The CPU memory buffer template implementing muting accessors.
22
template
<
typename
TElem,
typename
TDim,
typename
TIdx>
23
class
BufCpu
:
public
internal::ViewAccessOps
<BufCpu<TElem, TDim, TIdx>>
24
{
25
using
TBufImpl
=
detail::BufCpuImpl<TElem, TDim, TIdx>
;
26
27
public
:
28
template
<
typename
TExtent,
typename
Deleter>
29
ALPAKA_FN_HOST
BufCpu
(
DevCpu
const
& dev, TElem*
const
pMem, Deleter deleter, TExtent
const
& extent)
30
:
m_spBufImpl
{
std
::make_shared<
TBufImpl
>(dev, pMem,
std
::move(deleter), extent)}
31
{
32
}
33
34
public
:
35
std::shared_ptr<TBufImpl>
m_spBufImpl
;
36
};
37
}
// namespace alpaka
38
39
#include "
alpaka/mem/buf/cpu/Copy.hpp
"
40
#include "
alpaka/mem/buf/cpu/Fill.hpp
"
41
#include "
alpaka/mem/buf/cpu/Set.hpp
"
42
#include "
alpaka/mem/buf/cpu/traits/BufCpuTraits.hpp
"
43
#include "
alpaka/mem/buf/cpu/traits/ConstBufCpuTraits.hpp
"
BufCpuImpl.hpp
BufCpuTraits.hpp
ConstBufCpuTraits.hpp
ConstBufCpu.hpp
Vec.hpp
ViewAccessOps.hpp
alpaka::BufCpu
The CPU memory buffer template implementing muting accessors.
Definition
BufCpu.hpp:24
alpaka::BufCpu::BufCpu
ALPAKA_FN_HOST BufCpu(DevCpu const &dev, TElem *const pMem, Deleter deleter, TExtent const &extent)
Definition
BufCpu.hpp:29
alpaka::BufCpu::m_spBufImpl
std::shared_ptr< TBufImpl > m_spBufImpl
Definition
BufCpu.hpp:35
alpaka::DevCpu
The CPU device handle.
Definition
DevCpu.hpp:56
alpaka::detail::BufCpuImpl
The CPU memory buffer.
Definition
BufCpuImpl.hpp:21
ALPAKA_FN_HOST
#define ALPAKA_FN_HOST
Definition
Common.hpp:40
Copy.hpp
Fill.hpp
Traits.hpp
Traits.hpp
Set.hpp
alpaka
The alpaka accelerator library.
Definition
AccCpuOmp2Blocks.hpp:52
std
STL namespace.
alpaka::internal::ViewAccessOps
Definition
ViewAccessOps.hpp:36
include
alpaka
mem
buf
cpu
BufCpu.hpp
Generated on Thu Jun 26 2025 08:02:45 for alpaka by
1.9.8