Skip to content

Put each kernel into its own folder and file #411

Closed

Description

@spossann

For example pusher_kernels/push_eta/push_eta_kernel.py.

The _kernel substring must be there to be recognized as a pyccel kernel by get_dependencies: https://github.com/struphy-hub/struphy/blob/devel/src/struphy/dependencies.py

Corresponding CUDA kernels could be stored in the same folder. Other backends (numba, ...) could also be stored there.

Activity

  1. max-models commented on Oct 6, 2026

    @max-models
    Member

    Progress (see the One folder per kernel principle in CUDA_STRATEGY.md):

    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.

  2. added
    GPURunning Struphy on GPUs
    CUDACUDA kernels and the CUDA porting (see #650)
    on Oct 7, 2026
  3. spossann commented on Oct 14, 2026

    @spossann
    MemberAuthor

    solved in stack #760

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    CUDACUDA kernels and the CUDA porting (see #650)GPURunning Struphy on GPUs

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions