Arcane  v4.1.0.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
IMemoryResourceMngInternal.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2025 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/* IMemoryResourceMngInternal.h (C) 2000-2025 */
9/* */
10/* Partie interne à Arcane de 'IMemoryResourceMng'. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCCORE_COMMON_INTERNAL_IMEMORYRESOURCEMNGINTERNAL_H
13#define ARCCORE_COMMON_INTERNAL_IMEMORYRESOURCEMNGINTERNAL_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arccore/common/internal/IMemoryCopier.h"
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
30class ARCCORE_COMMON_EXPORT IMemoryResourceMngInternal
31{
32 public:
33
34 virtual ~IMemoryResourceMngInternal() = default;
35
36 public:
37
38 virtual void copy(ConstMemoryView from, eMemoryResource from_mem,
39 MutableMemoryView to, eMemoryResource to_mem, const RunQueue* queue) = 0;
40
41 public:
42
44 virtual void setAllocator(eMemoryResource r, IMemoryAllocator* allocator) = 0;
45
47 virtual void setCopier(IMemoryCopier* copier) = 0;
48
50 virtual void setIsAccelerator(bool v) = 0;
51};
52
53/*---------------------------------------------------------------------------*/
54/*---------------------------------------------------------------------------*/
55
56} // namespace Arcane
57
58/*---------------------------------------------------------------------------*/
59/*---------------------------------------------------------------------------*/
60
61#endif
File d'exécution pour un accélérateur.
Vue constante sur une zone mémoire contigue contenant des éléments de taille fixe.
Interface d'un allocateur pour la mémoire.
Interface pour les copies mémoire avec support des accélérateurs.
Partie interne à Arcane de 'IMemoryRessourceMng'.
virtual void setAllocator(eMemoryResource r, IMemoryAllocator *allocator)=0
Positionne l'allocateur pour la ressource r.
virtual void setIsAccelerator(bool v)=0
Indique si un accélérateur est disponible.
virtual void setCopier(IMemoryCopier *copier)=0
Positionne l'instance gérant les copies.
Vue modifiable sur une zone mémoire contigue contenant des éléments de taille fixe.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
eMemoryResource
Liste des ressources mémoire disponibles.