Skip to content

Move kernel creation #678

Closed
Closed

Description

@max-models

Agreed. They'd fit the KernelCatalog.from_package layout of pic/pushing/kernels (one folder per kernel with <name>_kernels.py and <name>_cuda.cu). That means moving them out of evaluation_kernels_3d.py, which is used elsewhere too, so I'd do that in a follow-up PR rather than here.

Originally posted by @max-models in #667 (comment)

Activity

  1. changed the title [-]Agreed. They'd fit the `KernelCatalog.from_package` layout of `pic/pushing/kernels` (one folder per kernel with `<name>_kernels.py` and `<name>_cuda.cu`). That means moving them out of `evaluation_kernels_3d.py`, which is used elsewhere too, so I'd do that in a follow-up PR rather than here.[/-] [+]Move kernel creation[/+] on Oct 6, 2026
  2. max-models commented on Oct 6, 2026

    @max-models
    MemberAuthor
  3. max-models commented on Oct 6, 2026

    @max-models
    MemberAuthor

    The first part is done in #679 (PR 16, 7182a01): eval_spline_mpi_markers, eval_spline_mpi_matrix and eval_spline_mpi_sparse_meshgrid live in bsplines/kernels/<name>/ with their pyccel and CUDA versions and an __init__.py that declares the Kernel; SplineFunction imports them. Same for the geometry, SPH, diagnostics and local projector kernels.

    Still open: the second point (#667 (comment)). SplineFunction still builds the (kind, pn, tn1, tn2, tn3, starts) tuples itself, because the pyccel eval_spline_mpi_* take plain arrays rather than an argument class. Keeping this issue open for that until #679 is merged.

  4. added
    GPURunning Struphy on GPUs
    CUDACUDA kernels and the CUDA porting (see #650)
    on Oct 7, 2026
  5. max-models commented on Oct 14, 2026

    @max-models
    MemberAuthor

    Done in two parts: #679 moved the spline evaluation kernels into their own folders, and #721 replaced the (kind, pn, tn1, tn2, tn3, starts) tuples with the SplineArguments/CudaSplineArguments argument classes.

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