Skip to content

Batched NNLS - #8402

Draft
achirkin wants to merge 13 commits into
NVIDIA:mainfrom
achirkin:fea-nnls
Draft

Batched NNLS#8402
achirkin wants to merge 13 commits into
NVIDIA:mainfrom
achirkin:fea-nnls

Conversation

@achirkin

Copy link
Copy Markdown
Contributor

GPU batch-friendly implementation of Lawson and Hanson NNLS algorithm.

Solves one problem per block: $\arg \min_x {||Ax - b ||}_2^2$ subject to $x \ge 0$ where $A \in \mathbb{R}^{n \times m}, b \in \mathbb{R}^{n}$. The batching happens by building a matrix $B^{n \times p}$ from columns $b$ and masking some columns of $A$ for each problem in a batch with a bitmap of size $m \times p$.

The current version keeps $O(n)$ data in shared memory, which limits the scaling over n.

@copy-pr-bot

copy-pr-bot Bot commented Jul 22, 2026

Copy link
Copy Markdown

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@achirkin achirkin added feature request New feature or request non-breaking Non-breaking change labels Jul 22, 2026
@achirkin

Copy link
Copy Markdown
Contributor Author

/ok to test

@achirkin

Copy link
Copy Markdown
Contributor Author

/ok to test

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

Labels

CMake CUDA/C++ Cython / Python Cython or Python issue feature request New feature or request non-breaking Non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant