13#include "arcane/core/internal/ParallelMngInternal.h"
16#include "arcane/accelerator/core/RunQueueBuildInfo.h"
18#include "arcane/core/ParallelMngDispatcher.h"
20#include "arcane/utils/Convert.h"
21#include "arcane/utils/FatalErrorException.h"
22#include "arcane/utils/NotImplementedException.h"
24#include "arccore/common/MemoryAllocationOptions.h"
41 if (
auto v = Convert::Type<Int32>::tryParseFromEnvironment(
"ARCANE_DISABLE_ACCELERATOR_AWARE_MESSAGE_PASSING",
true))
42 m_is_accelerator_aware_disabled = (v.value() != 0);
66bool ParallelMngInternal::
67isAcceleratorAware()
const
69 if (m_is_accelerator_aware_disabled)
73 if (!m_queue.isAcceleratorPolicy())
75 return m_parallel_mng->_isAcceleratorAware();
81void ParallelMngInternal::
82setDefaultRunner(
const Runner& runner)
84 if (!m_runner.isInitialized())
93 Accelerator::RunQueueBuildInfo build_info(-5);
94 m_queue = makeQueue(m_runner, build_info);
95 m_queue.setAsync(
true);
102masterParallelIORank()
const
104 return m_parallel_mng->masterIORank();
111nbSendersToMasterParallelIO()
const
113 return m_parallel_mng->commSize();
120createSubParallelMngRef(
Int32 color,
Int32 key)
122 return m_parallel_mng->_createSubParallelMngRef(color, key);
128void ParallelMngInternal::
129initializeWindowCreator()
137bool ParallelMngInternal::
138isMachineShMemWinAvailable()
147createContigMachineShMemWinBase([[maybe_unused]]
Int64 sizeof_segment,
148 [[maybe_unused]]
Int32 sizeof_type)
157createMachineShMemWinBase([[maybe_unused]]
Int64 sizeof_segment,
158 [[maybe_unused]]
Int32 sizeof_type)
167machineShMemWinMemoryAllocator()
184void ParallelMngInternal::
#define ARCANE_THROW(exception_class,...)
Macro pour envoyer une exception avec formattage.
#define ARCANE_FATAL(...)
Macro envoyant une exception FatalErrorException.
File d'exécution pour un accélérateur.
Gestionnaire d'exécution pour accélérateur.
Vue constante d'un tableau de type T.
Options pour configurer les allocations.
Exception lorsqu'une fonction n'est pas implémentée.
Redirige la gestion des messages des sous-domaines suivant le type de l'argument.
Référence à une instance.
Espace de nom pour l'utilisation des accélérateurs.
RunQueue makeQueue(const Runner &runner)
Créé une file associée à runner.
eExecutionPolicy
Politique d'exécution pour un Runner.
@ Sequential
Politique d'exécution séquentielle.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
std::int64_t Int64
Type entier signé sur 64 bits.
std::int32_t Int32
Type entier signé sur 32 bits.