Lines Matching +full:- +full:a
1 ---
2 title: 'libCEED: Fast algebra for high-order element-based discretizations'
4 - high-performance computing
5 - high-order methods
6 - finite elements
7 - spectral elements
8 - matrix-free
10 - name: Jed Brown
11 orcid: 0000-0002-9945-0639
13 - name: Ahmad Abdelfattah
14 orcid: 0000-0001-5054-4784
16 - name: Valeria Barra
17 orcid: 0000-0003-1129-2056
19 - name: Natalie Beams
20 orcid: 0000-0001-6060-4082
22 - name: Jean-Sylvain Camier
23 orcid: 0000-0003-2421-1999
25 - name: Veselin Dobrev
26 orcid: 0000-0003-1793-5622
28 - name: Yohann Dudouit
29 orcid: 0000-0001-5831-561X
31 - name: Leila Ghaffari
32 orcid: 0000-0002-0965-214X
34 - name: Tzanio Kolev
35 orcid: 0000-0002-2810-3090
37 - name: David Medina
39 - name: Will Pazner
40 orcid: 0000-0003-4885-2934
42 - name: Thilina Ratnayaka
43 orcid: 0000-0001-6102-6560
45 - name: Jeremy Thompson
46 orcid: 0000-0003-2980-0899
48 - name: Stan Tomov
49 orcid: 0000-0002-5937-7959
52 - name: University of Colorado at Boulder
54 - name: Lawrence Livermore National Laboratory
56 - name: University of Tennessee
58 - name: Occalytics LLC
60 - name: University of Illinois at Urbana-Champaign
64 ---
69 Sparse matrix multiplication and triangular operations perform a scalar multiply and add for each n…
73 Unfortunately, high-quality implementations have been relegated to applications and intrusive frame…
75 …d-user-manual], is a lightweight library that provides a purely algebraic interface for linear and…
76 … portable performance via run-time selection of implementations optimized for CPUs and GPUs, inclu…
77 …fers interfaces in C99 [@C99-lang], Fortran77 [@Fortran77-lang], Python [@Python-lang], Julia [@Ju…
78 …rary developers can integrate `libCEED` at a low level into existing applications in place of exis…
79 Alternatively, users can utilize integrated `libCEED` support in MFEM [@MFEMlibrary; @mfem-paper].
81 …ED` provides a platform for performance engineering and co-design, as well as an algebraic interfa…
85 Consider finite element discretization of a problem based on a weak form with one weak derivative: …
89 … stabilization of the problem [@Brown:2010] and the functions $u$ and $v$ live in a suitable space.
94 …uadrature points, $f$ acts independently at quadrature points, and $W_e$ is a (diagonal) weighting…
95 …a point-block diagonal $D$ and stacking the restrictions $\mathcal E_e$ and basis actions $B_e$ fo…
96 Inhomogeneous Neumann, Robin, and nonlinear boundary conditions can be added in a similar fashion b…
99 …a logical decomposition to define element-based discretizations, with optimized implementations of…
101 `libCEED`'s native C interface is object-oriented, providing data types for each logical object in …
104 ------ ------------ -----------
105 $D$ `CeedQFunction` User-defined action at quadrature points
108 $A$ `CeedOperator` Linear or nonlinear operator acting on L-vectors
110 …rmediate representations) so long as the mathematical properties of the operator $A$ are preserved.
111 A `CeedOperator` is composed of one or more operators defined as in \autoref{fig:decomposition}, an…
112 …ement restriction $\mathcal E$ requires mesh topology and a numbering of DoFs, and may be a no-op …
113 The discrete basis $B$ is the purely algebraic expression of a finite element basis (shape function…
114 Some constructors are provided for arbitrary polynomial degree $H^1$ Lagrange bases with a tensor-p…
115 However, the user can define a `CeedBasis` for arbitrary element topology including tetrahedra, pri…
117 …h `CeedQFunction`, which can either be defined by the user or selected from a gallery distributed …
119 …-refinement and adaptivity (where $h$ commonly denotes the average element size and $p$ the polyno…
120 …a single source implementation (in vanilla C or C++) for the `CeedQFunction`s can be used on CPUs …
122 …e matrices (e.g., for coarse operators in multigrid) and construction of $p$-multigrid prolongatio…
123 Preconditioning matrix-free operators is an active area of research; support for domain decompositi…
125 ![A schematic of element restriction and basis applicator operators for
126 elements with different topology. This sketch shows the independence of Q-functions
127 (in this case representing a Laplacian) on element resolution, topology, and basis degree.\label{fi…
129 # High-level languages
131 `libCEED` provides high-level interfaces in Python, Julia, and Rust, each of which is maintained an…
133 …-cffi]. CFFI allows reuse of most C declarations and requires only a minimal adaptation of some of…
135 …a low-level interface, which is generated automatically from `libCEED`'s C header files, and a hig…
137 …-generated bindings from the `libCEED` C header files, offering increased safety due to Rust owner…
141 \autoref{fig:libCEEDBackends} shows a subset of the backend implementations (backends) available in…
142 … LIBXSMM library [@LIBXSMM]. `libCEED` provides a dynamic interface such that users only need to w…
144 ![`libCEED` provides the algebraic core for element-based discretizations, with specialized impleme…
149 …-design Center for Efficient Exascale Discretization [@CEEDwebsite] has defined a suite of Benchma…
151 …a 2-socket AMD EPYC 7452 (32-core, 2.35GHz) and the \texttt{cuda/gen} backend on LLNL's Lassen sys…
155 …ition and leverage `libCEED`'s full capability for real-world applications, `libCEED` comes with a…
156 …-Stokes equations using SU/SUPG stabilization and implicit, explicit, or IMEX time integration; \a…
157 …-Krylov solvers with $p$-multigrid preconditioners; \autoref{fig:Solids} shows a twisted Neo-Hooke…
159  without writing any `libCEED` Q-functions.
170 …-SC-20-SC), a collaborative effort of two U.S. Department of Energy organizations (Office of Scien…