| 3d576824 | 29-Jan-2021 |
Jeremy L Thompson <25011573+jeremylt@users.noreply.github.com> |
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
show more ...
|
| 1d013790 | 14-Dec-2020 |
Jed Brown <jed@jedbrown.org> |
Add static library (libceed.a) [resolve #670]
We no longer use __attribute__((constructor)) to register backends and gallery implementations because we can't ensure that the symbols are linked into
Add static library (libceed.a) [resolve #670]
We no longer use __attribute__((constructor)) to register backends and gallery implementations because we can't ensure that the symbols are linked into applications that link the static library. We've switched to creating CeedRegisterAll() and CeedQFunctionRegisterAll(), which are called automatically by the library, and call weak symbols to register all the backend/gallery implementations. This strategy was partly motivated by not wanting to have preprocessor macros describing what is available, and the associated need to recompile rather than just relink when those macros change.
So we now have backends/ceed-backend-list.h that declares all the backends wrapped in a macro. It is included by backends/ceed-backend-weak.c to create weak definitions of all the backends. In the makefile, we sort so this comes last when linking a shared or static library, and thus these weak symbols will only be picked up if they were not defined by the actual backend source files. The same header is included (with different macro wrapping) in interface/ceed-register.c, where CeedRegisterAll() is defined.
To add a new backend, one must do essentially the same registration strategy as in the past, plus add one line to the common ceed-backend-list.h.
show more ...
|
| 777ff853 | 14-Aug-2020 |
Jeremy L Thompson <25011573+jeremylt@users.noreply.github.com> |
QFunction Context Data Object (#596)
* Ctx - create context object for QFunction context data
* Context - rename UserContext -> QFunctionContext
* Ctx - add lcov markers
* Ctx - fix leak in
QFunction Context Data Object (#596)
* Ctx - create context object for QFunction context data
* Context - rename UserContext -> QFunctionContext
* Ctx - add lcov markers
* Ctx - fix leak in identity QFunctions
* Hip/Cuda - rename sync functions for vector/context
* Tests - lcov marker update
* QFunction - drop unused function
* Python - fix copy-paste errors
* Ctx - update notes for Fortran usage
* Fortran - drop unneeded cast
Co-authored-by: Jed Brown <jed@jedbrown.org>
* Interface - use void* for SetData interfaces
* Make - use call quiet for NVCC
* Interface - use void* for GetData interfaces
* Make - add quiet call option for examples
* Makefile - create common makefile to reduce duplication/complexity in example makefiles
Co-authored-by: Jed Brown <jed@jedbrown.org>
show more ...
|
| d99fa3c5 | 28-Jul-2020 |
Jeremy L Thompson <25011573+jeremylt@users.noreply.github.com> |
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
show more ...
|
| 5f67fade | 26-Jun-2020 |
Jeremy L Thompson <thompson.jeremy.luke@gmail.com> |
spellcheck |
| 9525855c | 17-Jun-2020 |
Jeremy L Thompson <thompson.jeremy.luke@gmail.com> |
Ceed - add IsDeterministic |
| 599c6f32 | 24-Jun-2020 |
Jeremy L Thompson <thompson.jeremy.luke@gmail.com> |
XSMM - switch to LIBXSMM 143409c, reverted redefiniton of _Bool |
| 0131da11 | 19-Jun-2020 |
Jeremy L Thompson <thompson.jeremy.luke@gmail.com> |
XSMM - use v1.16 |
| fd364f38 | 15-Jun-2020 |
Jeremy L Thompson <thompson.jeremy.luke@gmail.com> |
style - change Get*Status to Is* |
| 20aaa365 | 08-May-2020 |
Jeremy L Thompson <25011573+jeremylt@users.noreply.github.com> |
XSMM - fix q=1 index computation (#531)
* XSMM - use hash table for kernel index lookup, add khash to libCEED
* Hash - add CeedHashIJKLM to simplify xsmm tensor hash table code
* simplify use
XSMM - fix q=1 index computation (#531)
* XSMM - use hash table for kernel index lookup, add khash to libCEED
* Hash - add CeedHashIJKLM to simplify xsmm tensor hash table code
* simplify use of hash table, use kernels as values
* XSMM: more idiomatic use of khash
* make style
Co-authored-by: Jed Brown <jed@jedbrown.org>
show more ...
|
| ae1e60e6 | 17-Dec-2019 |
jeremylt <jeremy.thompson@colorado.edu> |
XSMM - release JiT kernels |
| f10650af | 17-Dec-2019 |
jeremylt <jeremy.thompson@colorado.edu> |
CPU - add comment blocks at top of all backend functions |
| 7f823360 | 16-Oct-2019 |
jeremylt <jeremy.thompson@colorado.edu> |
Make style |
| a6ce9a80 | 18-Sep-2019 |
jeremylt <jeremy.thompson@colorado.edu> |
XSMM - Minor style cleanup |
| 71c1ae0c | 18-Sep-2019 |
jeremylt <jeremy.thompson@colorado.edu> |
XSMM - drop unused tensor contract fallback when C != 1 |
| c042f62f | 18-Sep-2019 |
Jeremy L Thompson <25011573+jeremylt@users.noreply.github.com> |
Codecov Exceptions (#356)
* Tests - Add lcov exceptions to t304-f/t305-f
* Backends - add lcov exceptions for error messages intentionally not tested
* Interface - add lcov exceptions for erro
Codecov Exceptions (#356)
* Tests - Add lcov exceptions to t304-f/t305-f
* Backends - add lcov exceptions for error messages intentionally not tested
* Interface - add lcov exceptions for error messages intentionally not tested
* Tests - additional lcov exceptions
show more ...
|
| 6f7d248d | 12-Jul-2019 |
jeremylt <jeremy.thompson@colorado.edu> |
Update CPU backends to give default for /cpu/self/*** |
| e0fc0447 | 12-Jul-2019 |
jeremylt <jeremy.thompson@colorado.edu> |
Fix resource strcmp in xsmm backends |
| a4999edd | 24-May-2019 |
jeremylt <jeremy.thompson@colorado.edu> |
Update Ceed Delegate refrencing |
| 89c6efa4 | 03-May-2019 |
jeremylt <jeremy.thompson@colorado.edu> |
Use blocking in optimized serial backends |
| 8d75ea1b | 18-Apr-2019 |
jeremylt <jeremy.thompson@colorado.edu> |
Fix include statements |
| 656dd4b7 | 24-Mar-2019 |
jeremylt <jeremy.thompson@colorado.edu> |
Add error message if XSMM kernel fails to build |
| 3d0fd664 | 21-Mar-2019 |
jeremylt <jeremy.thompson@colorado.edu> |
Add kernel caching to XSMM backend
Make style and comment updates
XSMM tensor ind logic fix
Logic cleanup |
| c71e1dcd | 20-Mar-2019 |
jeremylt <jeremy.thompson@colorado.edu> |
Add Basis argument to TensorContractCreate |
| 2f86a920 | 13-Mar-2019 |
Jeremy L Thompson <25011573+jeremylt@users.noreply.github.com> |
Add CeedTensorContract object (#211) |