Arcane
v4.1.5.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, 0); \
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, 0); \
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, 0); \
50
}
51
#else
52
#define ARCCORE_TEST_DO_TEST_SYCL(name1, name2, func)
53
#endif
54
55
#if defined(ARCCORE_HAS_ACCELERATOR_THREAD)
56
#define ARCCORE_TEST_DO_TEST_TASK(name1, name2, func) \
57
TEST(name1, name2##_task4) \
58
{ \
59
func(false, 4); \
60
}
61
#else
62
#define ARCCORE_TEST_DO_TEST_TASK(name1, name2, func)
63
#endif
64
65
#define ARCCORE_TEST_DO_TEST_SEQUENTIAL(name1, name2, func) \
66
TEST(name1, name2) \
67
{ \
68
func(false, 0); \
69
}
70
72
#define ARCCORE_TEST_DO_TEST_ACCELERATOR(name1, name2, func) \
73
ARCCORE_TEST_DO_TEST_CUDA(name1, name2, func); \
74
ARCCORE_TEST_DO_TEST_HIP(name1, name2, func); \
75
ARCCORE_TEST_DO_TEST_SYCL(name1, name2, func); \
76
ARCCORE_TEST_DO_TEST_TASK(name1, name2, func); \
77
ARCCORE_TEST_DO_TEST_SEQUENTIAL(name1, name2, func);
78
79
/*---------------------------------------------------------------------------*/
80
/*---------------------------------------------------------------------------*/
81
82
#endif
arccore
src
accelerator
tests
TestCommon.h
Généré le Lundi 2 Mars 2026 03:56:47 pour Arcane par
1.13.2