minor - style consistency
gallery - add scalar scaling qf
minor - update copyright to 2026
minor - upate copyright to 2025
minor - update copyright headers
Docstring consistency (#1409)* doc - docstring consistency * doc - update for bad linking of type names * doc - update for bad linking of type names
internal - add CeedCheck macro to reduce repetition
IWYU fixes (#1182)* iwyu - include fixes * iwyu - silence some iwyu output * minor - clearer macro names * iwyu - fix suggestion of "ceed/ceed.h" externally * iwyu - lighter petsc heade
IWYU fixes (#1182)* iwyu - include fixes * iwyu - silence some iwyu output * minor - clearer macro names * iwyu - fix suggestion of "ceed/ceed.h" externally * iwyu - lighter petsc headers * iwyu - ceed/ceed.h -> ceed.h * iwyu - cuda/hip include fixes
show more ...
minor - assorted formatting fixes
Switch to clang-format (#1051)* style - switch to clang-format * ci - use newer libxsmm * action - update format action * format - consistent use of {} for multi-line if/for * make - re
Switch to clang-format (#1051)* style - switch to clang-format * ci - use newer libxsmm * action - update format action * format - consistent use of {} for multi-line if/for * make - remove stray newline * make - simpler 'make format' target * ci - use newer libxsmm * doc - minor release note claification * minor - minor fix * minor - minor fix * minor - minor fix * minor - minor fix * make format * format - less aggressive alignment rules * tidy - check for argument name mismatches * fix newline * format - mirror Ratel update to .clang-format * fix merge error * fix merge conflict * fix merge error * drop style in .phony list * Update .clang-format Co-authored-by: Jed Brown <jed@jedbrown.org> * apply updated format Co-authored-by: Jed Brown <jed@jedbrown.org>
move include/ceed-jit-source to include/ceed/jit-source
jit - use relpath from include/ceed-jit-source for jit source files
Install install backend headers under include/ceed/This makes it possible to distribute source plugins that provideadditional backends. It's also used in MFEM, perhaps temporarily.Deprecate ceed
Install install backend headers under include/ceed/This makes it possible to distribute source plugins that provideadditional backends. It's also used in MFEM, perhaps temporarily.Deprecate ceed-backend.h, which was not previously installed, but someusers accessed it from an in-place build.Also install CUDA and HIP headers that allow users to provide CUfunctionand hipFunction_t.Co-authored-by: Jeremy L. Thompson <jeremy.thompson@colorado.edu>Requested-by: Andrew T. Barker <barker29@llnl.gov>
Error Handling Improvement [fix #696] (#691)* Operator - add operator/qfunction field compatibility checks * QFunction - do not allow adding fields to QFunction in use with an operator * Exam
Error Handling Improvement [fix #696] (#691)* Operator - add operator/qfunction field compatibility checks * QFunction - do not allow adding fields to QFunction in use with an operator * Examples - add some extra exclusion markers in ceed example * error - add error enum * error - update error enum names and numbering * error - use CEED_ERROR_BACKEND in all backend errors * error - begin classifying interface errors * error - update backends to use CEED_ERROR_SUCCESS and CeedChkBackend * error - use new errors in gallery * error - add some unsaved modifications * error - improve documentation * error - define CEED_ERROR_SUCCESS in GPU JiT; we really should have a common header to pipe defines to the JiT code * error - more error code editing * error - fix error string * operator - fix setting field qpts * basis - add input/output dimension error checking * python - move basis utility methods to ceed object, no basis required or used * python - force exit with negative error code * make style-py * rust - initial work to add error handling logic * rust - add ceed.resource method * rust - add results for methods that may fail * rust - also format doctests * minor - drop unused CeedChk() * error - rename terminal/nonterminal to major/minor * rust - set ErrorStore as default errorhandler * python - revert error handing change for python * python - use success error code from C bindings * error - only upgrade error code in backend if positive
headers - clearify includes to not rely on transitive includes (#701)* headers - clearify includes to not rely on transitive includes * style - add header recommendations from 'include-what-you-
headers - clearify includes to not rely on transitive includes (#701)* headers - clearify includes to not rely on transitive includes * style - add header recommendations from 'include-what-you-use' * style - apply 'include-what-you-use' changes to CUDA backends * style - 'include-what-you-use' for hip backends * style - drop ceed.h includes in gallery qf source * docs - add dev notes for header files * style - header style and alphabetize
Add static library (libceed.a) [resolve #670]We no longer use __attribute__((constructor)) to register backends andgallery implementations because we can't ensure that the symbols arelinked into
Add static library (libceed.a) [resolve #670]We no longer use __attribute__((constructor)) to register backends andgallery implementations because we can't ensure that the symbols arelinked into applications that link the static library. We've switched tocreating CeedRegisterAll() and CeedQFunctionRegisterAll(), which arecalled automatically by the library, and call weak symbols to registerall the backend/gallery implementations. This strategy was partlymotivated by not wanting to have preprocessor macros describing what isavailable, and the associated need to recompile rather than just relinkwhen those macros change.So we now have backends/ceed-backend-list.h that declares all thebackends wrapped in a macro. It is included bybackends/ceed-backend-weak.c to create weak definitions of all thebackends. In the makefile, we sort so this comes last when linking ashared or static library, and thus these weak symbols will only bepicked up if they were not defined by the actual backend source files.The same header is included (with different macro wrapping) ininterface/ceed-register.c, where CeedRegisterAll() is defined.To add a new backend, one must do essentially the same registrationstrategy as in the past, plus add one line to the commonceed-backend-list.h.
Op - add interface for multigrid level creation (#579)* Op - add interface for multigrid level creation * Op - add implementation for OperatorMultigridLevelCreate * make style * make tidy
Op - add interface for multigrid level creation (#579)* Op - add interface for multigrid level creation * Op - add implementation for OperatorMultigridLevelCreate * make style * make tidy * Op - add test t550, fix errors * Tests - add Fortran version of t550 * Tests - add t511 for testing tensor basis multigrid level setup * make style and tidy * Tests - fix t55* memory leaks * Tests - add t552 for non-tensor basis multigrid levels * CUDA - use CeedIntMax in shared CUDA backend * Tests - add OCCA test exception for t55* * Op - add lvector global prolongation multiplicity, simplifies user interface * Solids - convert example to new interface * make style * Tests - convert t550 to multicomponent * Solids - drop unused ceed_fine * Python - add new multigrid level interface * Python - fix operator wrap, use ceed python obj rather than ceed pointer * Gallery - update comment slightly * Tests - remove accidental duplicate test * Multigrid - add size=2 case as well * Operator - drop unneeded inline * QFunction - simplify context ownership to match vector * make style * Python - update multigrid function signature * Operator - refactor prolong/restrict qfunctions as scaling qfunctions * Vector - add testing for reciprocal and add to Fortran/Python interfaces * CUDA - add VectorReciprocal on device * Gallery - drop specalized versions for 'Scale', wil fix performance hit later * Hip - add vector reciprocal * Operator - add more flexible prologation basis creation interface * Vec - make sure data is set for VectorReciprocal * Tests - drop ncomp for t550/1 so kernel is not too large for Magma backend * Tests - add missing lcov markers * make style * Travis - allow ARM job to fail * Travis - fix intel install * Travis - try different install dir name for inteloneapi * Travis - add ifort, ipp packages * Tests - add missing lcov marker