Skip to content

Update GPU Support for Compatibility with Refactored Codebase #479

Description

@ilhamv

Background

As MC/DC’s is refactored, the GPU support layer needs to be updated so it remains compatible with the new structure.

This effort should include input from transport algorithm developers so that GPU-facing interfaces are balanced between practical usability and performance requirements.

Goal

Update GPU support to work cleanly with the refactored dev architecture, while providing an interface that is usable for transport algorithm development and still suitable for performant GPU execution.

Scope

This work should include:

  • Reviewing the current GPU support layer against the refactored dev architecture.
  • Identifying compatibility gaps introduced by the refactor.
  • Updating GPU data structures, preparation pathways, execution hooks, and runtime interfaces as needed.
  • Gathering input from transport algorithm developers on the GPU-facing interface.
  • Clarifying which parts of the interface should prioritize usability, extensibility, or performance.
  • Preserving or improving current GPU performance where practical.
  • Updating tests, examples, and developer documentation affected by the GPU changes.

Acceptance Criteria

  • GPU support is compatible with the refactored dev architecture.
  • Transport algorithm developers can use the GPU interface without relying on undocumented internal behavior.
  • GPU-facing APIs are documented clearly enough for framework and algorithm developers.
  • The interface balances practical usability with performance-sensitive implementation needs.
  • Existing GPU workflows either continue to work or have documented migration paths.
  • GPU tests pass, or known limitations are documented.
  • Performance-sensitive changes are benchmarked or otherwise assessed.

Notes

This should be treated as both a compatibility update and an interface-design effort. The GPU layer should not merely be made to run again; it should be reviewed with transport algorithm developers so the resulting design supports future algorithm work without hiding critical performance constraints.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions