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. | |
ISymbolizerService * | getSymbolizerService () |
Service utilisé pour obtenir des informations sur les symboles du code source. | |
ISymbolizerService * | setSymbolizerService (ISymbolizerService *service) |
Positionne le service pour obtenir des informations sur les symboles du code source. | |
IProcessorAffinityService * | getProcessorAffinityService () |
Service utilisé pour la gestion de l'affinité des processeurs. | |
IProcessorAffinityService * | setProcessorAffinityService (IProcessorAffinityService *service) |
Positionne le service utilisé pour la gestion de l'affinité des processeurs. | |
IProfilingService * | getProfilingService () |
Service utilisé pour obtenir pour obtenir des informations de profiling. | |
IProfilingService * | setProfilingService (IProfilingService *service) |
Positionne le service utilisé pour obtenir des informations de profiling. | |
IOnlineDebuggerService * | getOnlineDebuggerService () |
Service utilisé pour obtenir la mise en place d'une architecture en ligne de debug. | |
IOnlineDebuggerService * | setOnlineDebuggerService (IOnlineDebuggerService *service) |
Positionne le service a utiliser pour l'architecture en ligne de debug. | |
IThreadImplementation * | getThreadImplementationService () |
Service utilisé pour gérer les threads. | |
IThreadImplementation * | setThreadImplementationService (IThreadImplementation *service) |
Positionne le service utilisé pour gérer les threads. | |
IDynamicLibraryLoader * | getDynamicLibraryLoader () |
Service utilisé pour charger dynamiquement des bibliothèques. | |
IDynamicLibraryLoader * | setDynamicLibraryLoader (IDynamicLibraryLoader *idll) |
Positionne le service utilisé pour charger dynamiquement des bibliothèques. | |
IPerformanceCounterService * | setPerformanceCounterService (IPerformanceCounterService *service) |
Positionne le service utilisé pour gérer les compteurs interne du processeur. | |
IPerformanceCounterService * | getPerformanceCounterService () |
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. | |
IMemoryAllocator * | getAcceleratorHostMemoryAllocator () |
Allocateur spécifique pour les accélérateurs. | |
IMemoryAllocator * | setAcceleratorHostMemoryAllocator (IMemoryAllocator *a) |
Positionne l'allocateur spécifique pour les accélérateurs. | |
IMemoryAllocator * | getDefaultDataAllocator () |
Allocateur par défaut pour les données. | |
IMemoryRessourceMng * | setDataMemoryRessourceMng (IMemoryRessourceMng *mng) |
Positionne le gestionnaire de ressource mémoire pour les données. | |
IMemoryRessourceMng * | getDataMemoryRessourceMng () |
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. | |
Espace de nom pour les fonctions dépendant de la plateforme.
Cet espace de nom contient toutes les fonctions dépendant de la plateforme.
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.
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.
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().
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().
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.
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().
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().
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.
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.
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.
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().
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.
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().
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().
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().
Int64 Arcane::platform::getRealTimeNS | ( | ) |
Temps horloge en nano-secondes.
Définition à la ligne 515 du fichier arcane/src/arcane/utils/PlatformUtils.cc.
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().
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().
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().
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().
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().
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.
true | en cas d'erreur |
false | sinon. |
Définition à la ligne 384 du fichier arcane/src/arcane/utils/PlatformUtils.cc.
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.
true | en cas d'erreur |
false | sinon. |
Définition à la ligne 375 du fichier arcane/src/arcane/utils/PlatformUtils.cc.
Référencé par Arcane::IOMng::localRead().
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.
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.
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.
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().
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().
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().
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().
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().
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().
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().
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().
IMemoryAllocator* Arcane::platform::global_accelerator_host_memory_allocator = nullptr |
Définition à la ligne 93 du fichier arcane/src/arcane/utils/PlatformUtils.cc.
IMemoryRessourceMng* Arcane::platform::global_data_memory_ressource_mng = nullptr |
Définition à la ligne 96 du fichier arcane/src/arcane/utils/PlatformUtils.cc.
MemoryRessourceMng Arcane::platform::global_default_data_memory_ressource_mng |
Définition à la ligne 95 du fichier arcane/src/arcane/utils/PlatformUtils.cc.
IDynamicLibraryLoader* Arcane::platform::global_dynamic_library_loader = nullptr |
Définition à la ligne 94 du fichier arcane/src/arcane/utils/PlatformUtils.cc.
Définition à la ligne 98 du fichier arcane/src/arcane/utils/PlatformUtils.cc.
IOnlineDebuggerService* Arcane::platform::global_online_debugger_service = nullptr |
Définition à la ligne 89 du fichier arcane/src/arcane/utils/PlatformUtils.cc.
IPerformanceCounterService* Arcane::platform::global_performance_counter_service = nullptr |
Définition à la ligne 97 du fichier arcane/src/arcane/utils/PlatformUtils.cc.
IProcessorAffinityService* Arcane::platform::global_processor_affinity_service = nullptr |
Définition à la ligne 92 du fichier arcane/src/arcane/utils/PlatformUtils.cc.
IProfilingService* Arcane::platform::global_profiling_service = nullptr |
Définition à la ligne 91 du fichier arcane/src/arcane/utils/PlatformUtils.cc.
ISymbolizerService* Arcane::platform::global_symbolizer_service = nullptr |
Définition à la ligne 90 du fichier arcane/src/arcane/utils/PlatformUtils.cc.