basis - add num_comp to basis view output
H(div) basis constructor (#878)* backends/interface: added H(div) basis constructor * tests: CEED_EVAL_INTERP/DIV tested for H(div) basis. * Update interface/ceed-basis.c Co-authored-by:
H(div) basis constructor (#878)* backends/interface: added H(div) basis constructor * tests: CEED_EVAL_INTERP/DIV tested for H(div) basis. * Update interface/ceed-basis.c Co-authored-by: Jed Brown <jed@jedbrown.org> * Update interface/ceed-basis.c Co-authored-by: Jed Brown <jed@jedbrown.org> * Update interface/ceed-basis.c Co-authored-by: Jed Brown <jed@jedbrown.org> * Update interface/ceed-basis.c Co-authored-by: Jed Brown <jed@jedbrown.org> * Update interface/ceed-basis.c Co-authored-by: Jed Brown <jed@jedbrown.org> * interface/ceed-basis.c: delete [-1,1] for non-tensor basis constructor * Update interface/ceed-basis.c Co-authored-by: Jed Brown <jed@jedbrown.org> * include/ceed: added CEEDFESpace enum and used it at ceed-basis.c * tests: added t330-basis.out and changed xhat-->x_hat * Changed name convention for CeedElemTopology and CeedFESpace enum. * make style * interface/ceed-basis.c: Added FE space/topology of the basis to CeedBasisView function * tests/output: update ...basis.out file * Changed CEED_FE_TOPO_ ==> CEED_TOPOLOGY_ * backends/ref: delete CeedBasisApplyHdiv_Ref * Update interface/ceed-basis.c Co-authored-by: Jeremy L Thompson <jeremy@jeremylt.org> * Update interface/ceed-basis.c Co-authored-by: Jeremy L Thompson <jeremy@jeremylt.org> * Update include/ceed-impl.h Co-authored-by: Jeremy L Thompson <jeremy@jeremylt.org> * interface/ceed-bassi.c: update CeedBasisView * deleted L2 and H(curl) FE spaces * minor - update output file * minor - update output file * style - consistency with main Co-authored-by: Jed Brown <jed@jedbrown.org> Co-authored-by: Jeremy L Thompson <jeremy@jeremylt.org>
show more ...
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>
Julia: unit tests