Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
IMemoryRessourceMng.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2024 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/* IMemoryRessourceMng.h (C) 2000-2024 */
9/* */
10/* Gestion des ressources mémoire pour les CPU et accélérateurs. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_UTILS_IMEMORYRESSOURCEMNG_H
13#define ARCANE_UTILS_IMEMORYRESSOURCEMNG_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/MemoryRessource.h"
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23namespace Arcane
24{
25class IMemoryRessourceMngInternal;
26
27/*---------------------------------------------------------------------------*/
28/*---------------------------------------------------------------------------*/
29/*!
30 * \brief Gestion des ressources mémoire pour les CPU et accélérateurs.
31 */
32class ARCANE_UTILS_EXPORT IMemoryRessourceMng
33{
34 public:
35
36 virtual ~IMemoryRessourceMng() = default;
37
38 public:
39
40 /*!
41 * \brief Allocateur mémoire pour la ressource \a r.
42 *
43 * Lève une exception si aucun allocateur pour la ressource \a v existe.
44 */
46
47 /*!
48 * \brief Allocateur mémoire pour la ressource \a r.
49 *
50 * Si aucun allocateur pour la ressoruce \a v existe, lève une
51 * exception si \a throw_if_not_found est vrai ou retourne \a nullptr
52 * si \a throw_if_not_found est faux.
53 */
54 virtual IMemoryAllocator* getAllocator(eMemoryRessource r, bool throw_if_not_found) = 0;
55
56 public:
57
58 //! Interface interne
59 virtual IMemoryRessourceMngInternal* _internal() = 0;
60};
61
62/*---------------------------------------------------------------------------*/
63/*---------------------------------------------------------------------------*/
64
65} // End namespace Arcane
66
67/*---------------------------------------------------------------------------*/
68/*---------------------------------------------------------------------------*/
69
70#endif
Déclarations des types utilisés dans Arcane.
Gestion des ressources mémoire pour les CPU et accélérateurs.
virtual IMemoryAllocator * getAllocator(eMemoryRessource r)=0
Allocateur mémoire pour la ressource r.
virtual IMemoryAllocator * getAllocator(eMemoryRessource r, bool throw_if_not_found)=0
Allocateur mémoire pour la ressource r.
virtual IMemoryRessourceMngInternal * _internal()=0
Interface interne.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
eMemoryRessource
Liste des ressources mémoire disponibles.