-
Notifications
You must be signed in to change notification settings - Fork 8
Open
2 / 62 of 6 issues completedOpen
2 / 62 of 6 issues completed
Copy link
Labels
Description
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.