Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de l'espace de nommage Arcane::platform

Espace de nom pour les fonctions dépendant de la plateforme. Plus de détails...

Fonctions

void platformInitialize ()
 Initialisations spécifiques à une platforme.
 
void platformTerminate ()
 Routines de fin de programme spécifiques à une platforme.
 
ISymbolizerServicegetSymbolizerService ()
 Service utilisé pour obtenir des informations sur les symboles du code source.
 
ISymbolizerServicesetSymbolizerService (ISymbolizerService *service)
 Positionne le service pour obtenir des informations sur les symboles du code source.
 
IProcessorAffinityServicegetProcessorAffinityService ()
 Service utilisé pour la gestion de l'affinité des processeurs.
 
IProcessorAffinityServicesetProcessorAffinityService (IProcessorAffinityService *service)
 Positionne le service utilisé pour la gestion de l'affinité des processeurs.
 
IProfilingServicegetProfilingService ()
 Service utilisé pour obtenir pour obtenir des informations de profiling.
 
IProfilingServicesetProfilingService (IProfilingService *service)
 Positionne le service utilisé pour obtenir des informations de profiling.
 
IOnlineDebuggerServicegetOnlineDebuggerService ()
 Service utilisé pour obtenir la mise en place d'une architecture en ligne de debug.
 
IOnlineDebuggerServicesetOnlineDebuggerService (IOnlineDebuggerService *service)
 Positionne le service a utiliser pour l'architecture en ligne de debug.
 
IThreadImplementationgetThreadImplementationService ()
 Service utilisé pour gérer les threads.
 
IThreadImplementationsetThreadImplementationService (IThreadImplementation *service)
 Positionne le service utilisé pour gérer les threads.
 
IDynamicLibraryLoadergetDynamicLibraryLoader ()
 Service utilisé pour charger dynamiquement des bibliothèques.
 
IDynamicLibraryLoadersetDynamicLibraryLoader (IDynamicLibraryLoader *idll)
 Positionne le service utilisé pour charger dynamiquement des bibliothèques.
 
IPerformanceCounterServicesetPerformanceCounterService (IPerformanceCounterService *service)
 Positionne le service utilisé pour gérer les compteurs interne du processeur.
 
IPerformanceCounterServicegetPerformanceCounterService ()
 Service utilisé pour obtenir pour obtenir les compteurs interne du processeur.
 
void resetAlarmTimer (Integer nb_second)
 Remet à timer d'alarme à nb_second.
 
bool hasDotNETRuntime ()
 Vrai si le code s'exécute avec le runtime .NET.
 
void setHasDotNETRuntime (bool v)
 Positionne si le code s'exécute avec le runtime .NET.
 
void callDotNETGarbageCollector ()
 Appelle le Garbage Collector de '.Net' s'il est disponible.
 
IMemoryAllocatorgetAcceleratorHostMemoryAllocator ()
 Allocateur spécifique pour les accélérateurs.
 
IMemoryAllocatorsetAcceleratorHostMemoryAllocator (IMemoryAllocator *a)
 Positionne l'allocateur spécifique pour les accélérateurs.
 
IMemoryAllocatorgetDefaultDataAllocator ()
 Allocateur par défaut pour les données.
 
IMemoryRessourceMngsetDataMemoryRessourceMng (IMemoryRessourceMng *mng)
 Positionne le gestionnaire de ressource mémoire pour les données.
 
IMemoryRessourceMnggetDataMemoryRessourceMng ()
 Gestionnaire de ressource mémoire pour les données.
 
bool readAllFile (StringView filename, bool is_binary, ByteArray &out_bytes)
 Lit le contenu d'un fichier et le conserve dans out_bytes.
 
bool readAllFile (StringView filename, bool is_binary, Array< std::byte > &out_bytes)
 Lit le contenu d'un fichier et le conserve dans out_bytes.
 
String getExeFullPath ()
 Retourne le nom complet avec le chemin de l'exécutable.
 
Int64 getRealTimeNS ()
 Temps horloge en nano-secondes.
 
String getLoadedSharedLibraryFullPath (const String &dll_name)
 Retourne le chemin complet d'une bibliothèque dynamique chargée.
 
void fillCommandLineArguments (StringList &arg_list)
 Remplit arg_list avec les arguments de la ligne de commande.
 
Int64 getPageSize ()
 Taille des pages du système hôte en octets.
 
String getGDBStack ()
 Récupère la pile d'appel via gdb.
 
String getLLDBStack ()
 Récupère la pile d'appel via lldb.
 

Variables

IOnlineDebuggerServiceglobal_online_debugger_service = nullptr
 
ISymbolizerServiceglobal_symbolizer_service = nullptr
 
IProfilingServiceglobal_profiling_service = nullptr
 
IProcessorAffinityServiceglobal_processor_affinity_service = nullptr
 
IMemoryAllocatorglobal_accelerator_host_memory_allocator = nullptr
 
IDynamicLibraryLoaderglobal_dynamic_library_loader = nullptr
 
MemoryRessourceMng global_default_data_memory_ressource_mng
 
IMemoryRessourceMngglobal_data_memory_ressource_mng = nullptr
 
IPerformanceCounterServiceglobal_performance_counter_service = nullptr
 
bool global_has_color_console = false
 

Description détaillée

Espace de nom pour les fonctions dépendant de la plateforme.

Cet espace de nom contient toutes les fonctions dépendant de la plateforme.

Documentation des fonctions

◆ callDotNETGarbageCollector()

void Arcane::platform::callDotNETGarbageCollector ( )

Appelle le Garbage Collector de '.Net' s'il est disponible.

Définition à la ligne 613 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

◆ fillCommandLineArguments()

void Arcane::platform::fillCommandLineArguments ( StringList arg_list)

Remplit arg_list avec les arguments de la ligne de commande.

Cette fonction remplit arg_list avec les arguments utilisés dans l'appel à main().

Actuellement cette méthode ne fonctionne que sous Linux. Pour les autres plateforme elle retourne une liste vide.

Définition à la ligne 474 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

◆ getAcceleratorHostMemoryAllocator()

IMemoryAllocator * Arcane::platform::getAcceleratorHostMemoryAllocator ( )

Allocateur spécifique pour les accélérateurs.

Si non nul, cet allocateur permet d'allouer de la mémoire sur l'hôte en utilisant le runtime spécique de l'allocateur.

Définition à la ligne 224 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

Référencé par Arcane::MemoryRessourceMng::getAllocator().

◆ getDataMemoryRessourceMng()

IMemoryRessourceMng * Arcane::platform::getDataMemoryRessourceMng ( )

Gestionnaire de ressource mémoire pour les données.

Il est garanti que l'alignement est au moins celui retourné par AlignedMemoryAllocator::Simd().

Définition à la ligne 265 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

Référencé par Arcane::MemoryRessourceMng::genericCopy(), et getDefaultDataAllocator().

◆ getDefaultDataAllocator()

IMemoryAllocator * Arcane::platform::getDefaultDataAllocator ( )

Allocateur par défaut pour les données.

Cette allocateur utilise celui getAcceleratorHostMemoryAllocator() s'il est disponible, sinon il utilise un allocateur aligné.

Il est garanti que l'allocateur retourné permettra d'utiliser la donnée sur accélerateur si cela est disponible.

Il est garanti que l'alignement est au moins celui retourné par AlignedMemoryAllocator::Simd().

Définition à la ligne 244 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

Références Arcane::IMemoryRessourceMng::getAllocator(), getDataMemoryRessourceMng(), et Arcane::UnifiedMemory.

◆ getDynamicLibraryLoader()

IDynamicLibraryLoader * Arcane::platform::getDynamicLibraryLoader ( )

Service utilisé pour charger dynamiquement des bibliothèques.

Peut retourner nullptr si le chargement dynamique n'est pas disponible.

Définition à la ligne 164 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

Référencé par Arcane::ArcaneMain::_checkAutoDetectAccelerator(), Arcane::ArcaneMain::arcaneFinalize(), et Arcane::Application::build().

◆ getExeFullPath()

String Arcane::platform::getExeFullPath ( )

Retourne le nom complet avec le chemin de l'exécutable.

Définition à la ligne 409 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

Référencé par Arcane::ArcaneLauncher::getExeDirectory().

◆ getGDBStack()

String Arcane::platform::getGDBStack ( )

Récupère la pile d'appel via gdb.

Cette méthode ne fonctionne que sous Linux et si GDB est installé. Dans les autres cas c'est la chaîne nulle qui est retournée.

Cette méthode appelle la commande std::system() pour lancer gbd qui doit se trouver dans le PATH. Comme gdb charge ensuite les symboles de debug la commande peut être assez longue à s'exécuter.

Définition à la ligne 564 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

◆ getLLDBStack()

String Arcane::platform::getLLDBStack ( )

Récupère la pile d'appel via lldb.

Cette méthode est similaire à getGDBStack() mais utilise 'lldb' pour récupérer la pile d'appel. Si dotnet-sos est installé, cela permet aussi de récupérer les informations sur les méthodes du runtime 'dotnet'.

Définition à la ligne 583 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

◆ getLoadedSharedLibraryFullPath()

String Arcane::platform::getLoadedSharedLibraryFullPath ( const String dll_name)

Retourne le chemin complet d'une bibliothèque dynamique chargée.

Retourne le chemin complet de la bibliothèque dynamique de nom dll_name. dll_name doit contenir juste le nom de la bibliothèque sans les extensions spécifiques à la plateforme. Par exemple, sous Linux, il ne faut pas mettre 'libtoto.so' mais juste 'toto'.

Retourne une chaîne nulle si le chemin complet ne peut par être déterminé.

Définition à la ligne 434 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

◆ getOnlineDebuggerService()

IOnlineDebuggerService * Arcane::platform::getOnlineDebuggerService ( )

Service utilisé pour obtenir la mise en place d'une architecture en ligne de debug.

Peut retourner nul si aucun service n'est disponible.

Définition à la ligne 124 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

Référencé par Arcane::Application::initialize(), et Arcane::ModuleMaster::timeLoopBegin().

◆ getPageSize()

Int64 Arcane::platform::getPageSize ( )

Taille des pages du système hôte en octets.

Définition à la ligne 528 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

◆ getPerformanceCounterService()

IPerformanceCounterService * Arcane::platform::getPerformanceCounterService ( )

Service utilisé pour obtenir pour obtenir les compteurs interne du processeur.

Peut retourner nul si aucun service n'est disponible.

Définition à la ligne 204 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

Référencé par Arcane::Application::~Application().

◆ getProcessorAffinityService()

IProcessorAffinityService * Arcane::platform::getProcessorAffinityService ( )

Service utilisé pour la gestion de l'affinité des processeurs.

Peut retourner nul si aucun service n'est disponible.

Définition à la ligne 184 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

Référencé par Arcane::SubDomain::_printCPUAffinity(), Arcane::Application::initialize(), et Arcane::Application::~Application().

◆ getProfilingService()

IProfilingService * Arcane::platform::getProfilingService ( )

Service utilisé pour obtenir pour obtenir des informations de profiling.

Peut retourner nul si aucun service n'est disponible.

Définition à la ligne 144 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

Référencé par Arcane::TimeLoopMng::doComputeLoop(), Arcane::CodeService::initCase(), Arcane::SubDomain::readOrReloadMeshes(), et Arcane::Application::~Application().

◆ getRealTimeNS()

Int64 Arcane::platform::getRealTimeNS ( )

Temps horloge en nano-secondes.

Définition à la ligne 515 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

◆ getSymbolizerService()

ISymbolizerService * Arcane::platform::getSymbolizerService ( )

Service utilisé pour obtenir des informations sur les symboles du code source.

Peut retourner nul si aucun service n'est disponible.

Définition à la ligne 104 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

Référencé par Arcane::Application::initialize(), Arcane::LibUnwindStackTraceService::stackTrace(), et Arcane::Application::~Application().

◆ getThreadImplementationService()

IThreadImplementation * Arcane::platform::getThreadImplementationService ( )

Service utilisé pour gérer les threads.

Peut retourner nul si aucun service n'est disponible.

Définition à la ligne 277 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

Référencé par Arcane::arcaneCurrentThread(), et Arcane::Application::~Application().

◆ hasDotNETRuntime()

bool Arcane::platform::hasDotNETRuntime ( )

Vrai si le code s'exécute avec le runtime .NET.

Définition à la ligne 394 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

Référencé par Arcane::ArcaneMain::run().

◆ platformInitialize()

void Arcane::platform::platformInitialize ( )

Initialisations spécifiques à une platforme.

Cette routine est appelé lors de l'initialisation de l'architecture. Elle permet d'effectuer certains traitements qui dépendent de la plateforme

Définition à la ligne 317 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

Références Arccore::Platform::platformInitialize().

Référencé par Arcane::ArcaneMain::arcaneInitialize().

◆ platformTerminate()

void Arcane::platform::platformTerminate ( )

Routines de fin de programme spécifiques à une platforme.

Cette routine est appelé juste avant de quitter le programme.

Définition à la ligne 326 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

Références Arccore::Platform::platformTerminate().

Référencé par Arcane::ArcaneMain::arcaneFinalize().

◆ readAllFile() [1/2]

bool Arcane::platform::readAllFile ( StringView  filename,
bool  is_binary,
Array< std::byte > &  out_bytes 
)

Lit le contenu d'un fichier et le conserve dans out_bytes.

Lit le fichier de nom filename et remplit out_bytes avec le contenu de ce fichier. Si is_binary est vrai, le fichier est ouvert en mode binaire. Sinon il est ouvert en mode texte.

Valeurs retournées
trueen cas d'erreur
falsesinon.

Définition à la ligne 384 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

◆ readAllFile() [2/2]

bool Arcane::platform::readAllFile ( StringView  filename,
bool  is_binary,
ByteArray out_bytes 
)

Lit le contenu d'un fichier et le conserve dans out_bytes.

Lit le fichier de nom filename et remplit out_bytes avec le contenu de ce fichier. Si is_binary est vrai, le fichier est ouvert en mode binaire. Sinon il est ouvert en mode texte.

Valeurs retournées
trueen cas d'erreur
falsesinon.

Définition à la ligne 375 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

Référencé par Arcane::IOMng::localRead().

◆ resetAlarmTimer()

void Arcane::platform::resetAlarmTimer ( Integer  nb_second)

Remet à timer d'alarme à nb_second.

Le timer déclenchera un signal (SIGALRM) au bout de nb_second.

Définition à la ligne 295 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

◆ setAcceleratorHostMemoryAllocator()

IMemoryAllocator * Arcane::platform::setAcceleratorHostMemoryAllocator ( IMemoryAllocator a)

Positionne l'allocateur spécifique pour les accélérateurs.

Retourne l'ancien allocateur utilisé. L'allocateur spécifié doit rester valide durant toute la durée de vie de l'application.

Définition à la ligne 233 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

◆ setDataMemoryRessourceMng()

IMemoryRessourceMng * Arcane::platform::setDataMemoryRessourceMng ( IMemoryRessourceMng mng)

Positionne le gestionnaire de ressource mémoire pour les données.

Le gestionnaire doit rester valide durant toute l'exécution du programme.

Retourne l'ancien gestionnaire.

Définition à la ligne 253 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

Références ARCANE_CHECK_POINTER.

◆ setDynamicLibraryLoader()

IDynamicLibraryLoader * Arcane::platform::setDynamicLibraryLoader ( IDynamicLibraryLoader idll)

Positionne le service utilisé pour charger dynamiquement des bibliothèques.

Retourne l'ancien service utilisé.

Définition à la ligne 173 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

Référencé par Arcane::ArcaneMain::arcaneFinalize().

◆ setHasDotNETRuntime()

void Arcane::platform::setHasDotNETRuntime ( bool  v)

Positionne si le code s'exécute avec le runtime .NET.

Cette fonction ne peut être positionnée qu'au démarrage du calcul avant arcaneInitialize().

Définition à la ligne 400 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

Référencé par Arcane::ArcaneMain::setHasDotNETRuntime().

◆ setOnlineDebuggerService()

IOnlineDebuggerService * Arcane::platform::setOnlineDebuggerService ( IOnlineDebuggerService service)

Positionne le service a utiliser pour l'architecture en ligne de debug.

Retourne l'ancien service utilisé.

Définition à la ligne 133 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

Référencé par Arcane::Application::build().

◆ setPerformanceCounterService()

IPerformanceCounterService * Arcane::platform::setPerformanceCounterService ( IPerformanceCounterService service)

Positionne le service utilisé pour gérer les compteurs interne du processeur.

Retourne l'ancien service utilisé.

Définition à la ligne 213 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

Référencé par Arcane::Application::~Application().

◆ setProcessorAffinityService()

IProcessorAffinityService * Arcane::platform::setProcessorAffinityService ( IProcessorAffinityService service)

Positionne le service utilisé pour la gestion de l'affinité des processeurs.

Retourne l'ancien service utilisé.

Définition à la ligne 193 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

Référencé par Arcane::Application::build(), et Arcane::Application::~Application().

◆ setProfilingService()

IProfilingService * Arcane::platform::setProfilingService ( IProfilingService service)

Positionne le service utilisé pour obtenir des informations de profiling.

Retourne l'ancien service utilisé.

Définition à la ligne 153 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

Référencé par Arcane::Application::build(), et Arcane::Application::~Application().

◆ setSymbolizerService()

ISymbolizerService * Arcane::platform::setSymbolizerService ( ISymbolizerService service)

Positionne le service pour obtenir des informations sur les symboles du code source.

Retourne l'ancien service utilisé.

Définition à la ligne 113 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

Référencé par Arcane::Application::build(), et Arcane::Application::~Application().

◆ setThreadImplementationService()

IThreadImplementation * Arcane::platform::setThreadImplementationService ( IThreadImplementation service)

Positionne le service utilisé pour gérer les threads.

Retourne l'ancien service utilisé.

Définition à la ligne 286 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

Référencé par Arcane::Application::Application(), Arcane::Application::build(), et Arcane::Application::~Application().

Documentation des variables

◆ global_accelerator_host_memory_allocator

IMemoryAllocator* Arcane::platform::global_accelerator_host_memory_allocator = nullptr

Définition à la ligne 93 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

◆ global_data_memory_ressource_mng

IMemoryRessourceMng* Arcane::platform::global_data_memory_ressource_mng = nullptr

Définition à la ligne 96 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

◆ global_default_data_memory_ressource_mng

MemoryRessourceMng Arcane::platform::global_default_data_memory_ressource_mng

Définition à la ligne 95 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

◆ global_dynamic_library_loader

IDynamicLibraryLoader* Arcane::platform::global_dynamic_library_loader = nullptr

Définition à la ligne 94 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

◆ global_has_color_console

bool Arcane::platform::global_has_color_console = false

Définition à la ligne 98 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

◆ global_online_debugger_service

IOnlineDebuggerService* Arcane::platform::global_online_debugger_service = nullptr

Définition à la ligne 89 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

◆ global_performance_counter_service

IPerformanceCounterService* Arcane::platform::global_performance_counter_service = nullptr

Définition à la ligne 97 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

◆ global_processor_affinity_service

IProcessorAffinityService* Arcane::platform::global_processor_affinity_service = nullptr

Définition à la ligne 92 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

◆ global_profiling_service

IProfilingService* Arcane::platform::global_profiling_service = nullptr

Définition à la ligne 91 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

◆ global_symbolizer_service

ISymbolizerService* Arcane::platform::global_symbolizer_service = nullptr

Définition à la ligne 90 du fichier arcane/src/arcane/utils/PlatformUtils.cc.