libCEED icon indicating copy to clipboard operation
libCEED copied to clipboard

v0.13

Open jeremylt opened this issue 1 year ago • 0 comments

~~Blocked by #1788~~ ~~Blocked by #1711~~ ~~Blocked by #1653~~

Draft release notes:

New features

  • Add CeedOperatorCreateAtPoints which evaluates the CeedQFunction at arbitrary locations in each element, for use in Particle in Cell, Material Point Method, and similar methods.
  • Add CeedElemRestrictionGetLLayout to provide L-vector layout for strided CeedElemRestriction created with CEED_BACKEND_STRIDES.
  • Add CeedVectorReturnCeed and similar when parent Ceed context for a libCEED object is only needed once in a calling scope.
  • Enable #pragma once for all JiT source; remove duplicate includes in JiT source string before compilation.
  • Allow user to set additional compiler options for CUDA and HIP JiT. Specifically, directories set with CeedAddJitSourceRoot(ceed, "foo/bar") will be used to set -Ifoo/bar and defines set with CeedAddJitDefine(ceed, "foo=bar") will be used to set -Dfoo=bar.
  • Added non-tensor basis support to code generation backends /gpu/cuda/gen and /gpu/hip/gen.
  • Added support to code generation backends /gpu/cuda/gen and /gpu/hip/gen for operators with both tensor and non-tensor bases.

Interface changes

  • Add bool field type for CeedQFunctionContext and related interfaces to use bool fields.
  • CEED_BASIS_COLLOCATED removed; users should only use CEED_BASIS_NONE.
  • Remove unneeded pointer for CeedElemRestrictionGetELayout.
  • Change QFunction source include file handling in JiT compilers
    • Add CEED_RUNNING_JIT_PASS compiler definition for wrapping header files that device JiT compilers cannot read
    • Users should now prefer #include <ceed/types.h> rather than #include <ceed.h> in QFunction source files
  • Require use of Ceed*Destroy() on Ceed objects returned from Ceed*Get*().

jeremylt avatar Dec 02 '24 19:12 jeremylt