Comments (6)
from cutlass.
My PR is about F16
/ S4
, and will cover also BF16
/S4
, F16
/ U4
and BF16
/ U4
MM on Ampere; through an earlier work of @manishucsd, CUTLASS already supports these for S8
and U8
instead of S4
and U4
, respectively, on Ampere. And that's about it regarding mixed data-types MM, thus what OP would need is not in the works yet, but may be an interesting follow-up.
from cutlass.
thanks for reply.
since LLM w8a8 is almost solved by PTQ methods, and w4a4 is too aggressive for PTQ methods, w4a8 PTQ is a good option for further optimization.
in my own experiments, the LLM's performance degradation is minor under w4a8 (per-channel * per-token) PTQ settings. and there is also a paper about it: https://arxiv.org/abs/2311.09550, the performance seems promising.
trt-llm already supported w4a8 PTQ & inference on hopper, but only for fp8.
is it possible to extend your PR to support w4a8 (int4 * int8) on Ampere? @alexsamardzic
from cutlass.
It would be better to open another PR. Namely, the combination of data-types that my PR intends to handle is rather tricky regarding loading data from shared memory to registers, that I believe should not be the case for S4
/S8
MM. Also, there isn't much to share between the two - all of data conversion, reshuffling S4
data between threads, and finally the tests, should be different for S4
/S8
.
from cutlass.
I'm now working on this feature - #1413 is created, so this issue could be closed.
from cutlass.
@alexsamardzic that's great, thank you!
from cutlass.
Related Issues (20)
- [QST] Equality of shapes HOT 1
- How to perform operations like crop, concat on tensors in CuTe? [QST] HOT 2
- [BUG] Failing to build on MSVC due to call to _div128 HOT 2
- [QST] Is there grouped_gemv
- Int8 multiplication with pytorch extension: namespace "torch" has no member "I8
- [QST]What is the difference between `WmmaTensorOp` and `TensorOp`?
- [DOC] Incorrect link in main README file
- [BUG] Circular Dependency in Header Files
- [QST] Tiling an MMA in the K dimension HOT 3
- [QST] How to run GEMM with CUDA Graph?
- [BUG] CUTE: zipped_divide function returns different results on cuda device and on host HOT 6
- [QST] Unknown CMake command "cutlass_example_add_executable" HOT 2
- [QST] How to improve skinny matrix perf over Ampere like 3090?
- [QST] how to run profiler with fp16 accumulator for GEMM? HOT 4
- [QST] CUTLASS support for sparse matrix multiplication for X*W=Y with GPU sparse tensor core
- [QST] GemmUniversal is slower than GemmSplitKParallel when M and N are small and K is large
- [QST]Why does profiler run so many kernels? HOT 2
- [QST]Question about the cutlass 3.0 API
- [QST]error: too few arguments for class template "cutlass::epilogue::collective::DefaultEpilogue"
- [QST]What is the difference between `TensorOp` and `WmmaTensorOp`
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cutlass.