Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
VariableUtils.h
Aller à la documentation de ce fichier.
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2024 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* VariableUtils.h (C) 2000-2024 */
9/* */
10/* Fonctions utilitaires diverses sur les variables. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_VARIABLEUTILS_H
13#define ARCANE_CORE_VARIABLEUTILS_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18#include "arcane/core/materials/MaterialsCoreGlobal.h"
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23namespace Arcane::VariableUtils
24{
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28/*!
29 * \brief Pré-copie la mémoire associée à la variable \a var.
30 *
31 * Pré-copie la mémoire associé à la variable \a sur l'accélérateur
32 * spécifié par \a queue_or_null si elle ne s'y trouve pas encore.
33 *
34 * \a var doit être une variable d'un type numérique.
35 * Si \a queue_or_null est nul, aucune opération n'est effectuée.
36 * L'opération est asynchrone.
37 */
38extern "C++" ARCANE_CORE_EXPORT
39void prefetchVariableAsync(IVariable* var, const RunQueue* queue_or_null);
40
41/*!
42 * \brief Pré-copie la mémoire associée à la variable \a var.
43 * \sa void prefetchVariableAsync(IVariable* var, RunQueue* queue_or_null);
44 */
45extern "C++" ARCANE_CORE_EXPORT
46void prefetchVariableAsync(VariableRef& var, const RunQueue* queue_or_null);
47
48/*!
49 * \brief Indique que la variable est essentiellement en lecture.
50 *
51 * Cela est utilisé uniquement avec les accélérateurs et permet d'éviter
52 * des transferts mémoire en l'accélérateur et le CPU.
53 */
54extern "C++" ARCANE_CORE_EXPORT
55void markVariableAsMostlyReadOnly(IVariable* var);
56
57/*!
58 * \brief Indique que la variable est essentiellement en lecture.
59 * \a void markVariableAsMostlyReadOnly(IVariableRef* var);
60 */
61extern "C++" ARCANE_CORE_EXPORT
62void markVariableAsMostlyReadOnly(VariableRef& var);
63
64/*!
65 * \brief Indique que la variable est essentiellement en lecture.
66 * \a void markVariableAsMostlyReadOnly(IVariableRef* var);
67 */
68extern "C++" ARCANE_CORE_EXPORT
70
71/*---------------------------------------------------------------------------*/
72/*---------------------------------------------------------------------------*/
73
74extern "C++" ARCANE_CORE_EXPORT
75void experimentalChangeAllocator(::Arcane::Materials::IMeshMaterialVariable* var,
77
78extern "C++" ARCANE_CORE_EXPORT
79void experimentalChangeAllocator(IVariable* var, eMemoryRessource mem);
80
81extern "C++" ARCANE_CORE_EXPORT
82void experimentalChangeAllocator(VariableRef& var, eMemoryRessource mem);
83
84/*---------------------------------------------------------------------------*/
85/*---------------------------------------------------------------------------*/
86
87} // namespace Arcane::VariableUtils
88
89/*---------------------------------------------------------------------------*/
90/*---------------------------------------------------------------------------*/
91
92#endif
Déclarations des types généraux de Arcane.
void markVariableAsMostlyReadOnly(IVariable *var)
Indique que la variable est essentiellement en lecture.
void prefetchVariableAsync(IVariable *var, const RunQueue *queue_or_null)
Pré-copie la mémoire associée à la variable var.
Interface d'une variable matériau d'un maillage.
Classe de base des références aux variables matériaux.
eMemoryRessource
Liste des ressources mémoire disponibles.