xref: /libCEED/include/ceed/jit-source/cuda/cuda-jit.h (revision bdee0278611904727ee35fcc2d0d7c3bf83db4c4)
1 // Copyright (c) 2017-2026, Lawrence Livermore National Security, LLC and other CEED contributors.
2 // All Rights Reserved. See the top-level LICENSE and NOTICE files for details.
3 //
4 // SPDX-License-Identifier: BSD-2-Clause
5 //
6 // This file is part of CEED:  http://github.com/ceed
7 
8 /// @file
9 /// Internal header for CUDA backend macro and type definitions for JiT source
10 
11 #define CEED_QFUNCTION(name) inline __device__ int name
12 #define CEED_QFUNCTION_HELPER inline __device__
13 #define CeedPragmaSIMD
14 #define CEED_Q_VLA 1
15 
16 #define CEED_QFUNCTION_RUST(name)                                                                                       \
17   extern "C" __device__ int name##_rs(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *const *out); \
18   static __device__ int name(void *ctx, const CeedInt Q, const CeedScalar *const *in, CeedScalar *const *out) { return name##_rs(ctx, Q, in, out); }
19 
20 #include "cuda-types.h"
21