12#ifndef ARCANE_ACCELERATOR_IREDUCEMEMORYIMPL_H
13#define ARCANE_ACCELERATOR_IREDUCEMEMORYIMPL_H
19#include "arcane/utils/MemoryView.h"
26namespace Arcane::Accelerator::impl
48 unsigned int* m_grid_device_count =
nullptr;
52 void* m_host_memory_for_reduced_value =
nullptr;
94template<
typename T> T*
Interface de la gestion mémoire pour les réductions.
virtual void * allocateReduceDataMemory(ConstMemoryView identity_view)=0
Alloue la mémoire pour une donnée dont on veut faire une réduction et remplit la zone avec la valeur ...
virtual Int32 gridSize() const =0
Taille de la grille GPU (nombre de blocs)
virtual GridMemoryInfo gridMemoryInfo()=0
Informations sur la mémoire utilisée par la réduction.
virtual void copyReduceValueFromDevice()=0
Copie la valeur réduite depuis le device vers l'hote.
virtual void release()=0
Libère l'instance.
virtual void setGridSizeAndAllocate(Int32 grid_size)=0
Positionne la taille de la grille GPU (le nombre de blocs)
Lecteur des fichiers de maillage via la bibliothèque LIMA.
eDeviceReducePolicy
Politique des opératations de réduction sur les accélérateurs.
Informations mémoire pour la réduction sur les accélérateurs.
MutableMemoryView m_grid_memory_values
Mémoire allouée pour la réduction sur une grille (de taille nb_bloc * sizeof(T))