9.0
general documentation
Loading...
Searching...
No Matches
cs_benchmark_cuda.h
Go to the documentation of this file.
1
#ifndef __CS_BENCHMARK_CUDA_H__
2
#define __CS_BENCHMARK_CUDA_H__
3
4
/*============================================================================
5
* Low-level operator benchmarking with CUDA.
6
*============================================================================*/
7
8
/*
9
This file is part of code_saturne, a general-purpose CFD tool.
10
11
Copyright (C) 1998-2025 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
/*----------------------------------------------------------------------------*/
37
38
BEGIN_C_DECLS
39
40
/*============================================================================
41
* Public function prototypes
42
*============================================================================*/
43
44
/*----------------------------------------------------------------------------
45
* SpMV extradiagonal terms using native to face-based array and scatter
46
* approach, handling conflicts through atomic add.
47
*
48
* Symmetric matrix case.
49
*
50
* parameters:
51
* n_faces <-- local number of internal faces
52
* face_cell <-- face -> cells connectivity
53
* xa <-- extradiagonal values
54
* x <-- vector
55
* y <-> vector
56
*----------------------------------------------------------------------------*/
57
58
void
59
cs_mat_vec_exdiag_native_sym_cuda
(
cs_lnum_t
n_faces,
60
const
cs_lnum_2_t
*face_cell,
61
const
cs_real_t
*xa,
62
const
cs_real_t
*x,
63
cs_real_t
*y);
64
65
/*----------------------------------------------------------------------------*/
66
67
END_C_DECLS
68
69
70
#endif
/* __CS_BENCHMARK_CUDA_H__ */
cs_mat_vec_exdiag_native_sym_cuda
void cs_mat_vec_exdiag_native_sym_cuda(cs_lnum_t n_faces, const cs_lnum_2_t *face_cell, const cs_real_t *xa, const cs_real_t *x, cs_real_t *y)
cs_defs.h
BEGIN_C_DECLS
#define BEGIN_C_DECLS
Definition
cs_defs.h:542
cs_real_t
double cs_real_t
Floating-point value.
Definition
cs_defs.h:342
cs_lnum_2_t
cs_lnum_t cs_lnum_2_t[2]
vector of 2 local mesh-entity ids
Definition
cs_defs.h:352
END_C_DECLS
#define END_C_DECLS
Definition
cs_defs.h:543
cs_lnum_t
int cs_lnum_t
local mesh entity id
Definition
cs_defs.h:335
src
alge
cs_benchmark_cuda.h
Generated on
for code_saturne by
1.14.0