| /libCEED/julia/LibCEED.jl/.style/ |
| H A D | ceed_style.jl | 21 t = FST(Binary, cst, nspaces(s)) 45 paren = FST(PUNCTUATION, -1, n.startline, n.startline, "(") 46 add_node!(t, paren, s) 47 add_node!(t, n, s, join_lines=true) 48 paren = FST(PUNCTUATION, -1, n.startline, n.startline, ")") 49 add_node!(t, paren, s, join_lines=true) 51 add_node!(t, n, s) 55 nrhs && (t.nest_behavior = AlwaysNest) 59 # Do nothing - represents a binary op with no textual representation. 62 add_node!(t, pretty(style, op, s), s, join_lines=true) [all …]
|
| /libCEED/examples/nek/boxes/ |
| H A D | b1e.rea | 6 -100.000 p002 VISCOS 16 -0.500000E-02 p012 DT 22 0.00000 p018 GRID < 0 --> # cells on screen 25 0.100000E-05 p021 DIVERGENCE 26 0.100000E-07 p022 HELMHOLTZ 28 0.100000E-09 p024 TOLREL 29 0.100000E-09 p025 TOLABS 33 0.00000 p029 = magnetic visc if > 0, = -1/Rm if < 0 45 0.00000 p041 1-->multiplicative SEMG 48 0.00000 p044 0=E-based/1=A-based prec. [all …]
|
| /libCEED/include/ceed/jit-source/magma/ |
| H A D | magma-common-nontensor.h | 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. 4 // SPDX-License-Identifier: BSD-2-Clause 9 /// Internal header for MAGMA backend common non-tensor basis definitions 12 #include "magma-common-defs.h" 15 // read A (no-trans) from global to reg. 19 template <typename T, int P, int Q, int BY> 20 …line__ void read_A_notrans_g2r_1D_nosync(const int tx, const int ty, const T *dA, T *sA, T rA[Q]) { in read_A_notrans_g2r_1D_nosync() 25 for (i = 0; i < P * Q - P * BY; i += P * BY) { in read_A_notrans_g2r_1D_nosync() 44 template <typename T, int P, int Q, int BY> [all …]
|
| H A D | magma-common-tensor.h | 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. 4 // SPDX-License-Identifier: BSD-2-Clause 12 #include "magma-common-defs.h" 15 // read U or V of a 1D element into shared memory sU[][] or sV[][] -- for all components 18 template <typename T, int LENGTH, int NUM_COMP> 19 static __device__ __inline__ void read_1d(const T *devptr, const int compstride, T *sBuffer[NUM_COM… in read_1d() 28 // write V of a 1D element into global memory from sV[][] -- for all components 30 template <typename T, int LENGTH, int NUM_COMP> 31 static __device__ __inline__ void write_1d(T *sBuffer[NUM_COMP], T *devptr, const int compstride, c… in write_1d() [all …]
|
| H A D | magma-basis-grad-3d.h | 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. 4 // SPDX-License-Identifier: BSD-2-Clause 10 #include "magma-common-tensor.h" 19 template <typename T, bool Add> 22 template <typename T> 23 struct magma_grad_3d_device_accumulate<T, true> { 24 static __device__ __inline__ void op(T &rV, const T &rTmp) { rV += rTmp; } 27 template <typename T> 28 struct magma_grad_3d_device_accumulate<T, false> { [all …]
|
| H A D | magma-basis-grad-2d.h | 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. 4 // SPDX-License-Identifier: BSD-2-Clause 10 #include "magma-common-tensor.h" 18 template <typename T, bool Add> 21 template <typename T> 22 struct magma_grad_2d_device_accumulate<T, true> { 23 static __device__ __inline__ void op(T &rV, const T &rTmp) { rV += rTmp; } 26 template <typename T> 27 struct magma_grad_2d_device_accumulate<T, false> { [all …]
|
| H A D | magma-basis-interp-3d.h | 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. 4 // SPDX-License-Identifier: BSD-2-Clause 10 #include "magma-common-tensor.h" 18 template <typename T, int DIM_U, int DIM_V, int NUM_COMP, int P, int Q, int rU_SIZE, int rV_SIZE> 19 …__device__ __inline__ void magma_interp_3d_device(const T *sT, T rU[DIM_U][NUM_COMP][rU_SIZE], T r… in magma_interp_3d_device() 20 T rTmp[Q], T *swork) { in magma_interp_3d_device() 37 T *sTmp = swork + batchid * (1 * Q); in magma_interp_3d_device() 53 T *sTmp = swork + batchid * (Q * P); // sTmp is input in magma_interp_3d_device() 68 T *sTmp = swork + batchid * (Q * Q); in magma_interp_3d_device() [all …]
|
| H A D | magma-basis-interp-2d.h | 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. 4 // SPDX-License-Identifier: BSD-2-Clause 10 #include "magma-common-tensor.h" 18 template <typename T, int DIM_U, int DIM_V, int NUM_COMP, int P, int Q, int rU_SIZE, int rV_SIZE> 19 …__device__ __inline__ void magma_interp_2d_device(const T *sT, T rU[DIM_U][NUM_COMP][rU_SIZE], T r… in magma_interp_2d_device() 20 T rTmp, T *swork) { in magma_interp_2d_device() 32 // 1st product -- Batch P of (1xP) matrices [reg] x (PxQ) [shmem] => Batch P of (1xQ) matrices in magma_interp_2d_device() 37 T *sTmp = swork + batchid * (1 * Q); in magma_interp_2d_device() 48 // 2nd product -- Batch 1 of a (QxP) matrix [shmem] x (PxQ) [shmem] => (QxQ) matrix [reg] in magma_interp_2d_device() [all …]
|
| H A D | magma-basis-grad-1d.h | 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. 4 // SPDX-License-Identifier: BSD-2-Clause 10 #include "magma-common-tensor.h" 17 template <typename T, int DIM, int NUM_COMP, int P, int Q> 18 static __device__ __inline__ void magma_grad_1d_device(const T *sT, T *sU[NUM_COMP], T *sV[NUM_COMP… in magma_grad_1d_device() 23 // 4. P_roduct per component is one row (1xP) times T matrix (PxQ) => one row (1xQ) in magma_grad_1d_device() 30 T rv = 0.0; in magma_grad_1d_device() 64 sU[comp] = sU[comp - 1] + (1 * BASIS_P); in __launch_bounds__() 65 sV[comp] = sV[comp - 1] + (1 * BASIS_Q); in __launch_bounds__() [all …]
|
| H A D | magma-basis-interp-1d.h | 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. 4 // SPDX-License-Identifier: BSD-2-Clause 10 #include "magma-common-tensor.h" 17 template <typename T, int DIM, int NUM_COMP, int P, int Q> 18 static __device__ __inline__ void magma_interp_1d_device(const T *sT, T *sU[NUM_COMP], T *sV[NUM_CO… in magma_interp_1d_device() 23 // 4. P_roduct per component is one row (1xP) times T matrix (PxQ) => one row (1xQ) in magma_interp_1d_device() 30 T rv = 0.0; in magma_interp_1d_device() 64 sU[comp] = sU[comp - 1] + (1 * BASIS_P); in __launch_bounds__() 65 sV[comp] = sV[comp - 1] + (1 * BASIS_Q); in __launch_bounds__() [all …]
|
| /libCEED/backends/avx/ |
| H A D | ceed-avx-tensor.c | 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. 4 // SPDX-License-Identifier: BSD-2-Clause 39 //------------------------------------------------------------------------------ 41 //------------------------------------------------------------------------------ 43 … const CeedScalar *restrict t, CeedTransposeMode t_mode, const CeedInt add, in CeedTensorContract_Avx_Blocked() argument 62 rtype tqv = set1(t[(j + jj) * t_stride_0 + b * t_stride_1]); in CeedTensorContract_Avx_Blocked() 80 for (CeedInt jj = 0; jj < J - j; jj++) { in CeedTensorContract_Avx_Blocked() 84 for (CeedInt jj = 0; jj < J - j; jj++) { // doesn't unroll in CeedTensorContract_Avx_Blocked() 85 rtype tqv = set1(t[(j + jj) * t_stride_0 + b * t_stride_1]); in CeedTensorContract_Avx_Blocked() [all …]
|
| /libCEED/julia/LibCEED.jl/test/ |
| H A D | buildmats.jl | 1 function build_mats_hdiv(qref, qweight, ::Type{T}=Float64) where {T} argument 3 interp = Array{T}(undef, dim, Q, P) 4 div = Array{T}(undef, Q, P) 6 qref[1, 1] = -1.0/sqrt(3.0) 9 qref[1, 4] = -qref[1, 1] 10 qref[2, 1] = -qref[1, 1] 11 qref[2, 2] = -qref[1, 1] 25 interp[2, i, 1] = 1.0 - x2 26 interp[1, i, 2] = x1 - 1.0 28 interp[1, i, 3] = -x1 [all …]
|
| /libCEED/interface/ |
| H A D | ceed-tensor.c | 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. 4 // SPDX-License-Identifier: BSD-2-Clause 8 #include <ceed-impl.h> 16 /// ---------------------------------------------------------------------------- 18 /// ---------------------------------------------------------------------------- 27 @return An error code: 0 - success, otherwise - failure 38 /// ---------------------------------------------------------------------------- 40 /// ---------------------------------------------------------------------------- 50 @return An error code: 0 - success, otherwise - failure [all …]
|
| /libCEED/examples/fluids/ |
| H A D | index.md | 1 (example-petsc-navier-stokes)= 3 # Compressible Navier-Stokes mini-app 6 …-dependent Navier-Stokes equations of compressible gas dynamics in a static Eulerian three-dimensi… 7 Moreover, the Navier-Stokes example has been developed using PETSc, so that the pointwise physics (… 9 ## Running the mini-app 12 :start-after: <!-- fluids-inclusion --> 14 ## The Navier-Stokes equations 17 The compressible Navier-Stokes equations in conservative form are 21 \frac{\partial \rho}{\partial t} + \nabla \cdot \bm{U} &= 0 \\ 22 …rac{\partial \bm{U}}{\partial t} + \nabla \cdot \left( \frac{\bm{U} \otimes \bm{U}}{\rho} + P \bm{… [all …]
|
| /libCEED/examples/petsc/ |
| H A D | index.md | 3 (example-petsc-area)= 10 …-Volume`, with the exception that the physical coordinates for this problem are $\bm{x}=(x,y,z)\in… 12 (example-petsc-area-cube)= 16 This is one of the test cases of the computation of the {ref}`example-petsc-area` of a 2D manifold … 20 ./area -problem cube 27 $$ (eq-coordinate-transforms-cube) 33 $$ (eq-jacobian-cube) 35 We note that in equation {eq}`eq-coordinate-transforms-cube`, the right-most Jacobian matrix ${\par… 41 (example-petsc-area-sphere)= 45 This problem computes the surface {ref}`example-petsc-area` of a tensor-product discrete sphere, ob… [all …]
|
| /libCEED/include/ceed/jit-source/hip/ |
| H A D | hip-ref-operator-assemble.h | 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. 4 // SPDX-License-Identifier: BSD-2-Clause 18 //------------------------------------------------------------------------------ 20 //------------------------------------------------------------------------------ 28 const int l = threadIdx.x; // The output column index of each B^T D B operation in __launch_bounds__() 29 // such that we have (Bout^T)_ij D_jk Bin_kl = C_il in __launch_bounds__() 31 …mined by the reference (interface) implementation of the symbolic assembly, slowest --> fastest: e, in __launch_bounds__() 37 // Strides for QF array, slowest --> fastest: e_in, comp_in, e_out, comp_out, e, q in __launch_bounds__() 59 // Perform the B^T D B operation for this 'chunk' of D (the qf_array) in __launch_bounds__() [all …]
|
| /libCEED/include/ceed/jit-source/cuda/ |
| H A D | cuda-ref-operator-assemble.h | 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. 4 // SPDX-License-Identifier: BSD-2-Clause 18 //------------------------------------------------------------------------------ 20 //------------------------------------------------------------------------------ 28 const int l = threadIdx.x; // The output column index of each B^T D B operation in __launch_bounds__() 29 // such that we have (Bout^T)_ij D_jk Bin_kl = C_il in __launch_bounds__() 31 …mined by the reference (interface) implementation of the symbolic assembly, slowest --> fastest: e, in __launch_bounds__() 37 // Strides for QF array, slowest --> fastest: e_in, comp_in, e_out, comp_out, e, q in __launch_bounds__() 59 // Perform the B^T D B operation for this 'chunk' of D (the qf_array) in __launch_bounds__() [all …]
|
| /libCEED/ |
| H A D | .gitlab-ci.yml | 1 # ---------------------------------------------------------------------------------------- 3 # ---------------------------------------------------------------------------------------- 5 - test:cpu-and-tidy 6 - test:gpu-and-float 13 # ---------------------------------------------------------------------------------------- 15 # ---------------------------------------------------------------------------------------- 16 noether-asan: 17 stage: test:cpu-and-tidy 19 - cpu 24 - export COVERAGE=0 CC=gcc CXX=g++ FC=gfortran [all …]
|
| /libCEED/examples/solids/ |
| H A D | index.md | 1 (example-petsc-elasticity)= 3 # Solid mechanics mini-app 6 It solves the steady-state static momentum balance equations using unstructured high-order finite/s… 7 As for the {ref}`example-petsc-navier-stokes` case, the solid mechanics elasticity example has been… 9 …ini-app, we consider three formulations used in solid mechanics applications: linear elasticity, N… 11 The stress-strain relationship (constitutive law) for each of the material models is provided. 12 Due to the nonlinearity of material models in Neo-Hookean hyperelasticity, the Newton linearization… 15 Linear elasticity and small-strain hyperelasticity can both by obtained from the finite-strain hype… 16 …, while $\bm S$ and $\bm E$ are their finite-strain generalizations (second Piola-Kirchoff tensor … 22 {\overbrace{\bm S = \mathsf C \bm E}^{\text{St. Venant-Kirchoff}}} \\ [all …]
|
| /libCEED/backends/opt/ |
| H A D | ceed-opt-tensor.c | 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. 4 // SPDX-License-Identifier: BSD-2-Clause 11 #include "ceed-opt.h" 13 //------------------------------------------------------------------------------ 15 //------------------------------------------------------------------------------ 17 … const CeedScalar *restrict t, CeedTransposeMode t_mode, const CeedInt add, in CeedTensorContractApply_Core_Opt() argument 29 CeedScalar tq = t[j * t_stride_0 + b * t_stride_1]; in CeedTensorContractApply_Core_Opt() 37 //------------------------------------------------------------------------------ 39 //------------------------------------------------------------------------------ [all …]
|
| /libCEED/tests/ |
| H A D | t580-operator.h | 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. 4 // SPDX-License-Identifier: BSD-2-Clause 11 CEED_QFUNCTION_HELPER CeedScalar MatDet2x2(const CeedScalar A[2][2]) { return A[0][0] * A[1][1] - A… in MatDet2x2() 13 // Compute alpha * A^T * B = C 45 // Piola map: J^T*J*u*w/detJ in mass() 46 // 1) Compute J^T * J in mass() 50 // 2) Compute J^T*J*u * w /detJ in mass()
|
| /libCEED/examples/fluids/qfunctions/ |
| H A D | stg_shur14.h | 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. 4 // SPDX-License-Identifier: BSD-2-Clause 32 * If wall_dist > prof_wd[-1], then the interpolation takes the values at prof_wd[-1] 43 const CeedInt nprofs = stg_ctx->nprofs; in InterpolateProfile() 44 const CeedScalar *prof_wd = &stg_ctx->data[stg_ctx->offsets.wall_dist]; in InterpolateProfile() 45 const CeedScalar *prof_eps = &stg_ctx->data[stg_ctx->offsets.eps]; in InterpolateProfile() 46 const CeedScalar *prof_lt = &stg_ctx->data[stg_ctx->offsets.lt]; in InterpolateProfile() 47 const CeedScalar *prof_ubar = &stg_ctx->data[stg_ctx->offsets.ubar]; in InterpolateProfile() 48 const CeedScalar *prof_cij = &stg_ctx->data[stg_ctx->offsets.cij]; in InterpolateProfile() [all …]
|
| /libCEED/backends/xsmm/ |
| H A D | ceed-xsmm-tensor.c | 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. 4 // SPDX-License-Identifier: BSD-2-Clause 12 #include "ceed-xsmm.h" 14 //------------------------------------------------------------------------------ 16 //------------------------------------------------------------------------------ 17 …dTensorContract contract, CeedInt A, CeedInt B, CeedInt C, CeedInt J, const CeedScalar *restrict t, in CeedTensorContractApply_Xsmm() argument 21 const int flags_t = LIBXSMM_GEMM_FLAGS(!t_mode ? 'T' : 'N', 'N'); in CeedTensorContractApply_Xsmm() 35 gemm_param.a.primary = (CeedScalar *)&t[0]; in CeedTensorContractApply_Xsmm() 41 const int flags_t = LIBXSMM_GEMM_FLAGS('N', t_mode ? 'T' : 'N'); in CeedTensorContractApply_Xsmm() [all …]
|
| /libCEED/doc/sphinx/source/ |
| H A D | libCEEDapi.md | 5 (theoretical-framework)= 10 In particular, when high-order finite elements or spectral elements are used, the resulting sparse … 11 libCEED provides an interface for matrix-free operator description that enables efficient evaluatio… 15 We first define the $L^2$ inner product between real-valued functions 30 …$ represents all terms in {eq}`residual` which multiply the (possibly vector-valued) test function… 31 For an n-component problems in $d$ dimensions, $\bm f_0 \in \mathbb{R}^n$ and $\bm f_1 \in \mathbb{… 51 …tinuous ($H^1$) elements, where we use the notions **T-vector**, **L-vector**, **E-vector** and **… 55 - Subdomain restriction $\bm{P}$ 56 - Element restriction $\bm{\mathcal{E}}$ 57 - Basis (Dofs-to-Qpts) evaluator $\bm{B}$ [all …]
|
| /libCEED/examples/fluids/src/ |
| H A D | setupts.c | 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. 4 // SPDX-License-Identifier: BSD-2-Clause 9 /// Time-stepping functions for Navier-Stokes example using PETSc 19 PetscErrorCode UpdateBoundaryValues(User user, Vec Q_loc, PetscReal t) { in UpdateBoundaryValues() argument 21 if (user->time_bc_set != t) { in UpdateBoundaryValues() 22 PetscCall(DMPlexInsertBoundaryValues(user->dm, PETSC_TRUE, Q_loc, t, NULL, NULL, NULL)); in UpdateBoundaryValues() 23 user->time_bc_set = t; in UpdateBoundaryValues() 28 // RHS (Explicit time-stepper) function setup 29 // This is the RHS of the ODE, given as u_t = G(t,u) [all …]
|