Arcane  v3.16.9.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
DeviceInfo.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2025 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/* DeviceInfo.h (C) 2000-2025 */
9/* */
10/* Information sur un device. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_ACCELERATOR_CORE_DEVICEINFO_H
13#define ARCANE_ACCELERATOR_CORE_DEVICEINFO_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/String.h"
18#include "arcane/accelerator/core/DeviceId.h"
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23namespace Arcane::Accelerator
24{
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28/*!
29 * \brief Information sur un device.
30 */
31class ARCANE_ACCELERATOR_CORE_EXPORT DeviceInfo
32{
33 public:
34
35 //! Informations du i-ème device.
36 DeviceId deviceId() const { return m_device_id; }
37
38 //! Nom du device
39 String name() const { return m_name; }
40
41 //! UUID sous forme de chaîne de caractères. Peut-être nul.
42 String uuidAsString() const { return m_uuid_as_string; }
43
44 //! Description du device.
45 String description() const { return m_description; }
46
47 //! Taille d'un warp
48 Int32 warpSize() const { return m_warp_size; }
49
50 public:
51
52 void setDeviceId(DeviceId id) { m_device_id = id; }
53 void setUUIDAsString(const String& v) { m_uuid_as_string = v; }
54 void setDescription(const String& v) { m_description = v; }
55 void setName(const String& v) { m_name = v; }
56 void setWarpSize(Int32 v) { m_warp_size = v; }
57
58 private:
59
60 DeviceId m_device_id;
61 String m_name;
62 String m_uuid_as_string;
63 String m_description;
64 Int32 m_warp_size = 0;
65};
66
67/*---------------------------------------------------------------------------*/
68/*---------------------------------------------------------------------------*/
69
70} // namespace Arcane::Accelerator
71
72/*---------------------------------------------------------------------------*/
73/*---------------------------------------------------------------------------*/
74
75#endif
Identifiant d'un composant du système.
Definition DeviceId.h:33
Information sur un device.
Definition DeviceInfo.h:32
String name() const
Nom du device.
Definition DeviceInfo.h:39
String description() const
Description du device.
Definition DeviceInfo.h:45
String uuidAsString() const
UUID sous forme de chaîne de caractères. Peut-être nul.
Definition DeviceInfo.h:42
DeviceId deviceId() const
Informations du i-ème device.
Definition DeviceInfo.h:36
Int32 warpSize() const
Taille d'un warp.
Definition DeviceInfo.h:48
Chaîne de caractères unicode.
Espace de nom pour l'utilisation des accélérateurs.
std::int32_t Int32
Type entier signé sur 32 bits.