rust - tidy exports in prelude
rust - drop extra 'Ceed' in some type names
rust - creation of vector view may fail
rust - add missing ?s
rust - export Result for libceed crate
rust - add QFunction and Operator fields with getters
rust - add num_elements and num_quadrature_points for Operator
rust - rework error handling to simply Rust libCEED object structs
rust - add is_some() and is_none() for vector/elemrestriction/basis/qfunction opts
rust - remove unwrap() in documentation in favor of ?
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>
show more ...
rust/libceed: add README.md in preparation for packaging
rust: update docs and add working version check tests
rust - fix Rust doc deployment action for new crate structure
rust - cargo fmt
rust: split crates into libceed-sys and libceedCo-authored-by: Jeremy L. Thompson <jeremy@jeremylt.org>
123