| ac421f39 | 17-Sep-2019 |
Yohann <dudouit1@llnl.gov> |
Improved performance of cuda-gen backend (#341)
Thanks-to: Tim Warburton
Some of these optimizations are the results of the knowledge and experience gathered by Tim Warburton and his team in libPar
Improved performance of cuda-gen backend (#341)
Thanks-to: Tim Warburton
Some of these optimizations are the results of the knowledge and experience gathered by Tim Warburton and his team in libParanumal and then ported to libCEED.
* Add colocated gradient in 3D.
* Treat the qFunction by slice in 3d to avoid using too many registers.
* Minor fix
* Minor fix.
* Minor fix
* Compute the colocated gradient slice by slice.
* Add synchthreads after initialization of the matrices.
* Remove code print.
* Add a critical #pragma unroll
* Fix typo on "collocated".
* Remove dead code.
* Use ColloGrad3d functions.
* Fix cuda-gen backend when collocated gradient is not available.
* make style
* make style
* Add some comments.
* Replace int by CeedInt.
show more ...
|
| 2d50dd3d | 16-Sep-2019 |
jeremylt <jeremy.thompson@colorado.edu> |
Fortran - Use preprocessor directive to provide abs path to true qfunction source |
| a2fa7910 | 13-Sep-2019 |
Valeria Barra <39932030+valeriabarra@users.noreply.github.com> |
Make examples consistent (#342)
* Make examples consistent |
| 288c0443 | 13-Sep-2019 |
Jeremy L Thompson <25011573+jeremylt@users.noreply.github.com> |
QFunction Create by Name (#311)
This PR adds a QFunction gallery to libCEED with 1D, 2D, and 3D mass and Poisson operators.
Closes issue #37, issue #340
* Add QFunction gallery, rename focca
QFunction Create by Name (#311)
This PR adds a QFunction gallery to libCEED with 1D, 2D, and 3D mass and Poisson operators.
Closes issue #37, issue #340
* Add QFunction gallery, rename focca
* Gallery - add initial QFunctions
* Add a test for using the QF gallery
* Modify ex1 to use gallery
* Add multiple test configs to tap
* Move output to test directory
* Update junit
* Add OCCA galley exception
* Add ex2
* Update ex2 for dim->ncompx
* Gallery - modify to work for CUDA as is
* Update Documentation
* Gallery - typo fix
* Gallery - convention change, postappend qfunction family variant
* Gallery - update template with new name checking convention
* Gallery - condense diff3DBuild QFunction
* Gallery - rename diff -> poisson
* Gallery - clarify poisson3DBuild comment
* Gallery - use Pragma SIMD, store Qdata in Voigt convention
* Examples - Convert BP3-6 to Voigt convention
* Examples - add cl option to switch between header and gallery qfs in CEED examples
* Examples - clean up construction of QF name
* Gallery - Switch to PascalCase for gallery names
* Doc - fix function type page
* Interface - Make sure strncpy result is null terminated
* Gallery - Update Poisson 2/3D Apply to new QF body
* make style
* make style - fix worst style problems
* make style - add gallery to make style
* Doc - update documentation errors and inconsistencies
* Examples - test ex1 ex2 with and without gallary
* Examples - reduce testing of ex1/ex2 without gallery, clean up non-gallery qfunctions
* MFEM - revert another make style mistake
* Manual make style updates
* Doc - update function documentation page
* Style updates, document test numbering conventions
* doc: resolve ambiguous image location warning, allow more Dot nodes
* Tests - style and cast cleanup
* Tests - fix README indentation
show more ...
|
| ee07ded2 | 11-Sep-2019 |
Valeria Barra <39932030+valeriabarra@users.noreply.github.com> |
Add CeedPragmaOMP to bps (#338)
* Convert petsc BP3&4 to loops
* Update petsc/bp4.h looping
* Switch to CeedPragmaSIMD and make examples/petsc/bp3.h consistent with bp4.h
Remove CeedPragm
Add CeedPragmaOMP to bps (#338)
* Convert petsc BP3&4 to loops
* Update petsc/bp4.h looping
* Switch to CeedPragmaSIMD and make examples/petsc/bp3.h consistent with bp4.h
Remove CeedPragmaOMP directive in Nek example and update documentation
* Remove restric qualifier in petsc/bp3.h and update documentation
show more ...
|
| 34d77899 | 04-Sep-2019 |
Valeria Barra <39932030+valeriabarra@users.noreply.github.com> |
Homogenize examples by using ncomp and dim (#335)
* Homogenize examples by using ncomp and dim |
| 2ec799e5 | 04-Sep-2019 |
Jed Brown <jed@jedbrown.org> |
Merge pull request #333 from CEED/jed/ns-periodic
Navier-Stokes: add support for periodic boundary conditions |
| 52cf619c | 03-Sep-2019 |
Jed Brown <jed@jedbrown.org> |
navier-stokes: remove unused variables |
| 794da26a | 28-Aug-2019 |
Jed Brown <jed@jedbrown.org> |
navier-stokes: add -process_grid and make resolution mean something
Formerly, the process grid was always automatically determined by the number of processes. Now, use that as default, but allow it
navier-stokes: add -process_grid and make resolution mean something
Formerly, the process grid was always automatically determined by the number of processes. Now, use that as default, but allow it to be fully specified. For example, one can now run a quasi-2D simulation by adding periodicity in z. For example,
mpiexec -n 32 ./navierstokes -process_grid 8,4,1 -resx 100 -resy 100 -resz 100 -lz 100 -periodic 0,0,1
show more ...
|
| 83bd60e3 | 28-Aug-2019 |
Jed Brown <jed@jedbrown.org> |
navier-stokes: add support for periodic boundary conditions
Change mapping to DM Vec from global-to-global to local-to-global to support periodicity without using DMDA periodic (for which coordinate
navier-stokes: add support for periodic boundary conditions
Change mapping to DM Vec from global-to-global to local-to-global to support periodicity without using DMDA periodic (for which coordinates are ill-defined relative to what VTK expects).
Coordinates are now written with physical, rather than nondimensional, units.
show more ...
|
| 217aa3ef | 03-Sep-2019 |
valeria <valeriabarra21@gmail.com> |
Update documentation after PR #323 |
| 3e991939 | 02-Sep-2019 |
jeremylt <jeremy.thompson@colorado.edu> |
PETSc - Minor tidying |
| 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 ...
|
| 8258b3d9 | 31-Aug-2019 |
Valeria Barra <39932030+valeriabarra@users.noreply.github.com> |
NS: clean geometric factors (#323)
Store the geometric transform dX_i/dx_j separate from weighting
in qdata, and do not store the symmetric product (formerly called
wBBJ). We need unweighted tran
NS: clean geometric factors (#323)
Store the geometric transform dX_i/dx_j separate from weighting
in qdata, and do not store the symmetric product (formerly called
wBBJ). We need unweighted transforms for stabilization and
anisotropic diffusion. Condensing into the symmetrized form and
combining with weighting is a natural optimization for Poisson
benchmarks such as the BPs, but is premature (and a poor choice)
for Navier-Stokes.
Developed-by: Valeria Barra <valeria.barra@colorado.edu>
Co-developed-by: Jeremy Thompson <jeremy.thompson@colorado.edu>
Co-developed-by: Jed Brown <jed@jedbrown.org>
* NS: clean geometric factors
* Change qdata[10] and form (w*X_i,j*X_j,i/detJ) in QFunctions
* NS advection: consolidate index notation with loops
* NS advection: consolidate index notation with loops
Thanks-to: Ken Jansen <kenneth.jansen@colorado.edu>
* Unify loop notation and bug fixes
* NS - minor style consistency and doc updates
* NS - Realign inputs
* NS - minor style consistency and doc updates
show more ...
|
| 2ae10d8e | 30-Aug-2019 |
jeremylt <jeremy.thompson@colorado.edu> |
PETSc - minor bpsdmplex fixes |
| 03dc724c | 29-Aug-2019 |
Jeremy L Thompson <25011573+jeremylt@users.noreply.github.com> |
Merge pull request #327 from CEED/jeremy/petsc-dmplex-section
PETSc - DMGetDefaultSection is depricated |
| cd054ef8 | 29-Aug-2019 |
jeremylt <jeremy.thompson@colorado.edu> |
PETSc - DMGetDefaultSection is depricated |
| 432a1099 | 29-Aug-2019 |
jeremylt <jeremy.thompson@colorado.edu> |
PETSc - Fix -local description |
| 955ccd5e | 28-Aug-2019 |
Jeremy L Thompson <25011573+jeremylt@users.noreply.github.com> |
Merge pull request #318 from CEED/jeremy/advection-sign-agree
Update sign in advection example |
| 0d1cd08d | 28-Aug-2019 |
jeremylt <jeremy.thompson@colorado.edu> |
NS - Change advection formulation default |
| 8757e0d2 | 28-Aug-2019 |
jeremylt <jeremy.thompson@colorado.edu> |
Makefile - enable clean in parallel |
| 05939c60 | 26-Aug-2019 |
jeremylt <jeremy.thompson@colorado.edu> |
Nek - minor change to dofps output |
| e2b2c771 | 26-Aug-2019 |
valeria <valeriabarra21@gmail.com> |
Update MFEM and Nek examples |
| a5a4bcb0 | 23-Aug-2019 |
jeremylt <jeremy.thompson@colorado.edu> |
Update NS example, DoF->Node |
| b52ddc88 | 23-Aug-2019 |
jeremylt <jeremy.thompson@colorado.edu> |
Update ex1 and PETSc examples, DoF -> Node |