Arcane
4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
IMemoryCopier.h
1
// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2
//-----------------------------------------------------------------------------
3
// Copyright 2000-2026 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4
// See the top-level COPYRIGHT file for details.
5
// SPDX-License-Identifier: Apache-2.0
6
//-----------------------------------------------------------------------------
7
/*---------------------------------------------------------------------------*/
8
/* IMemoryCopier.h (C) 2000-2025 */
9
/* */
10
/* Interface for memory copies. */
11
/*---------------------------------------------------------------------------*/
12
#ifndef ARCCORE_COMMON_INTERNAL_IMEMORYCOPIER_H
13
#define ARCCORE_COMMON_INTERNAL_IMEMORYCOPIER_H
14
/*---------------------------------------------------------------------------*/
15
/*---------------------------------------------------------------------------*/
16
17
#include "arccore/common/IMemoryResourceMng.h"
18
#include "arccore/base/MemoryView.h"
19
20
/*---------------------------------------------------------------------------*/
21
/*---------------------------------------------------------------------------*/
22
23
namespace
Arcane
24
{
25
26
/*---------------------------------------------------------------------------*/
27
/*---------------------------------------------------------------------------*/
28
32
class
ARCCORE_COMMON_EXPORT
IMemoryCopier
33
{
34
public
:
35
36
virtual
~IMemoryCopier
() =
default
;
37
38
public
:
39
45
virtual
void
copy
(
ConstMemoryView
from,
eMemoryResource
from_mem,
46
MutableMemoryView
to,
eMemoryResource
to_mem,
47
const
RunQueue
* queue) = 0;
48
};
49
50
/*---------------------------------------------------------------------------*/
51
/*---------------------------------------------------------------------------*/
52
53
}
// End namespace Arcane
54
55
/*---------------------------------------------------------------------------*/
56
/*---------------------------------------------------------------------------*/
57
58
#endif
Arcane::Accelerator::RunQueue
Execution queue for an accelerator.
Definition
arccore/src/common/arccore/common/accelerator/RunQueue.h:53
Arcane::ConstMemoryView
Constant view on a contiguous memory region containing fixed-size elements.
Definition
arccore/src/base/arccore/base/MemoryView.h:39
Arcane::IMemoryCopier
Interface for memory copies with accelerator support.
Definition
IMemoryCopier.h:33
Arcane::IMemoryCopier::copy
virtual void copy(ConstMemoryView from, eMemoryResource from_mem, MutableMemoryView to, eMemoryResource to_mem, const RunQueue *queue)=0
Copies the data from from to to with the queue queue.
Arcane::MutableMemoryView
Mutable view on a contiguous memory region containing fixed-size elements.
Definition
arccore/src/base/arccore/base/MemoryView.h:158
Arcane
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Definition
arcane/src/arcane/accelerator/AcceleratorGlobal.h:37
Arcane::eMemoryResource
eMemoryResource
List of available memory resources.
Definition
CommonGlobal.h:179
arccore
src
common
arccore
common
internal
IMemoryCopier.h
Generated on
for Arcane by
1.16.1