Arcane  v3.15.0.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
TestInit.cc
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#include <gtest/gtest.h>
9
11#include "arcane/utils/MemoryAllocator.h"
12#include "arcane/accelerator/core/Runner.h"
13#include "arcane/accelerator/core/RunQueue.h"
14
15/*---------------------------------------------------------------------------*/
16/*---------------------------------------------------------------------------*/
17
18using namespace Arcane;
19using namespace Arcane::Accelerator;
20
21extern "C++" void arcaneRegisterDefaultAcceleratorRuntime();
22extern "C++" eExecutionPolicy arcaneGetDefaultExecutionPolicy();
23
24namespace
25{
26void _doInit()
27{
28 arcaneRegisterDefaultAcceleratorRuntime();
29}
31{
32 return arcaneGetDefaultExecutionPolicy();
33}
34} // namespace
35
36void _doTest1()
37{
38 _doInit();
40 Runner runner(exec_policy);
41 RunQueue queue(makeQueue(runner));
42 ASSERT_TRUE(queue.executionPolicy() == exec_policy);
43
44 eMemoryResource mr = eMemoryResource::Host;
45 ASSERT_EQ(MemoryUtils::getAllocator(mr)->memoryResource(), mr);
46
47 if (queue.isAcceleratorPolicy()) {
48 mr = eMemoryResource::HostPinned;
49 ASSERT_EQ(MemoryUtils::getAllocator(mr)->memoryResource(), mr);
50
51 mr = eMemoryResource::Device;
52 ASSERT_EQ(MemoryUtils::getAllocator(mr)->memoryResource(), mr);
53
54 mr = eMemoryResource::UnifiedMemory;
55 ASSERT_EQ(MemoryUtils::getAllocator(mr)->memoryResource(), mr);
56 }
57
59 ASSERT_GE(alignment, 64);
60}
61
62/*---------------------------------------------------------------------------*/
63/*---------------------------------------------------------------------------*/
64
65TEST(Accelerator, TestInit)
66{
67 _doTest1();
68}
69
70/*---------------------------------------------------------------------------*/
71/*---------------------------------------------------------------------------*/
#define ASSERT_TRUE(condition)
Vérifie que condition est vrai.
Definition Assertion.h:126
Fonctions de gestion mémoire et des allocateurs.
File d'exécution pour un accélérateur.
Gestionnaire d'exécution pour accélérateur.
Definition core/Runner.h:68
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:149
virtual size_t guaranteedAlignment(MemoryAllocationArgs args) const
Valeur de l'alignement garanti par l'allocateur.
Espace de nom pour l'utilisation des accélérateurs.
RunQueue makeQueue(const Runner &runner)
Créé une file associée à runner.
eExecutionPolicy
Politique d'exécution pour un Runner.
IMemoryAllocator * getDefaultDataAllocator()
Allocateur par défaut pour les données.
IMemoryAllocator * getAllocator(eMemoryResource mem_resource)
Allocateur par défaut pour la ressource mem_resource.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
eMemoryResource
Liste des ressources mémoire disponibles.