| /libCEED/ |
| H A D | .codecov.yml | 5 - "build/backends/::backends/" 21 backends: 23 - backends 29 backends: 31 - backends 40 backends: 42 - backends/
|
| H A D | README.md | 67 Note that SYCL backends require building with oneAPI compilers as well: 144 ## Backends section in libCEED: Efficient Extensible Discretization 146 There are multiple supported backends, which can be selected at runtime in the examples: 160 | `/cpu/self/memcheck/*` | Memcheck backends, undefined value checks | Yes … 187 The `/cpu/self/*/serial` backends process one element at a time and are intended for meshes with a … 188 The `/cpu/self/*/blocked` backends process blocked batches of eight interlaced elements and are int… 190 The `/cpu/self/ref/*` backends are written in pure C and provide basic functionality. 192 The `/cpu/self/opt/*` backends are written in pure C and use partial e-vectors to improve performan… 194 The `/cpu/self/avx/*` backends rely upon AVX instructions to provide vectorized CPU performance. 196 The `/cpu/self/memcheck/*` backends rely upon the [Valgrind](https://valgrind.org/) Memcheck tool t… [all …]
|
| H A D | Makefile | 289 …ot-$(if $(for_install),default,install).c, $(wildcard interface/ceed*.c backends/weak/*.c gallery/… 293 # Backends 295 ref.c := $(sort $(wildcard backends/ref/*.c)) 296 blocked.c := $(sort $(wildcard backends/blocked/*.c)) 297 ceedmemcheck.c := $(sort $(wildcard backends/memcheck/*.c)) 298 opt.c := $(sort $(wildcard backends/opt/*.c)) 299 avx.c := $(sort $(wildcard backends/avx/*.c)) 300 xsmm.c := $(sort $(wildcard backends/xsmm/*.c)) 302 cuda.c := $(sort $(wildcard backends/cuda/*.c)) 303 cuda.cpp := $(sort $(wildcard backends/cuda/*.cpp)) [all …]
|
| H A D | .gitlab-ci.yml | 14 # Memcheck backends + ASAN 38 - BACKENDS_CPU=$(make info-backends-all | grep -o '/cpu[^ ]*' | tr '\n' ' ') 48 …- make -k -j$((NPROC_CPU / NPROC_POOL)) BACKENDS="$BACKENDS_CPU" JUNIT_BATCH="memcheck" junit real… 63 # CPU backends only + make tidy 79 # Libraries for backends 87 - BACKENDS_CPU=$(make info-backends-all | grep -o '/cpu[^ ]*' | tr '\n' ' ') 98 …- make -k -j$((NPROC_CPU / NPROC_POOL)) BACKENDS="$BACKENDS_CPU" JUNIT_BATCH="cpu" junit realsearc… 103 …- make -k -j$((NPROC_CPU / NPROC_POOL)) BACKENDS="$BACKENDS_CPU" JUNIT_BATCH="cpu" junit search="p… 107 …- make -k -j$((NPROC_CPU / NPROC_POOL)) BACKENDS="$BACKENDS_CPU" JUNIT_BATCH="cpu" junit search=mf… 113 …- make -k -j$NPROC_CPU BACKENDS="$BACKENDS_CPU" JUNIT_BATCH="cpu" junit search=nek NEK5K_DIR=$NEK5… [all …]
|
| /libCEED/doc/sphinx/source/ |
| H A D | libCEEDdev.md | 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/… [all …]
|
| H A D | gpu.md | 3 Runtime selection of libCEED backends allows users to use CPU backends for easier debugging. 4 Code that produces correct results with CPU backends will produce correct results on GPU backends, … 13 …ntents of this source file and all included files are used during JiT compilation for GPU backends. 16 These source file must only contain syntax constructs supported by C99 and all targeted backends (i… 22 GPU backends require stricter adherence to memory access assumptions, but CPU backends may occasion… 30 The `/cpu/self/memcheck` backends explicitly verify read-only and write-only memory access assumpti…
|
| H A D | releasenotes.md | 29 - Added non-tensor basis support to code generation backends `/gpu/cuda/gen` and `/gpu/hip/gen`. 30 - Added support to code generation backends `/gpu/cuda/gen` and `/gpu/hip/gen` for operators with b… 40 - OCCA backends were retired. 55 - Update `/cpu/self/memcheck/*` backends to help verify `CeedVector` array access assumptions and `… 57 - Added Sycl backends `/gpu/sycl/ref`, `/gpu/sycl/shared`, and `/gpu/sycl/gen`. 98 - Update `/cpu/self/memcheck/*` backends to help verify `CeedQFunctionContext` data sizes provided … 108 - Fix bug in setting device id for GPU backends. 109 - Fix storing of indices for `CeedElemRestriction` on the host with GPU backends. 134 - Enabled support for `p > 8` for `/gpu/*/shared` backends. 148 … MAGMA backends to use runtime compilation for tensor basis kernels (and element restriction kerne… [all …]
|
| H A D | intro.md | 24 … illustrated in {numref}`fig-libCEED-backends`, where a non-exhaustive list of specialized impleme… 27 …tion at run time. Moreover, each process or thread can instantiate an arbitrary number of backends. 29 (fig-libceed-backends)=
|
| H A D | libCEEDapi.md | 182 …in turn, can represent one or more physical devices, as long as libCEED backends support such conf… 200 … is that it already includes all the finite element information, so the backends can operate on li… 202 The separation of the front- and backends enables applications to easily switch/try different backe… 207 [ceed-ref.c](https://github.com/CEED/libCEED/blob/main/backends/ref/ceed-ref.c). 262 This is used by backends that support Just-In-Time (JIT) compilation (i.e., CUDA and HIP) to compil… 263 For full support across all backends, these {ref}`CeedQFunction` source files must only contain con… 390 LibCEED is intended to be extensible via backends that are packaged with the library and packaged s… 391 Backends are registered by calling 393 ```{literalinclude} ../../../backends/ref/ceed-ref.c 405 We have less experience with external packaging of backends and do not presently guarantee source o… [all …]
|
| /libCEED/interface/ |
| H A D | ceed-register.c | 15 #include "../backends/ceed-backend-list.h" 19 @brief Register all pre-configured backends. 22 Users can call @ref CeedRegister() to register additional backends. 35 CeedDebugEnv256(CEED_DEBUG_COLOR_SUCCESS, "\n---------- Registering Backends ----------\n"); in CeedRegisterAll() 38 #include "../backends/ceed-backend-list.h" in CeedRegisterAll()
|
| H A D | ceed.c | 28 } backends[32]; variable 111 Note: Backends should call @ref CeedRegister() instead. 127 if (num_backends < sizeof(backends) / sizeof(backends[0])) { in CeedRegisterImpl() 128 strncpy(backends[num_backends].prefix, prefix, CEED_MAX_RESOURCE_LEN); in CeedRegisterImpl() 129 backends[num_backends].prefix[CEED_MAX_RESOURCE_LEN - 1] = 0; in CeedRegisterImpl() 130 backends[num_backends].init = init; in CeedRegisterImpl() 131 backends[num_backends].priority = priority; in CeedRegisterImpl() 137 CeedCheck(ierr == 0, NULL, CEED_ERROR_MAJOR, "Too many backends"); in CeedRegisterImpl() 1139 // Only report compiled backends in CeedRegistryGetList() 1140 if (backends[i].priority < CEED_MAX_BACKEND_PRIORITY) { in CeedRegistryGetList() [all …]
|
| /libCEED/rust/libceed-sys/c-src/ |
| H A D | Makefile | 289 …ot-$(if $(for_install),default,install).c, $(wildcard interface/ceed*.c backends/weak/*.c gallery/… 293 # Backends 295 ref.c := $(sort $(wildcard backends/ref/*.c)) 296 blocked.c := $(sort $(wildcard backends/blocked/*.c)) 297 ceedmemcheck.c := $(sort $(wildcard backends/memcheck/*.c)) 298 opt.c := $(sort $(wildcard backends/opt/*.c)) 299 avx.c := $(sort $(wildcard backends/avx/*.c)) 300 xsmm.c := $(sort $(wildcard backends/xsmm/*.c)) 302 cuda.c := $(sort $(wildcard backends/cuda/*.c)) 303 cuda.cpp := $(sort $(wildcard backends/cuda/*.cpp)) [all …]
|
| /libCEED/include/ceed/ |
| H A D | types.h | 45 …rect function annotations for User QFunction source for code generation backends or populates defa… 46 backends. It also creates a variable `name_loc` populated with the correct source path for creating… 56 …t-based User QFunction source for code generation backends or populates default values for CPU bac… 83 …notations for User QFunction helper function source for code generation backends or populates defa… 84 values for CPU backends. 94 This macro allows users to use the VLA syntax with the CUDA backends. 103 Code generation backends may redefine this macro, as needed.
|
| /libCEED/benchmarks/ |
| H A D | README.md | 4 backends. 17 Multiple backends, benchmark problems, and processor configurations can be
|
| H A D | benchmark.sh | 63 -c|--ceed \"list\" choose the libCEED backends to benchmark 74 backends. 217 ### Loop over backends
|
| /libCEED/doc/papers/joss/ |
| H A D | paper.md | 110 `libCEED` implementations ("backends") are free to reorder and fuse computational steps (including … 139 # Backends chapter 141 \autoref{fig:libCEEDBackends} shows a subset of the backend implementations (backends) available in… 142 …Moreover, each process or thread can instantiate an arbitrary number of backends on an arbitrary n… 145 (backends) for heterogeneous architectures.\label{fig:libCEEDBackends}](img/libCEEDBackends.png) 165 …ass `-d ceed-cuda:/gpu/cuda/gen` to use a `libCEED` CUDA backend, and similarly for other backends.
|
| /libCEED/rust/libceed/ |
| H A D | README.md | 40 …on](https://libceed.org/en/latest/gettingstarted/#backends) for more information on available back…
|
| /libCEED/tests/ |
| H A D | t409-qfunction.c | 70 // Only the `/cpu/self/memcheck/*` backends verify that in main() 81 // Will only error in `/cpu/self/memcheck/*` backends in main()
|
| /libCEED/backends/ |
| H A D | ceed-backend-list-xsmm.h | 10 // This is also used to create weakly linked registration functions in `backends/weak/ceed-*-weak.c…
|
| H A D | ceed-backend-list-avx.h | 10 // This is also used to create weakly linked registration functions in `backends/weak/ceed-*-weak.c…
|
| H A D | ceed-backend-list-memcheck.h | 10 // This is also used to create weakly linked registration functions in `backends/weak/ceed-*-weak.c…
|
| H A D | ceed-backend-list-sycl.h | 10 // This is also used to create weakly linked registration functions in `backends/weak/ceed-*-weak.c…
|
| H A D | ceed-backend-list-hip.h | 10 // This is also used to create weakly linked registration functions in `backends/weak/ceed-*-weak.c…
|
| H A D | ceed-backend-list-cuda.h | 10 // This is also used to create weakly linked registration functions in `backends/weak/ceed-*-weak.c…
|
| H A D | ceed-backend-list-magma.h | 10 // This is also used to create weakly linked registration functions in `backends/weak/ceed-*-weak.c…
|