Arcane  v4.1.0.0
Documentation développeur
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"
23
24#include <iostream>
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28
29namespace Arcane
30{
31
32namespace
33{
34 const char* _toName(eHostDeviceMemoryLocation v)
35 {
36 switch (v) {
38 return "Unknown";
40 return "Device";
42 return "Host";
44 return "ManagedMemoryDevice";
46 return "ManagedMemoryHost";
47 }
48 return "Invalid";
49 }
50
51 const char* _toName(eMemoryResource r)
52 {
53 switch (r) {
55 return "Unknown";
57 return "Host";
59 return "HostPinned";
61 return "Device";
63 return "UnifiedMemory";
64 }
65 return "Invalid";
66 }
67
68} // namespace
69
70/*---------------------------------------------------------------------------*/
71/*---------------------------------------------------------------------------*/
72
73std::ostream&
74operator<<(std::ostream& o, eHostDeviceMemoryLocation v)
75{
76 o << _toName(v);
77 return o;
78}
79
80/*---------------------------------------------------------------------------*/
81/*---------------------------------------------------------------------------*/
82
83std::ostream&
84operator<<(std::ostream& o, eMemoryResource v)
85{
86 o << _toName(v);
87 return o;
88}
89
90/*---------------------------------------------------------------------------*/
91/*---------------------------------------------------------------------------*/
92
93} // namespace Arcane
94
95/*---------------------------------------------------------------------------*/
96/*---------------------------------------------------------------------------*/
std::ostream & operator<<(std::ostream &o, eExecutionPolicy exec_policy)
Affiche le nom de la politique d'exécution.
-*- 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.