14#include "arccore/accelerator/WorkGroupLoopRange.h"
16#include "arccore/base/FatalErrorException.h"
17#include "arccore/common/accelerator/RunCommand.h"
28template <
typename IndexType_> ARCCORE_ACCELERATOR_EXPORT
void
32 if ((block_size <= 0) || ((block_size % 32) != 0))
33 ARCCORE_FATAL(
"Invalid value '{0}' for block size: should be a multiple of 32", block_size);
34 m_block_size = block_size;
41template <
typename IndexType_> ARCCORE_ACCELERATOR_EXPORT
void
47 Int32 block_size = 1024;
59 m_nb_block = (m_nb_element + (m_block_size - 1)) / m_block_size;
#define ARCCORE_FATAL(...)
Macro envoyant une exception FatalErrorException.
Gestion d'une commande sur accélérateur.
eExecutionPolicy executionPolicy() const
Politique d'exécution de la commande.
Intervalle d'itération d'une boucle utilisant le parallélisme hiérarchique.
void setBlockSize(Int32 nb_block)
Positionne la taille d'un bloc.
Espace de nom pour l'utilisation des accélérateurs.
bool isAcceleratorPolicy(eExecutionPolicy exec_policy)
Indique si exec_policy correspond à un accélérateur.
std::int32_t Int32
Type entier signé sur 32 bits.