xref: /libCEED/include/ceed/jit-source/cuda/cuda-jit.h (revision 2027fb9d13fe34211738d8539f90542a9801ae2c)
1 // Copyright (c) 2017-2025, 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