| 0b454692 | 22-Apr-2021 |
jeremylt <thompson.jeremy.luke@gmail.com> |
op - impl restriction only identity operators for CPU, error on code gen GPU backends |
| 6dbfb411 | 05-Apr-2021 |
nbeams <246972+nbeams@users.noreply.github.com> |
Update device ID selection for HIP/CUDA backends; add for MAGMA backends |
| ec3da8bc | 26-Mar-2021 |
Jed Brown <jed@jedbrown.org> |
Install install backend headers under include/ceed/
This makes it possible to distribute source plugins that provide additional backends. It's also used in MFEM, perhaps temporarily.
Deprecate ceed
Install install backend headers under include/ceed/
This makes it possible to distribute source plugins that provide additional backends. It's also used in MFEM, perhaps temporarily.
Deprecate ceed-backend.h, which was not previously installed, but some users accessed it from an in-place build.
Also install CUDA and HIP headers that allow users to provide CUfunction and hipFunction_t.
Co-authored-by: Jeremy L. Thompson <jeremy.thompson@colorado.edu> Requested-by: Andrew T. Barker <barker29@llnl.gov>
show more ...
|
| e15f9bd0 | 20-Mar-2021 |
Jeremy L Thompson <25011573+jeremylt@users.noreply.github.com> |
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
show more ...
|
| 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 ...
|
| 461525f5 | 17-Sep-2020 |
Natalie Beams <246972+nbeams@users.noreply.github.com> |
Consolidate CUDA backends (#623)
* Travis - allow icc failure for now
* move cuda-reg basis init kernels to cuda-shared
* move cuda-reg restrictions to cuda-ref
* change delegate ceeds for
Consolidate CUDA backends (#623)
* Travis - allow icc failure for now
* move cuda-reg basis init kernels to cuda-shared
* move cuda-reg restrictions to cuda-ref
* change delegate ceeds for previous uses of cuda-reg
* remove cuda-reg backend
* update hip restrictions to match cuda
* update backends list in README
* make style
* update release notes for removal of cuda-reg
Co-authored-by: jeremylt <thompson.jeremy.luke@gmail.com>
show more ...
|
| 18d499f1 | 17-Sep-2020 |
Yohann <dudouit1@llnl.gov> |
Enable under-integration for cuda-shared and cuda-gen backends (#620)
* Support under integration in cuda-shared.
* Add under-integration to the cuda-gen backend.
* Fix bugs when under-integ i
Enable under-integration for cuda-shared and cuda-gen backends (#620)
* Support under integration in cuda-shared.
* Add under-integration to the cuda-gen backend.
* Fix bugs when under-integ in cuda-shared.
* Factor some code.
* Factor some code in cuda-gen.
* Guard more carefully.
* Introduce T1d.
* Fix a bug in readQuads3d
* Fix bugs in 3D.
* Fix a typo
* Safety init.
* Try something with ContractZ3d.
* Guard the add
* revert add.
* Add more thread guards
* Same as previous
* Fix a bug in add.
* style.
* Check that the bases are tensor in cuda-gen.
* move isTensor
* Add T1d to cuda-gen and guard contractions.
* Fix typos.
* add guards in 1d.
* Rewrite weight functions.
* typo
* CUDA - fix cuda-gen collocated check
* make style.
Co-authored-by: jeremylt <thompson.jeremy.luke@gmail.com>
show more ...
|
| 64d3f0c0 | 26-Aug-2020 |
jeremylt <thompson.jeremy.luke@gmail.com> |
Cuda - improve variable name clarity |
| 75c7b208 | 25-Aug-2020 |
jeremylt <thompson.jeremy.luke@gmail.com> |
CUDA - drop double negation |
| 0f54b25e | 25-Aug-2020 |
jeremylt <thompson.jeremy.luke@gmail.com> |
CUDA - clean up logic for collograd in cuda/gen, should be based on all bases with interp/grad |
| 6c845298 | 25-Aug-2020 |
jeremylt <thompson.jeremy.luke@gmail.com> |
CUDA - drop extra casts |
| 792ff326 | 25-Aug-2020 |
Yohann Dudouit <dudouit1@llnl.gov> |
Access the restriction before using it. |
| 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 ...
|
| 6bbcfef4 | 27-Jul-2020 |
Jeremy L Thompson <thompson.jeremy.luke@gmail.com> |
Hip/Cuda - expand QFunction LCOV exception for failing to open qf source file |
| e9f4dca0 | 27-Jul-2020 |
Jeremy L Thompson <thompson.jeremy.luke@gmail.com> |
Cuda - add LCOV markers |
| db3f49c5 | 30-Jun-2020 |
Yohann <dudouit1@llnl.gov> |
Merge branch 'master' into yohann/nameKernels |
| 14cce66c | 29-Jun-2020 |
Yohann Dudouit <dudouit1@llnl.gov> |
Improve namespacing. |
| 818e0025 | 29-Jun-2020 |
Jeremy L Thompson <thompson.jeremy.luke@gmail.com> |
CUDA - adjust indentation/comments in generated operator kernel for readability |
| 13585805 | 29-Jun-2020 |
Jeremy L Thompson <thompson.jeremy.luke@gmail.com> |
CUDA - make cuda/gen CEED_STRIDES_BACKEND agree with other cuda backends |
| af17f337 | 29-Jun-2020 |
Jeremy L Thompson <thompson.jeremy.luke@gmail.com> |
CUDA - reorder backend priority, lower is better |
| c3c443fa | 27-Jun-2020 |
Yohann Dudouit <yohann.dudouit@gmail.com> |
Name the kernels in cuda-gen. |
| b8e71988 | 25-Jun-2020 |
Jeremy L Thompson <thompson.jeremy.luke@gmail.com> |
CUDA - output generated operator code with debugging flag |
| 3f1466f8 | 26-Jun-2020 |
Jeremy L Thompson <25011573+jeremylt@users.noreply.github.com> |
Merge pull request #561 from CEED/jeremy/is-deterministic
Ceed - add IsDeterministic |
| 52d8ac88 | 25-Jun-2020 |
Jeremy L Thompson <thompson.jeremy.luke@gmail.com> |
CUDA - add missing codecov exceptions |