Arcane  v4.1.0.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
TestCommon.cc
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#include "arcane/accelerator/AcceleratorGlobal.h"
9#include "arcane/accelerator/core/internal/RegisterRuntimeInfo.h"
10
11/*---------------------------------------------------------------------------*/
12/*---------------------------------------------------------------------------*/
13
14#if defined(ARCANE_HAS_CUDA)
15extern "C" ARCANE_EXPORT void
16arcaneRegisterAcceleratorRuntimecuda(Arcane::Accelerator::RegisterRuntimeInfo& init_info);
17#endif
18
19#if defined(ARCANE_HAS_HIP)
20extern "C" ARCANE_EXPORT void
21arcaneRegisterAcceleratorRuntimehip(Arcane::Accelerator::RegisterRuntimeInfo& init_info);
22#endif
23
24#if defined(ARCANE_HAS_SYCL)
25extern "C" ARCANE_EXPORT void
26arcaneRegisterAcceleratorRuntimesycl(Arcane::Accelerator::RegisterRuntimeInfo& init_info);
27#endif
28
29/*---------------------------------------------------------------------------*/
30/*---------------------------------------------------------------------------*/
31
32extern "C++" void
33arcaneRegisterDefaultAcceleratorRuntime()
34{
36 init_info.setVerbose(true);
37#ifdef ARCANE_HAS_CUDA
38 arcaneRegisterAcceleratorRuntimecuda(init_info);
39#elif defined(ARCANE_HAS_HIP)
40 arcaneRegisterAcceleratorRuntimehip(init_info);
41#elif defined(ARCANE_HAS_SYCL)
42 arcaneRegisterAcceleratorRuntimesycl(init_info);
43#endif
44}
45
47arcaneGetDefaultExecutionPolicy()
48{
49#if defined(ARCANE_HAS_CUDA)
51#elif defined(ARCANE_HAS_HIP)
53#elif defined(ARCANE_HAS_SYCL)
55#endif
57}
58
59/*---------------------------------------------------------------------------*/
60/*---------------------------------------------------------------------------*/
Informations pour initialiser le runtime accélérateur.
eExecutionPolicy
Politique d'exécution pour un Runner.
@ SYCL
Politique d'exécution utilisant l'environnement SYCL.
@ HIP
Politique d'exécution utilisant l'environnement HIP.
@ CUDA
Politique d'exécution utilisant l'environnement CUDA.
@ Sequential
Politique d'exécution séquentielle.