Skip to content

Split the sigmakin kernel into smaller kernels #310

Description

@valassi

This is just a placeholder to discuss the idea of implementing smaller kernels.

A lot of pointers already exist related to this:

One of the main points towards using smaller kernels is the need to allow each ixx/oxxx and each ffv function to handle pointers to large buffers for many events and to do the indexing themselves. This is discussed in #175 (comment) for instance. Presently instead only the ixx/oxx functions are able to find an event in the input array, but then their output (and all inputs/outputs of the ffv functions) refer for CUDA to a single event. This is the first thing that must be changed to allow smaller kernels.

Activity

  1. valassi commented on Dec 11, 2021

    @valassi
    MemberAuthor

    Note a basic prototype idea in #313: it would be enough to add for instance bufferAccessWavefunction( fptype* buffer, int iw6 ) wherethe iw6 index is passed in the same way as the ip4 now.

  2. valassi commented on Jan 20, 2022

    @valassi
    MemberAuthor

    Note that PR #328 is the first step for this and contains several comments related to this

  3. valassi commented on Feb 3, 2022

    @valassi
    MemberAuthor

    The color algebra optimisation has a separate issue #155. Improving the timing measurements is in #372.

  4. valassi commented on Apr 22, 2022

    @valassi
    MemberAuthor

    One of the main issues in splitting kernels is the clarification of the relative roles of MEK and CPPProcess: who holds intermediate data buffers? who orchestrates the order of kernels? who is allowed to have process specific stuff? I am discussing this largely in #356, specifically in the econtxt of running alphas issue #373 and draft PR #434

  5. self-assigned this
    on Nov 23, 2025
  6. valassi commented on Nov 23, 2025

    @valassi
    MemberAuthor

    Kernel splitting is implemented in PR #1049 (merged) and PR #1066.
    Full documentation in https://arxiv.org/abs/2510.05392v2 that should appear tomorrow

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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions