-
Notifications
You must be signed in to change notification settings - Fork 846
Add support for cuBLASLt functions used by llm.c #512
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds support for cuBLASLt functions used by llm.c by implementing comprehensive cuBLAS Lite functionality. It expands the ZLUDA cuBLAS Lite implementation from basic handle management to full matrix multiplication operations including descriptors, preferences, layouts, and algorithm heuristics.
- Implements core cuBLASLt functions for matrix operations (matmul, descriptors, preferences, layouts)
- Adds comprehensive type conversions between CUDA and HIP data types and enums
- Integrates hipblaslt-sys dependency for HIP BLAS Lite backend functionality
Reviewed Changes
Copilot reviewed 5 out of 6 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| zluda_common/src/lib.rs | Adds type conversions for cuBLASLt data types and enums to HIP equivalents |
| zluda_common/Cargo.toml | Adds hipblaslt-sys dependency |
| zluda_blaslt/src/lib.rs | Expands implemented function list to include matmul operations |
| zluda_blaslt/src/impl.rs | Implements cuBLASLt function handlers with HIP backend calls |
| zluda_blaslt/Cargo.toml | Adds hip_runtime-sys and hipblaslt-sys dependencies |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
zluda_blaslt/src/impl.rs
Outdated
|
|
||
| from_cuda_object!(Handle); | ||
|
|
||
| pub struct MatmulDesc { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This whole wrapping of hipblasLtMatmulDesc_t, hipblasLtMatmulPreference_t and hipblasLtMatrixLayout_t seems unnecessary to me, if we wrapped those types with some extra data, but as it is now it's better to map them 1:1
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Makes sense, done.
Depends on #510