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
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.
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
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.
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.
Activity
[-]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[/+]max-models commentedon Oct 6, 2026
Also see #667 (comment)
max-models commentedon Oct 6, 2026
The first part is done in #679 (PR 16, 7182a01):
eval_spline_mpi_markers,eval_spline_mpi_matrixandeval_spline_mpi_sparse_meshgridlive inbsplines/kernels/<name>/with their pyccel and CUDA versions and an__init__.pythat declares theKernel;SplineFunctionimports them. Same for the geometry, SPH, diagnostics and local projector kernels.Still open: the second point (#667 (comment)).
SplineFunctionstill builds the(kind, pn, tn1, tn2, tn3, starts)tuples itself, because the pycceleval_spline_mpi_*take plain arrays rather than an argument class. Keeping this issue open for that until #679 is merged.Argument class for SplineFunction kernel arguments (#721)
max-models commentedon Oct 14, 2026
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 theSplineArguments/CudaSplineArgumentsargument classes.