Arcane
v4.1.3.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
TestCommon.h
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
/* TestCommon.h (C) 2000-2026 */
9
/* */
10
/* Déclarations communes pour les tests. */
11
/*---------------------------------------------------------------------------*/
12
#ifndef ARCCORE_ACCELERATOR_TESTS_TESTCOMMON_H
13
#define ARCCORE_ACCELERATOR_TESTS_TESTCOMMON_H
14
/*---------------------------------------------------------------------------*/
15
/*---------------------------------------------------------------------------*/
16
17
#include "arccore/accelerator/AcceleratorGlobal.h"
18
19
/*---------------------------------------------------------------------------*/
20
/*---------------------------------------------------------------------------*/
21
/*
22
* Les macros suivantes permettent de définir des tests en fonctions
23
* du support accélérateur disponible.
24
*/
25
#if defined(ARCCORE_HAS_CUDA)
26
#define ARCCORE_TEST_DO_TEST_CUDA(name1, name2, func) \
27
TEST(name1, name2##_cuda) \
28
{ \
29
func(true); \
30
}
31
#else
32
#define ARCCORE_TEST_DO_TEST_CUDA(name1, name2, func)
33
#endif
34
35
#if defined(ARCCORE_HAS_HIP)
36
#define ARCCORE_TEST_DO_TEST_HIP(name1, name2, func) \
37
TEST(name1, name2##_hip) \
38
{ \
39
func(true); \
40
}
41
#else
42
#define ARCCORE_TEST_DO_TEST_HIP(name1, name2, func)
43
#endif
44
45
#if defined(ARCCORE_HAS_SYCL)
46
#define ARCCORE_TEST_DO_TEST_SYCL(name1, name2, func) \
47
TEST(name1, name2##_sycl) \
48
{ \
49
func(true); \
50
}
51
#else
52
#define ARCCORE_TEST_DO_TEST_SYCL(name1, name2, func)
53
#endif
54
55
#define ARCCORE_TEST_DO_TEST_SEQUENTIAL(name1, name2, func) \
56
TEST(name1, name2) \
57
{ \
58
func(false); \
59
}
60
62
#define ARCCORE_TEST_DO_TEST_ACCELERATOR(name1, name2, func) \
63
ARCCORE_TEST_DO_TEST_CUDA(name1, name2, func); \
64
ARCCORE_TEST_DO_TEST_HIP(name1, name2, func); \
65
ARCCORE_TEST_DO_TEST_SYCL(name1, name2, func); \
66
ARCCORE_TEST_DO_TEST_SEQUENTIAL(name1, name2, func);
67
68
/*---------------------------------------------------------------------------*/
69
/*---------------------------------------------------------------------------*/
70
71
#endif
arccore
src
accelerator
tests
TestCommon.h
Généré le Lundi 19 Janvier 2026 03:39:53 pour Arcane par
1.13.2