8#include <gtest/gtest.h>
10#include "arcane/utils/NumArray.h"
11#include "arcane/utils/Exception.h"
12#include "arcane/accelerator/core/Runner.h"
13#include "arcane/accelerator/core/RunQueue.h"
14#include "arcane/accelerator/RunCommandLoop.h"
16#include "TestVirtualMethod.h"
21extern "C++" void arcaneRegisterDefaultAcceleratorRuntime();
31 arcaneRegisterDefaultAcceleratorRuntime();
35 return arcaneGetDefaultExecutionPolicy();
47 ARCCORE_HOST_DEVICE
int apply(
int a,
int b)
override
55 std::cout <<
"Test Virtual Method 1. Execution policy=" << exec_policy <<
"\n";
56 Runner runner(exec_policy);
60 if (queue.isAcceleratorPolicy())
71 std::cout <<
"Test Virtual Method 1. Create derived class\n";
83 const Int32 nb_item = 12;
85 compute_array.resize(nb_item);
86 std::cout <<
"Test Virtual Method 1. Do computation\n";
88 _doCallTestVirtualMethod1(queue,compute_array,base_instance);
91 host_array.
copy(compute_array);
93 for (Int32 i = 0; i < nb_item; ++i)
94 std::cout <<
"I=" << i <<
" R=" << host_array[i] <<
"\n";
95 for (Int32 i = 0; i < nb_item; ++i)
96 ASSERT_EQ(i*2, host_array[i]);
100TEST(ArcaneAccelerator, VirtualMethod)
106 _doTestVirtualMethod1(_defaultExecutionPolicy());
#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.