9.2
general documentation
cs_benchmark_matrix.h
Go to the documentation of this file.
1#ifndef CS_BENCHMARK_MATRIX_H
2#define CS_BENCHMARK_MATRIX_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-2026 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 "base/cs_defs.h"
35
36#include "base/cs_halo.h"
37#include "base/cs_numbering.h"
38#include "base/cs_halo_perio.h"
39
40/*============================================================================
41 * Macro definitions
42 *============================================================================*/
43
44/*============================================================================
45 * Type definitions
46 *============================================================================*/
47
48/*============================================================================
49 * Global variables
50 *============================================================================*/
51
52/*=============================================================================
53 * Public function prototypes
54 *============================================================================*/
55
56/*----------------------------------------------------------------------------
57 * Time matrix operations.
58 *
59 * parameters:
60 * n_time_runs <-- number of timing runs for each measure
61 * n_types <-- number of matrix types timed, or 0
62 * n_fill_types <-- number of fill types timed, or 0
63 * types <-- array of matrix types timed, or NULL
64 * fill_types <-- array of fill types timed, or NULL
65 * n_cells <-- number of local cells
66 * n_cells_ext <-- number of cells including ghost cells (array size)
67 * n_faces <-- local number of internal faces
68 * cell_num <-- Optional global cell numbers (1 to n), or NULL
69 * face_cell <-- face -> cells connectivity
70 * halo <-- cell halo structure
71 * numbering <-- vectorization or thread-related numbering info, or NULL
72 *----------------------------------------------------------------------------*/
73
74extern "C" void
75cs_benchmark_matrix(int n_time_runs,
76 int n_types,
77 int n_fill_types,
78 cs_matrix_type_t types[],
79 cs_matrix_fill_type_t fill_types[],
80 cs_lnum_t n_cells,
81 cs_lnum_t n_cells_ext,
82 cs_lnum_t n_faces,
83 const cs_lnum_2_t *face_cell,
84 const cs_halo_t *halo,
85 const cs_numbering_t *numbering);
86
87/*----------------------------------------------------------------------------*/
88
89#endif /* CS_BENCHMARK_MATRIX_H */
void cs_benchmark_matrix(int n_time_runs, int n_types, int n_fill_types, cs_matrix_type_t types[], cs_matrix_fill_type_t fill_types[], cs_lnum_t n_cells, cs_lnum_t n_cells_ext, cs_lnum_t n_faces, const cs_lnum_2_t *face_cell, const cs_halo_t *halo, const cs_numbering_t *numbering)
Definition: cs_benchmark_matrix.cpp:1710
cs_lnum_t cs_lnum_2_t[2]
vector of 2 local mesh-entity ids
Definition: cs_defs.h:342
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:325
cs_matrix_fill_type_t
Definition: cs_matrix.h:70
cs_matrix_type_t
Definition: cs_matrix.h:52
Definition: cs_halo.h:74
Definition: cs_numbering.h:91