8.3
general documentation
cs_matrix_tuning.h
Go to the documentation of this file.
1#ifndef __CS_MATRIX_TUNING_H__
2#define __CS_MATRIX_TUNING_H__
3
4/*============================================================================
5 * Sparse Matrix Representation and Operations
6 *============================================================================*/
7
8/*
9 This file is part of code_saturne, a general-purpose CFD tool.
10
11 Copyright (C) 1998-2024 EDF S.A.
12
13 This program is free software; you can redistribute it and/or modify it under
14 the terms of the GNU General Public License as published by the Free Software
15 Foundation; either version 2 of the License, or (at your option) any later
16 version.
17
18 This program is distributed in the hope that it will be useful, but WITHOUT
19 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
20 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
21 details.
22
23 You should have received a copy of the GNU General Public License along with
24 this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
25 Street, Fifth Floor, Boston, MA 02110-1301, USA.
26*/
27
28/*----------------------------------------------------------------------------*/
29
30/*----------------------------------------------------------------------------
31 * Local headers
32 *----------------------------------------------------------------------------*/
33
34#include "cs_defs.h"
35
36#include "cs_halo.h"
37#include "cs_numbering.h"
38#include "cs_halo_perio.h"
39
40/*----------------------------------------------------------------------------*/
41
43
44/*============================================================================
45 * Macro definitions
46 *============================================================================*/
47
48/*============================================================================
49 * Type definitions
50 *============================================================================*/
51
52/*============================================================================
53 * Global variables
54 *============================================================================*/
55
56/*=============================================================================
57 * Public function prototypes
58 *============================================================================*/
59
60/*----------------------------------------------------------------------------*/
61/*
62 * \brief Build a matrix variant tuned matrix.vector product operations.
63 *
64 * The variant may later be applied to matrices of the same type and fill type.
65 *
66 * In presence of supported accelerated devices, an array of 3 variants
67 * is returned; the second one applies to the host only, the third one
68 * to the device only.
69 *
70 * \param[in] m associated matrix
71 * \param[in] verbosity verbosity level
72 * \param[in] n_measure minimum number of measuring runs
73 *
74 * \returns pointer to tuning results structure
75 */
76/*----------------------------------------------------------------------------*/
77
80 int verbosity,
81 int n_measure);
82
83/*----------------------------------------------------------------------------*/
84
86
87#endif /* __CS_MATRIX_TUNING_H__ */
#define BEGIN_C_DECLS
Definition: cs_defs.h:542
#define END_C_DECLS
Definition: cs_defs.h:543
struct _cs_matrix_variant_t cs_matrix_variant_t
Definition: cs_matrix.h:114
struct _cs_matrix_t cs_matrix_t
Definition: cs_matrix.h:110
cs_matrix_variant_t * cs_matrix_variant_tuned(const cs_matrix_t *m, int verbosity, int n_measure)
Build a matrix variant tuned matrix.vector product operations.
Definition: cs_matrix_tuning.cpp:388