Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
IProcessorAffinityService.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2022 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/* IProcessorAffinityService.h (C) 2000-2018 */
9/* */
10/* Interface d'un service de gestion de l'affinité des processeurs/coeurs. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_UTILS_IPROCESSORAFFINITYSERVICE_H
13#define ARCANE_UTILS_IPROCESSORAFFINITYSERVICE_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22ARCANE_BEGIN_NAMESPACE
23
24/*---------------------------------------------------------------------------*/
25/*---------------------------------------------------------------------------*/
26
27class IParallelMng;
28
29/*---------------------------------------------------------------------------*/
30/*---------------------------------------------------------------------------*/
31/*!
32 * \internal
33 * \brief Interface d'un service de de trace des appels de fonctions.
34 */
36{
37 public:
38
39 virtual ~IProcessorAffinityService() {} //<! Libère les ressources
40
41 public:
42
43 virtual void build() =0;
44
45 public:
46
47 virtual void printInfos() =0;
48
49 virtual String cpuSetString() =0;
50
51 //! Contraint le thread courant à rester sur le coeur d'indice \a cpu
52 virtual void bindThread(Int32 cpu) =0;
53
54 virtual Int32 numberOfCore() =0;
55 virtual Int32 numberOfSocket() =0;
56 virtual Int32 numberOfProcessingUnit() =0;
57};
58
59/*---------------------------------------------------------------------------*/
60/*---------------------------------------------------------------------------*/
61
62ARCANE_END_NAMESPACE
63
64/*---------------------------------------------------------------------------*/
65/*---------------------------------------------------------------------------*/
66
67#endif
68
Fichier de configuration d'Arcane.
virtual void bindThread(Int32 cpu)=0
Contraint le thread courant à rester sur le coeur d'indice cpu.
Chaîne de caractères unicode.