13#ifndef ARCANE_IMPL_IBUFFERCOPIER_H
14#define ARCANE_IMPL_IBUFFERCOPIER_H
18#include "arcane/utils/MemoryView.h"
20#include "arcane/core/GroupIndexTable.h"
47 ConstMemoryView buffer,
59 virtual void setRunQueue(
RunQueue* queue) = 0;
74 ConstMemoryView buffer,
77 buffer.copyToIndexes(
var_value, indexes, m_queue);
84 buffer.copyFromIndexes(
var_value, indexes, m_queue);
88 void setRunQueue(
RunQueue* queue)
override { m_queue = queue; }
108 ConstMemoryView buffer,
126 void setRunQueue(
RunQueue* queue)
override { m_base_copier.setRunQueue(queue); }
130 GroupIndexTable* m_table;
131 DirectBufferCopier m_base_copier;
135 void _buildFinalIndexes(Array<Int32>& final_indexes, ConstArrayView<Int32> orig_indexes)
138 GroupIndexTable& table = *m_table;
139 Int32 n = orig_indexes.size();
140 final_indexes.resize(n);
141 for (
Int32 i = 0; i < n; ++i)
142 final_indexes[i] = table[orig_indexes[i]];
File d'exécution pour un accélérateur.
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 -*-