Arcane
v3.16.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
17
#include "
arcane/accelerator/core/AcceleratorCoreGlobal.h
"
18
19
/*---------------------------------------------------------------------------*/
20
/*---------------------------------------------------------------------------*/
21
namespace
Arcane::Accelerator
22
{
23
namespace
Cuda
24
{
25
class
CudaRunQueueStream
;
26
}
27
namespace
Hip
28
{
29
class
HipRunQueueStream
;
30
}
31
namespace
Sycl
32
{
33
class
SyclRunQueueStream
;
34
}
35
}
36
37
/*---------------------------------------------------------------------------*/
38
/*---------------------------------------------------------------------------*/
39
40
namespace
Arcane::Accelerator::impl
41
{
42
43
/*---------------------------------------------------------------------------*/
44
/*---------------------------------------------------------------------------*/
53
class
ARCANE_ACCELERATOR_CORE_EXPORT NativeStream
54
{
55
friend
Arcane::Accelerator::RunQueue
;
56
friend
Arcane::Accelerator::RunCommand
;
57
friend
Arcane::Accelerator::Cuda::CudaRunQueueStream
;
58
friend
Arcane::Accelerator::Hip::HipRunQueueStream
;
59
friend
Arcane::Accelerator::Sycl::SyclRunQueueStream
;
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
AcceleratorCoreGlobal.h
Arcane::Accelerator::Cuda::CudaRunQueueStream
Definition
CudaAcceleratorRuntime.cc:88
Arcane::Accelerator::Hip::HipRunQueueStream
Definition
HipAcceleratorRuntime.cc:53
Arcane::Accelerator::RunCommand
Gestion d'une commande sur accélérateur.
Definition
core/RunCommand.h:41
Arcane::Accelerator::RunQueue
File d'exécution pour un accélérateur.
Definition
core/RunQueue.h:52
Arcane::Accelerator::Sycl::SyclRunQueueStream
Definition
SyclAcceleratorRuntime.cc:52
Arcane::Accelerator
Espace de nom pour l'utilisation des accélérateurs.
Definition
AcceleratorGlobal.h:36
arcane
accelerator
core
NativeStream.h
Généré le Lundi 31 Mars 2025 02:52:40 pour Arcane par
1.13.2