Arcane  v4.1.1.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
CommonGlobal.cc
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/* CommonGlobal.cc (C) 2000-2025 */
9/* */
10/* Définitions globales de la composante 'Common' de 'Arccore'. */
11/*---------------------------------------------------------------------------*/
12/*---------------------------------------------------------------------------*/
13
14#include "arccore/common/CommonGlobal.h"
15
16#include "arccore/common/internal/IMemoryResourceMngInternal.h"
17#include "arccore/common/IMemoryResourceMng.h"
18
19// Ces fichiers ne sont pas utilisés dans 'CommonGlobal.cc'
20// mais cela permet de vérifier qu'ils compilent
21#include "arccore/common/HostKernelRemainingArgsHelper.h"
22#include "arccore/common/SequentialFor.h"
24
25#include <iostream>
26
27/*---------------------------------------------------------------------------*/
28/*---------------------------------------------------------------------------*/
29
30namespace Arcane
31{
32
33namespace
34{
35 const char* _toName(eHostDeviceMemoryLocation v)
36 {
37 switch (v) {
39 return "Unknown";
41 return "Device";
43 return "Host";
45 return "ManagedMemoryDevice";
47 return "ManagedMemoryHost";
48 }
49 return "Invalid";
50 }
51
52 const char* _toName(eMemoryResource r)
53 {
54 switch (r) {
56 return "Unknown";
58 return "Host";
60 return "HostPinned";
62 return "Device";
64 return "UnifiedMemory";
65 }
66 return "Invalid";
67 }
68
69} // namespace
70
71/*---------------------------------------------------------------------------*/
72/*---------------------------------------------------------------------------*/
73
74std::ostream&
75operator<<(std::ostream& o, eHostDeviceMemoryLocation v)
76{
77 o << _toName(v);
78 return o;
79}
80
81/*---------------------------------------------------------------------------*/
82/*---------------------------------------------------------------------------*/
83
84std::ostream&
85operator<<(std::ostream& o, eMemoryResource v)
86{
87 o << _toName(v);
88 return o;
89}
90
91/*---------------------------------------------------------------------------*/
92/*---------------------------------------------------------------------------*/
93
94} // namespace Arcane
95
96/*---------------------------------------------------------------------------*/
97/*---------------------------------------------------------------------------*/
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
eHostDeviceMemoryLocation
Localisation physique d'une adresse mémoire.
@ Unknown
Localisation inconnue.
@ ManagedMemoryDevice
La mémoire est de la mémoire managée sur accélérateur.
@ Host
La mémoire est sur l'hôte.
@ ManagedMemoryHost
La mémoire est de la mémoire managée sur l'hôte.
@ Device
La mémoire est sur accélérateur.
eMemoryResource
Liste des ressources mémoire disponibles.
@ HostPinned
Alloue sur l'hôte.
@ Unknown
Valeur inconnue ou non initialisée.
@ Host
Alloue sur l'hôte.
@ UnifiedMemory
Alloue en utilisant la mémoire unifiée.
@ Device
Alloue sur le device.
std::ostream & operator<<(std::ostream &ostr, eItemKind item_kind)
Opérateur de sortie sur un flot.