Arcane  v3.15.0.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
NativeStream.h
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/* NativeStream.h (C) 2000-2024 */
9/* */
10/* Type opaque pour encapsuler une 'stream' native. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_ACCELERATOR_CORE_PLATFORMSTREAM_H
13#define ARCANE_ACCELERATOR_CORE_PLATFORMSTREAM_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21namespace Arcane::Accelerator
22{
23namespace Cuda
24{
25 class CudaRunQueueStream;
26}
27namespace Hip
28{
29 class HipRunQueueStream;
30}
31namespace Sycl
32{
33 class SyclRunQueueStream;
34}
35}
36
37/*---------------------------------------------------------------------------*/
38/*---------------------------------------------------------------------------*/
39
40namespace Arcane::Accelerator::impl
41{
42
43/*---------------------------------------------------------------------------*/
44/*---------------------------------------------------------------------------*/
53class ARCANE_ACCELERATOR_CORE_EXPORT NativeStream
54{
60 friend Arcane::Accelerator::impl::CudaUtils;
61 friend Arcane::Accelerator::impl::HipUtils;
62 friend Arcane::Accelerator::impl::SyclUtils;
63
64 public:
65
66 NativeStream() = default;
67
68 private:
69
70 explicit NativeStream(void* ptr)
71 : m_native_pointer(ptr)
72 {}
73
74 private:
75
76 void* m_native_pointer = nullptr;
77};
78
79/*---------------------------------------------------------------------------*/
80/*---------------------------------------------------------------------------*/
81
82} // namespace Arcane::Accelerator::impl
83
84/*---------------------------------------------------------------------------*/
85/*---------------------------------------------------------------------------*/
86
87#endif
Gestion d'une commande sur accélérateur.
File d'exécution pour un accélérateur.
Type opaque pour encapsuler une 'stream' native.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:149
Espace de nom pour l'utilisation des accélérateurs.