Alien  1.3.0
Developer documentation
Loading...
Searching...
No Matches
MachineInfo.cc
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2026 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#include <mpi.h>
9
10#ifdef ALIEN_USE_CUDA
11#include <cuda_runtime.h>
12#endif
13
14#include <arccore/message_passing/IMessagePassingMng.h>
15#include <alien/utils/system/MachineInfo.h>
16
17namespace Alien {
18
19MachineInfo::MachineInfo(Arccore::MessagePassing::IMessagePassingMng* parellel_mng)
20: m_parallel_mng(parellel_mng)
21{
22 m_my_rank = 0 ;
23 m_nb_procs = 1 ;
24 if(m_parallel_mng)
25 {
26 m_my_rank = m_parallel_mng->commRank() ;
27 m_nb_procs = m_parallel_mng->commSize() ;
28 }
29
30#ifdef ALIEN_USE_CUDA
31 // Assigner un GPU par processus MPI
32 cudaGetDeviceCount(&m_nb_accelerators_per_node);
33
34 if(m_nb_accelerators_per_node>0)
35 {
36 m_device_id = m_my_rank % m_nb_accelerators_per_node;
37 }
38#endif
39 //cudaSetDevice(device);
40}
41
42}
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Definition BackEnd.h:17