Lines Matching full:backends

6 Different Ceed backends are selected by instantiating a different {ref}`Ceed` object to create the …
12 …ith a corresponding `CEED_FTABLE_ENTRY` in `/interface/ceed.c` to allow backends to set their own …
13 …the backend specific implementation of the object, typically found in `/backends/[impl]/ceed-[impl…
14 Any supplemental functions intended to be used in the interface or by the backends may be added to …
48 ### CPU Backends
51 This backend contains the basic implementations of most objects that other backends rely upon.
52 Most of the other CPU backends only update the {ref}`CeedOperator` and `CeedTensorContract` objects.
54 The `/cpu/self/ref/blockend` and `/cpu/self/opt/*` backends delegate to the `/cpu/self/ref/serial` …
56 The `/cpu/self/opt/*` backends update the {ref}`CeedOperator` to apply the action of the operator i…
59 …he `/cpu/self/avx/*` and `/cpu/self/xsmm/*` backends delegate to the corresponding `/cpu/self/opt/…
60 These backends update the `CeedTensorContract` objects using AVX intrinsics and libXSMM functions, …
62 The `/cpu/self/memcheck/*` backends delegate to the `/cpu/self/ref/*` backends.
63backends replace many of the implementations with methods that include more verification checks an…
64 These backends rely upon the [Valgrind](https://valgrind.org/) Memcheck tool and Valgrind headers.
66 ### GPU Backends
69 The CUDA and HIP backends are very similar, with minor differences.
70 While the SYCL backend was based upon the CUDA and HIP backends, there are more internal difference…
72 The `/gpu/*/ref` backends provide basic functionality.
73 In these backends, the operator is applied in multiple separate kernel launches, following the libC…
77 The `/gpu/*/shared` backends delegate to the corresponding `/gpu/*/ref` backends.
78 These backends use shared memory to improve performance for the {ref}`CeedBasis` kernels.
82 The `/gpu/*/gen` backends delegate to the corresponding `/gpu/*/shared` backends.
83 These backends write a single comprehensive kernel to apply the action of the {ref}`CeedOperator`, …
86 The `/gpu/*/magma` backends delegate to the corresponding `/gpu/cuda/ref` and `/gpu/hip/ref` backen…
87 These backends provide better performance for {ref}`CeedBasis` kernels but do not have the improvem…
91 Ceed backends are free to use any E-vector and Q-vector data layout (including never fully forming …
103 …- If possible, backends should use {c:func}`CeedElemRestrictionSetELayout()` to use the `t2**` tes…
105 …- Backends may choose to use a non-strided E-vector layout; however, the `t2**` tests will not fun…
110 Backends are free to provide the quadrature points in any order.
117 Backends are responsible for freeing 'owned' memory; 'borrowed' memory is set by the user and backe…
120 Backends are responsible for tracking which memory locations contain valid data.
125 All backends may assume that array access will conform to these guidelines:
151 Backends often manipulate tensors of dimension greater than 2.