Arcane  v3.15.0.0
Documentation utilisateur
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
 
IDynamicLibraryLoaderglobal_dynamic_library_loader = 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 603 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 464 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

Références Arccore::Array< T >::addRange(), Arcane::CollectionBase::clear(), Arccore::Array< T >::data(), Arccore::Array< T >::reserve(), et Arccore::AbstractArray< T >::size().

◆ getAcceleratorHostMemoryAllocator()

IMemoryAllocator * Arcane::platform::getAcceleratorHostMemoryAllocator ( )

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

Obsolète:
Use MemoryUtils::getDefaultDataAllocator() instead.

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

Références Arcane::MemoryUtils::getAcceleratorHostMemoryAllocator().

◆ 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().

Obsolète:
Cette méthode est interne à Arcane.

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

◆ 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 240 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

Références Arcane::MemoryUtils::getDefaultDataAllocator().

◆ 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 162 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

◆ getExeFullPath()

String Arcane::platform::getExeFullPath ( )

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

Définition à la ligne 399 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 554 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 573 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 424 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

Références Arccore::String::localstr(), Arccore::String::null(), et Arccore::SpanImpl< T, SizeType, Extent, MinValue >::size().

◆ 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 122 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

Référencé par Arcane::ModuleMaster::timeLoopBegin().

◆ getPageSize()

Int64 Arcane::platform::getPageSize ( )

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

Définition à la ligne 518 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 202 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

◆ 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 182 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

◆ 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 142 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

Référencé par Arcane::CodeService::initCase().

◆ getRealTimeNS()

Int64 Arcane::platform::getRealTimeNS ( )

Temps horloge en nano-secondes.

Définition à la ligne 505 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 102 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

◆ 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 267 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

Référencé par Arcane::arcaneCurrentThread().

◆ hasDotNETRuntime()

bool Arcane::platform::hasDotNETRuntime ( )

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

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

◆ 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 307 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

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

◆ 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 316 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

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

◆ 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 374 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 365 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

◆ 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 285 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.

Obsolète:
Cette méthode est interne à Arcane.

Définition à la ligne 231 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 249 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

◆ 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 171 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

◆ 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 390 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

◆ 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 131 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

◆ 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 211 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

◆ 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 191 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

◆ 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 151 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

◆ 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 111 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

◆ 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 276 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

Documentation des variables

◆ 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 96 du fichier arcane/src/arcane/utils/PlatformUtils.cc.

◆ global_online_debugger_service

IOnlineDebuggerService* Arcane::platform::global_online_debugger_service = nullptr

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

◆ global_performance_counter_service

IPerformanceCounterService* Arcane::platform::global_performance_counter_service = nullptr

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

◆ global_processor_affinity_service

IProcessorAffinityService* Arcane::platform::global_processor_affinity_service = nullptr

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

◆ global_profiling_service

IProfilingService* Arcane::platform::global_profiling_service = nullptr

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

◆ global_symbolizer_service

ISymbolizerService* Arcane::platform::global_symbolizer_service = nullptr

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