8#include <gtest/gtest.h>
10#include "arcane/utils/NumArray.h"
11#include "arcane/accelerator/core/Runner.h"
12#include "arcane/accelerator/core/RunQueue.h"
15#include "TestVirtualMethod.h"
20extern "C++" void arcaneRegisterDefaultAcceleratorRuntime();
30 arcaneRegisterDefaultAcceleratorRuntime();
34 return arcaneGetDefaultExecutionPolicy();
46 ARCCORE_HOST_DEVICE
int apply(
int a,
int b)
override
54 std::cout <<
"Test Virtual Method 1. Execution policy=" << exec_policy <<
"\n";
55 Runner runner(exec_policy);
59 if (queue.isAcceleratorPolicy())
70 std::cout <<
"Test Virtual Method 1. Create derived class\n";
82 const Int32 nb_item = 12;
84 compute_array.resize(nb_item);
85 std::cout <<
"Test Virtual Method 1. Do computation\n";
87 _doCallTestVirtualMethod1(queue,compute_array,base_instance);
90 host_array.
copy(compute_array);
92 for (Int32 i = 0; i < nb_item; ++i)
93 std::cout <<
"I=" << i <<
" R=" << host_array[i] <<
"\n";
94 for (Int32 i = 0; i < nb_item; ++i)
95 ASSERT_EQ(i*2, host_array[i]);
99TEST(ArcaneAccelerator, VirtualMethod)
105 _doTestVirtualMethod1(_defaultExecutionPolicy());
Types et macros pour gérer les boucles sur les accélérateurs.
#define RUNCOMMAND_SINGLE(...)
Boucle sur accélérateur pour exécution avec un seul thread.
Gestion d'une commande sur accélérateur.
File d'exécution pour un accélérateur.
Gestionnaire d'exécution pour accélérateur.
Tableaux multi-dimensionnels pour les types numériques accessibles sur accélérateurs.
void copy(SmallSpan< const DataType > rhs)
Copie dans l'instance les valeurs de rhs.
Espace de nom pour l'utilisation des accélérateurs.
RunCommand makeCommand(const RunQueue &run_queue)
Créé une commande associée à la file run_queue.
RunQueue makeQueue(const Runner &runner)
Créé une file associée à runner.
eExecutionPolicy
Politique d'exécution pour un Runner.
@ Sequential
Politique d'exécution séquentielle.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
void arcaneCallFunctionAndTerminateIfThrow(std::function< void()> function)
eMemoryResource
Liste des ressources mémoire disponibles.
@ Device
Alloue sur le device.