Skip to content

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

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

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