History log of /libCEED/backends/cuda-shared/ceed-cuda-shared-basis.c (Results 126 – 145 of 145)
Revision Date Author Comments
# e6a04bf5 16-Oct-2019 Jeremy L Thompson <25011573+jeremylt@users.noreply.github.com>

Merge pull request #273 from CEED/p-multigrid

P Multigrid Example


# 7f823360 16-Oct-2019 jeremylt <jeremy.thompson@colorado.edu>

Make style


# 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 ...


# 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 ...


# 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 ...


# 1f6d0b36 02-Jul-2019 Jed Brown <jed@jedbrown.org>

Merge branch 'yohann/cuda-restr-opt' [PR #269]

* yohann/cuda-restr-opt:
Remove dead or unnecessary code.
Remove dead code. Cuda-reg restriction optimization.
Optimization of 3D kernels for cud

Merge branch 'yohann/cuda-restr-opt' [PR #269]

* yohann/cuda-restr-opt:
Remove dead or unnecessary code.
Remove dead code. Cuda-reg restriction optimization.
Optimization of 3D kernels for cuda-shared backend.
Optimization of 1D kernels for cuda-shared backend.
Optimization of 2D kernels for cuda-shared backend.
Minor bug fix
Optimization of weight kernel and dynamic allocation of shared memory.
Optimization of cuda-reg restriction.
Start the optimization of the Cuda restriction operator.

show more ...


# 1226057f 27-Jun-2019 Yohann Dudouit <yohann.dudouit@gmail.com>

Merge branch 'master' into yohann/cuda-restr-opt

Conflicts:
backends/cuda-reg/ceed-cuda-reg-restriction.c
backends/cuda-shared/ceed-cuda-shared-basis.c


# 9d77422e 26-Jun-2019 Jed Brown <jed@jedbrown.org>

Merge branch 'yohann/cuda-non-tensor' [PR #249]

* yohann/cuda-non-tensor:
ceed-cuda: resolve -Wsign-compare for CUresult (unsigned enum) in CeedError
make style.
namespace cuda backends functi

Merge branch 'yohann/cuda-non-tensor' [PR #249]

* yohann/cuda-non-tensor:
ceed-cuda: resolve -Wsign-compare for CUresult (unsigned enum) in CeedError
make style.
namespace cuda backends functions.
Minor: styling
Add CUDA_LIB_DIR_STUBS for systems that don't have CUDA drivers installed
make style
Remove useless function declaration.
Add a reference non-tensor BasisApply for cuda backends.

show more ...


# 961116ec 17-Jun-2019 Yohann Dudouit <yohann.dudouit@gmail.com>

make style.


# 4a6d4bbd 17-Jun-2019 Yohann Dudouit <yohann.dudouit@gmail.com>

namespace cuda backends functions.


# 0109ba86 04-Jun-2019 Yohann Dudouit <yohann.dudouit@gmail.com>

Minor: styling


# df4cfd6d 04-Jun-2019 Yohann Dudouit <yohann.dudouit@gmail.com>

Remove dead or unnecessary code.


# 3f63d318 04-Jun-2019 Yohann Dudouit <yohann.dudouit@gmail.com>

Remove dead code. Cuda-reg restriction optimization.


# 698ebc35 03-Jun-2019 Yohann Dudouit <yohann.dudouit@gmail.com>

Optimization of 3D kernels for cuda-shared backend.


# d94769d2 03-Jun-2019 Yohann Dudouit <yohann.dudouit@gmail.com>

Optimization of 1D kernels for cuda-shared backend.


# 4247ecf3 03-Jun-2019 Yohann Dudouit <yohann.dudouit@gmail.com>

Optimization of 2D kernels for cuda-shared backend.


# 717ff8a3 03-Jun-2019 Yohann Dudouit <yohann.dudouit@gmail.com>

Minor bug fix


# 074be161 03-Jun-2019 Yohann Dudouit <yohann.dudouit@gmail.com>

Optimization of weight kernel and dynamic allocation of shared memory.

- First optimization of weight kernel, kernels are now coalesce but
might not be fully using SMs (need to batch elements per

Optimization of weight kernel and dynamic allocation of shared memory.

- First optimization of weight kernel, kernels are now coalesce but
might not be fully using SMs (need to batch elements per block)
- Switch to dynamic shared memory allocation in order to batch elements
for interpolation and gradient in cuda-shared backend.
- Add GetPreferedMemoryType for cuda-reg and cuda-shared backends.
(Can be removed in the future with delegation of this function)

show more ...


# 9ad45357 16-May-2019 Yohann Dudouit <yohann.dudouit@gmail.com>

Add a reference non-tensor BasisApply for cuda backends.


# c532df63 16-May-2019 Yohann <dudouit1@llnl.gov>

Cuda backend using shared memory (#247)

Add a GPU backend based on Cuda using shared memory.

* Draft of a shared memory backend

* New basis apply passes all tests.

* Add the possibility to

Cuda backend using shared memory (#247)

Add a GPU backend based on Cuda using shared memory.

* Draft of a shared memory backend

* New basis apply passes all tests.

* Add the possibility to treat several elements in one block of threads.

* Fix an error in 2D and 3D gradient.

* Put the cuda-shared backend in its own folder.

* Minor cleaning.

* Replace <ceed-impl.h> with <ceed-backend.h>

* make style

* Add a few CeedChk_Cu

show more ...


123456