12#ifndef ARCANE_ACCELERATOR_GENERICSORTER_H
13#define ARCANE_ACCELERATOR_GENERICSORTER_H
17#include "arcane/utils/ArrayView.h"
18#include "arcane/utils/FatalErrorException.h"
19#include "arcane/utils/NumArray.h"
21#include "arcane/accelerator/AcceleratorGlobal.h"
22#include "arcane/accelerator/core/RunQueue.h"
23#include "arcane/accelerator/CommonUtils.h"
30namespace Arcane::Accelerator::impl
70 template <
typename CompareLambda,
typename InputIterator,
typename OutputIterator>
77#if defined(ARCANE_COMPILING_CUDA)
80 cudaStream_t stream = impl::CudaUtils::toNativeStream(&queue);
92#if defined(ARCANE_COMPILING_HIP)
95 hipStream_t stream = impl::HipUtils::toNativeStream(&queue);
112 for (Int32 i = 0; i <
nb_item; ++i) {
160 template <
typename DataType>
167 ARCANE_FATAL(
"Output size '{0}' is smaller than input size '{1}'",
#define ARCANE_FATAL(...)
Macro envoyant une exception FatalErrorException.
Algorithme générique de tri sur accélérateur.
void apply(SmallSpan< const DataType > input, SmallSpan< DataType > output)
Tri les entités.
File d'exécution pour un accélérateur.
eExecutionPolicy executionPolicy() const
Politique d'exécution de la file.
Référence à une instance.
Espace de nom pour l'utilisation des accélérateurs.
eExecutionPolicy
Politique d'exécution pour un Runner.
@ HIP
Politique d'exécution utilisant l'environnement HIP.
@ CUDA
Politique d'exécution utilisant l'environnement CUDA.
@ Sequential
Politique d'exécution séquentielle.
@ Thread
Politique d'exécution multi-thread.