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 for throwing an exception with formatting.
#define ARCANE_FATAL(...)
Macro throwing a FatalErrorException.
Execution queue for an accelerator.
Execution manager for accelerator.
Constant view of an array of type T.
Options to configure allocations.
Exception when a function is not implemented.
Redirects the message management of sub-domains according to the argument type.
Reference to an instance.
Namespace for accelerator usage.
RunQueue makeQueue(const Runner &runner)
Creates a queue associated with runner.
eExecutionPolicy
Execution policy for a Runner.
@ Sequential
Sequential execution policy.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
std::int64_t Int64
Signed integer type of 64 bits.
std::int32_t Int32
Signed integer type of 32 bits.