| 4d537eea | 02-Sep-2019 |
Yohann <dudouit1@llnl.gov> |
Single Source QFunction (#304)
Introduce a new macro CEED_QFUNCTION that allows to define qFunctions in a single source code independently of the targeted backend.
Thanks-to: Jeremy Thompson
Tha
Single Source QFunction (#304)
Introduce a new macro CEED_QFUNCTION that allows to define qFunctions in a single source code independently of the targeted backend.
Thanks-to: Jeremy Thompson
Thanks-to: Jed Brown
This work is the result of a fruitful discussion between Jed Brown, Jeremy Thompson and Yohann Dudouit. Jeremy Thompson also implemented important features in this commit and was very active and helpful all along the progress of this work.
[NEWS] Breaking change: QFunctionField parameter 'ncomp' changed to 'size'. This change requires setting the previous value of 'ncomp' to 'ncomp*dim' when adding a QFunctionField with eval mode 'CEED_EVAL_GRAD'.
* First steps toward cuda-gen backend!
* Closer to real code generation.
* Generated code should be ready for nvrtc.
* The code generation skeleton is ready.
* Hack with the qfunction to make the operator kernel compile.
* Some tweaks in the makefile + Input fields structure change.
* Remove using cout.
* 1d interp and grad device functions.
* 1d readDofs, readQuads, writeDofs, writeQuads.
* Remove dead code.
* readDofs, readQuads, writeDofs, writeQuads for 2d and 3d
* 2d interp and grad
* 3d interp and grad
* - weight functions for 1d,2d,3d
- link the indices to the kernel
- link the fields to the kernel
- link the basis to the kernel
* Add the qFunction reader + inlining
* Add qf files for the tests.
* Add qf file for ceed/ex1
* Add qf file for mfem/bp1
* All tests pass.
* Add qFunction for mfem/bp3, petsc/bp1, and petsc/bp3.
* mfem/bp1 passes + remove dead code
* Fix a bug in n_quads_out for writeQuads
* mfem/bp3 passes.
* All tests all examples pass.
* Temporary tweaks for mfem benchmarking
* Add Context management.
* Modify .qf files to take into account the context.
* Enable optimizations.
* First set of optimization for 2D and 3D.
* double pointer format for the qFunction.
* Change the .qf files to have the same code as the C functions.
* Make previous Cuda backends use .qf files.
* Add a return value to qFunctions.
* Make cpu backends use .qf files.
* Minor: clean commented code.
* Add guarded math.h for petsc examples.
* Remove previous nek qf files.
* Remove .cu files.
* Remove .qf files.
* Remove dead code in the tests.
* make style
* Make style fix.
* more make style fixes.
* CEED_QFUNCTION - improve macro for CPU filenames
* Add CEED_QFUNCTION macro to navierstokes.c
* Fix PETSc gitignore
* Change default NS problemtype to density_current (#307) in navierstokes.c
* Fix petsc bp1.h
* Real Fix for petsc bp1.h...
* fix
* README - Add /gpu/cuda/gen
* PETSc - Update dmplex example to use *_loc
* cuda/reg - fix typo
* Revert a couple of small changes
* Fix a bug in mfem bp3 similar to the previous bug in petsc bp3.
* Make PETSc qfunctions look closer to master, and minor style for debugging.
* More uniformity changes
* Fix a strange CUDA_OUT_OF_RESSOURCE bug.
* NS - fix fname variables
* Use a different convention for qFunction ncomp.
* update cuda-gen backend and bpsdmplex.
* PETSc - style update
* update mfem bp1 and bp3.
* Interface - Use size instead of ncomp for QFunction fields
* update ceed example and tests.
* Tests - Update ncomp to size
* CPU Backends - Update ncomp to size
* CPU Backends - style
* Nek - Update ncomp to size
* Opt - fix style
* CUDA - update ncomp to size
* Doc - Update API documentation for QFunction \ncomp->size
* OCCA - Patch QFunction ncomp -> size, work but revamp will be better
* OCCA - assert dim>0 for clang-tidy
* CUDA - Change GetNumComp to GetSize
* Basis - Shift check for dim > 0 to interface
* Doc update
* Update NS field size
* NS - Fix problem options
show more ...
|