You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CUDA PR 16 - One pyccel and one CUDA argument class per argument type #679 (PR 16): every remaining kernel called from Python with argument objects, in pic/diagnostics/kernels (10), pic/sph/kernels (4), bsplines/kernels (3), geometry/kernels (4), feec/kernels (1) and feec/local_projectors/kernels (8)
The folders use the <name>_kernels.py suffix, so struphy compile and dependencies.py pick them up. Any new or newly ported kernel goes into its own folder.
Left: the FEEC assembly kernels in feec/mass.py, feec/boundary_mass.py and feec/basis_projection_ops.py (kernel_{1,2,3}d_mat, _matrixfree, _diag, _eval, surface_kernel_3d_mat, assemble_dofs_for_weighted_basisfuns_*). They are still called through PyccelKernel and will move when FEEC assembly is ported.
Activity
Cuda pr 3 kernel catalog (#645)
Cuda pr 3 kernel catalog (#645)
max-models commentedon Oct 6, 2026
Progress (see the One folder per kernel principle in
CUDA_STRATEGY.md):pic/pushing/kernels: 43 pusher kernels (Cuda pr 9 kernel folders #663, PR 9), plusreflect(CUDA PR 16 - One pyccel and one CUDA argument class per argument type #679)pic/accumulation/kernels: 16 accumulation kernels (Cuda pr 14 vlasov ampere #670, PR 14)__init__.pydeclares its kernel withKernel.from_folder, imported asfrom struphy.pic.pushing.kernels.push_eta_stage import push_eta_stage(Cuda PR 15 - Use cunumpy as intended: kernels as imports, no catalog lookups #671, PR 15)pic/diagnostics/kernels(10),pic/sph/kernels(4),bsplines/kernels(3),geometry/kernels(4),feec/kernels(1) andfeec/local_projectors/kernels(8)The folders use the
<name>_kernels.pysuffix, sostruphy compileanddependencies.pypick them up. Any new or newly ported kernel goes into its own folder.Left: the FEEC assembly kernels in
feec/mass.py,feec/boundary_mass.pyandfeec/basis_projection_ops.py(kernel_{1,2,3}d_mat,_matrixfree,_diag,_eval,surface_kernel_3d_mat,assemble_dofs_for_weighted_basisfuns_*). They are still called throughPyccelKerneland will move when FEEC assembly is ported.Move FEEC assembly kernels into kernel folders (#725)
spossann commentedon Oct 14, 2026
solved in stack #760
Move FEEC assembly kernels into kernel folders (#725)