13#ifndef ARCANE_IMPL_IBUFFERCOPIER_H
14#define ARCANE_IMPL_IBUFFERCOPIER_H
18#include "arcane/utils/MemoryView.h"
20#include "arcane/core/GroupIndexTable.h"
21#include "arcane/accelerator/core/RunQueue.h"
48 ConstMemoryView buffer,
60 virtual void setRunQueue(
const RunQueue& queue) = 0;
75 ConstMemoryView buffer,
91 void setRunQueue(
const RunQueue& queue)
override { m_queue = queue; }
111 ConstMemoryView buffer,
129 void setRunQueue(
const RunQueue& queue)
override { m_base_copier.setRunQueue(queue); }
133 GroupIndexTable* m_table;
134 DirectBufferCopier m_base_copier;
138 void _buildFinalIndexes(Array<Int32>& final_indexes, ConstArrayView<Int32> orig_indexes)
141 GroupIndexTable& table = *m_table;
142 Int32 n = orig_indexes.size();
143 final_indexes.resize(n);
144 for (
Int32 i = 0; i < n; ++i)
145 final_indexes[i] = table[orig_indexes[i]];
File d'exécution pour un accélérateur.
bool isNull() const
Indique si la RunQueue est nulle.
void barrier() override
Bloque tant que les copies ne sont pas terminées.
Classe de base d'une table de hachage entre les items d'un groupe et leurs positions dans la table.
Interface pour copier des éléments entre deux zones avec indexation.
virtual void barrier()=0
Bloque tant que les copies ne sont pas terminées.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
void barrier() override
Bloque tant que les copies ne sont pas terminées.
Vue constante d'un tableau de type T.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-