Skip to content

Refactor the cuvarbase codebase for improved quality, efficiency, and usability #28

Open
2 of 6 issues completed

Description

@johnh2o2

The cuvarbase codebase was originally developed in 2017 with minimal prior experience in CUDA and large-scale software design. Over time, it has gained significant community interest (e.g., TESS Quick Look Pipeline) and proven to be an impactful project. Given its age and the evolution of best practices, a comprehensive refactor is necessary to modernize and improve the project.

Context

  • The project was developed as a side project for a thesis and became the most impactful artifact of that work.
  • There are known inefficiencies (e.g., the conditional entropy implementation re-implemented more efficiently by Katz et al. 2021: https://academic.oup.com/mnras/article/503/2/2665/6158396).
  • Several areas need improvement: documentation, conventions, implementation, efficiency, capabilities, and overall organization.

High-Level Refactor Goals

  • Update and improve documentation (docstrings, README, usage examples)
  • Align code with modern Python/CUDA conventions
  • Evaluate PyCUDA and consider alternatives
  • Improve efficiency of core algorithms
  • Elevate phase dispersion minimization to a first-class feature
  • Restructure and abstract major components for maintainability

This issue serves as the umbrella for the major refactor. Sub-issues will be created to break down the specific aspects of this large effort.

Activity

  1. johnh2o2 commented on Sep 28, 2026

    @johnh2o2
    OwnerAuthor

    Release triage for PR #69 (cuvarbase 1.0.1, source 6b6c48945160).

    This issue remains open and is listed as related follow-up in PR #69; it is intentionally excluded from automatic closure.

    The release covers substantial modernization, and #31 and #34 are already closed. This parent still has open follow-up work in #29, #30 and #33; #32 is completed by this PR. Keep the umbrella open until those remaining child requirements are completed or explicitly re-scoped.

    Evidence: current release scope · contributor standards

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

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions