Skip to content

Decide between hand-written CUDA and code generation before the guiding-centre kernels #690

Closed

Description

@max-models

The guiding-centre pushers and evaluation kernels are the largest kernels to port. Before porting them, compare:

  • writing CUDA by hand (the current approach, 1:1 with pyccel)

  • generating kernels from the Python source (cupyx.jit, numba-cuda, or a pyccel CUDA backend)

  • port one guiding-centre kernel both ways

  • compare code size, speed, and how the parity tests and the CPU emulation fit

  • record the decision in CUDA_STRATEGY.md

Part of #650 (see CUDA_STRATEGY.md).

Activity

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

    @max-models
    MemberAuthor

    Decided in #718: no code generation, every CUDA kernel is written by hand. bstar_parallel_3form was ported both ways for the comparison, and the reasons are in CUDA_STRATEGY.md, section Hand-written CUDA (decision for #690).

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