Skip to content

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

@johnh2o2

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.

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions