minor - update copyright to 2026
rust - more clippy fixes
rust - put less in prelude
minor - upate copyright to 2025
minor - update copyright headers
style - spell rstr consistently
vec/qf - initial valid/borrowed/owned split for data (#853)* vec/qf - initial valid/borrowed/owned split for data * vec/qf - tidy logic for checking active/stale data * minor - add missing NU
vec/qf - initial valid/borrowed/owned split for data (#853)* vec/qf - initial valid/borrowed/owned split for data * vec/qf - tidy logic for checking active/stale data * minor - add missing NULL * doc - explain VectorTakeArray update * minor - update error messages * test - update error message in junit/tap * gpu - fix stray CeedScalar vs void for QFunctionContext * vec/qf - clarify/simplify access logic * vec - calloc host arrays when no value set to make empty * style - minor * style - minor * minor - fix error messages * vec/qf - move data validity checking to backend interface * gpu - add missing sync error checking for qfcontext * gpu - homogonize use of impl for backend data to reduce confusion * vec - clarify access conditions * python - update test for stricter vector access * vec - minor fixes * minor - fix ipython change * vec - add missing declarations in ceed/backend.h * ctx - mirror vector borrowed data check in ctx interface * vec - add CeedVectorGetArrayWrite * vec - consistent use of CeedVectorGetArray vs CeedVectorGetArrayWrite * python - small vec fixes * doc - describe vector data semantics * magma - update restriction * gpu - fix restr bug I added, need to sum into target * magma - fix restriction bug * cpu - fix restriction bug here too * op - fix evec allocations * julia - fix ElemRestriction for new vector access rules * op - double check GetArray vs Read vs Write usage * doc - small fix * restr - clean up read/write logic for restr * python - add vec.array_write * magma - typo fix
show more ...
rust - fix some stray unwrap()s
rust - creation of vector view may fail
rust - export Result for libceed crate
Allow CeedScalar to be single precision (#788)One can modify `ceed.h` to include `ceed-f32.h` and then use single precision. This is tested for C in CI and has been tested by developers with Rust,
Allow CeedScalar to be single precision (#788)One can modify `ceed.h` to include `ceed-f32.h` and then use single precision. This is tested for C in CI and has been tested by developers with Rust, Julia, and Python. This interface is evolving and should be considered experimental at this time (thus lack of automated build support). * Introduce CeedScalarType enum * WIP changes to allow different definitions of CeedScalar * Introduce new header files for float and double * Only use avx tensor contract and MAGMA non-tensor basis if CeedScalar is double * WIP changes to allow CeedScalar to be float * WIP start trying to adjust test tolerances for float or double * fix typos in comments * install ceed-f32/64 headers * Fix missing casts for hipMAGMA element restrictions * make CeedQFunctionContextGetContextSize available for Python bindings * Changes to Python bindings to allow CeedScalar to be float * WIP adjust Python tests for float or double * make style * remove QFunctionContextGetContextSize from backend header * Use quotes instead of <> in include statement * Remove unncessary includes * Update tolerances for tests * [Julia] allow CeedScalar to be Float32 * [Julia] Use Preferences instead of custom build configuration # Conflicts: # julia/LibCEED.jl/src/C.jl * [Makefile] Change definition of CC_VENDOR so it works with cross-compilation * [Julia] Use Preferences in CI # Conflicts: # .github/workflows/julia-test-with-style.yml * [Julia] Update docs about preferences * [Julia] Add test/Project.toml workaround for Preferences * Add CeedGetScalarType to get the type of CeedScalar at runtime * [Julia] Move functions from Ceed.jl to LibCEED.jl * [Julia] Add support for getting library path and scalar type at runtime * [Julia] Minor change to checking if CUDA is loaded * [Julia] Check correct CeedScalar types in basis functions * [Julia] Fix tests comparing with output file * [Julia] Change devtests to use CeedScalar instead of Float64 * Update test 402 so context will be same size in double or float * Update tolerances for ceed examples * [Julia] CUDA fixes * remove unused variable in t208 * SchurDecomposition: do not compute tau on final iteration * Update tolerances for some basis tests (for single precision) * Make style * Python style fixes for basis test * Add single precision output for t300 and t320 and adjust checks; skip t541 in single * Add LCOV exclusions after moving to new line * fix spacing * Python: make CEED_EPSILON available as libceed.EPSILON * Python: optional parameter to specify different output file for test comparison * Python: update tests' use of EPSILON and change test_300 output file for single precision * Python: add convenience function for getting dtype corresponding to CeedScalar * rust - add single precision support * [Julia] Fall back on Float64 if CeedGetScalarType is not available * [Julia] style * Adjust tolerance for t301 * xsmm - add single precision support * avx - add single precision support * Add initial single precision support for MAGMA non-tensor basis * Skip t300 and t320 in single precision; revert Python t300 changes * Revert output changes for t300 and t320 in junit * [Julia] Changes to autogenerated bindings for mixed precision * [Julia] style * [Julia] Check scalar type when changing libceed library path The check is also performed when the package is loaded. This prevents having to restart the Julia session twice * [Julia] Require JLLWrappers version 1.3 This is needed to use Preferences to change the library path * Add documentation page for precision development Co-authored-by: Will Pazner <will.e.p@gmail.com> * Cleanup from merge: remove old README * Return CEED_ALIGN to backend.h * Make Fortran compiler (FC) optional; empty skips Fortran tests Use in Python and Rust builds, which may not have a Fortran compiler installed and thus would produce confusing output. * Add single precision CI test for Noether Co-authored-by: Jeremy L Thompson <jeremy@jeremylt.org> Co-authored-by: Will Pazner <will.e.p@gmail.com> Co-authored-by: Jeremy L Thompson <jeremy@jeremylt.org> Co-authored-by: Jed Brown <jed@jedbrown.org>
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
Rust - add examples (#683)* Rust - initial version of ex1 Example - move closure Co-authored-by: Jed Brown <jed@jedbrown.org> typo fix Co-authored-by: Jed Brown <jed@jedbrown.org> mi
Rust - add examples (#683)* Rust - initial version of ex1 Example - move closure Co-authored-by: Jed Brown <jed@jedbrown.org> typo fix Co-authored-by: Jed Brown <jed@jedbrown.org> minor tidying order -> degree drop operator applicaiton messages * rust: make top-level workspace and use libceed from path This allows a single "cargo test" from the top level. * rust: add version-sync (to help us remember when we publish a crate) * examples - consistency update * Rust - add Cargo.lock to top level gitignore * rust - refactor example to add tests * Rust - test and style from workspace * Rust - update year in header * Rust - add error values to Error, switch to String * Rust - add input validation in check * Rust - format volume output in example * Rust - update example help output * Rust - example tests rename to simplify * Rust - split example 1 into 3 parts * rust: std::sync::Once for CeedRegisterAll() * Promote CeedRegisterAll() and CeedQFunctionRegisterAll() to User * Guard calls to CeedInit() to avoid races in parallel testing * Examples - update rust example to new builder syntax * Examples - add rust ex2 * Rust - add CEED_STRIDES_BACKEND * Examples - drop unused restriction in ceed ex2 * Rust - minor documentation update * Rust - adopt convention of 'dimension-like' values all using usize; reduces casting * Actions - add Rust code coverage * Rust - fix usize conversion * Rust - update casting between i32(C interface) and usize(Rust interface) * Actions - include Rust doctests * Actions - Rust doctest coverange only avaliable in nightly * Rust - drop explict typing of values passed to C get* functions * Rust - modify version numbers tests, cargo-tarpaulin and cargo have different calling paths in tests * cargo fmt * Examples - add separate Rust example quiet mode * Actions - rustfmt not always avaliable on nightly * Rust - simplify version tests * Actions - add a few notes * CodeCov - try adding gallery to 'fixes' * CodeCov - drop some codecov noise in examples * Examples - test all combinations in ex1/ex2 * Rust - test 3d examples without quiet flag * Actions - use gcc-10 for compatibility in gcov reports * Examples - test gallery in 1/2/3d in Rust ex * Gitlab - also report gcov version * JUnit - adjust indentation * Gitlab - make it easier to find complier info in logs * Tests - fix minor styling strangeness in t002 * Actions - only upload rust coverage * Actions - exclude non-rust files from rust coverage * Cov - exclude weak symbols code, not useful cov info * Examples - clean up options creation for tests in Rust examples * Examples - simplify tolerance for testing Rust examples * cargo fmt * Examples - another match * Examples - common Rust example code in shared local crate Co-authored-by: Jed Brown <jed@jedbrown.org>