ashvardanian / ashvardanian/StringZilla

Bug: Multi-versioning CUDA kernels

Open
#241 0 comments 0 reactions 0 assignees View on GitHub
bug core
Dominant language
C
Stars
3.6k
Forks
135
PR merge metrics
No merged PRs in 30d

Description

### Describe the bug

Our current compilation method, focusing on `sm90a` is too constraining. Built-in NVCC multi-versioning is too tricky to use and results in bloated binaries. So we should find a better way to pre-compile and pre-package PTX and/or SASS for a small set of generations. Likely: Volta, Ampere, Hopper, Blackwell.

### Steps to reproduce

Try to run StringWa.rs benchmarks in a 4060 machine.

### Expected behavior

Passing conpilation.

### StringZilla version

v4

### Operating System

22.04

### Hardware architecture

x86

### Which interface are you using?

C implementation

### Contact Details

_No response_

### Are you open to being tagged as a contributor?

- [x] I am open to being mentioned in the project `.git` history as a contributor

### Is there an existing issue for this?

- [x] I have searched the existing issues

### Code of Conduct

- [x] I agree to follow this project's Code of Conduct

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the StringWa.rs benchmarks on an RTX 4060 and inspect the current NVCC compilation path centered on sm90a. Compare approaches for pre-compiling and packaging PTX and/or SASS for Volta, Ampere, Hopper, and Blackwell. Done means the C interface compiles and the benchmarks run on the affected generation without unnecessarily bloated binaries.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
compilers, performance
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.