Skip to content
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

[Dev] Set default weight transformation into Ladder Stage3 LDMatrixTransform #133

Merged
merged 184 commits into from
Aug 12, 2024

Conversation

LeiWang1999
Copy link
Contributor

This pull request includes several significant changes to the bitblas module, focusing on code refactoring, new feature additions, and bug fixes. The most important changes include updating submodule commits, adding a deprecation decorator, modifying tensor core policies, enhancing matrix multiplication analysis, and improving weight transformation and compression.

Submodule Update:

  • 3rdparty/tvm: Updated submodule commit to the latest version.

New Features:

  • bitblas/__init__.py: Added a deprecated decorator to mark functions as deprecated, emitting a warning when the function is used.
  • bitblas/module/__init__.py: Added unpack_qweight function to handle unpacking of quantized weights.

Code Refactoring:

Bug Fixes:

Enhancements:

@LeiWang1999
Copy link
Contributor Author

LeiWang1999 commented Aug 9, 2024

╒═══════════════════════╤═══════════════════════════╤══════════════════════════╤═══════════════════════════════╤══════════════════════╕
│                       │ TAG:                      │ FP16xUINT4_ACCFP16_NT_   │ Device:                       │ nvidia/nvidia-a100   │
╞═══════════════════════╪═══════════════════════════╪══════════════════════════╪═══════════════════════════════╪══════════════════════╡
│ Shape (M-N-K / N-K_M) │ Single Batching Time (ms) │ Shape (M-N-K / N-K_M)    │ Contiguous Batching Time (ms) │ Tune Time (s)        │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-16384-16384_1     │ 0.087                     │ DYN-16384-16384_1        │ 0.096 (+10.345%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-16384-16384_16    │ 0.417                     │ DYN-16384-16384_16       │ 0.100 (-76.019%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-16384-16384_32    │ 0.642                     │ DYN-16384-16384_32       │ 0.147 (-77.103%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-16384-16384_64    │ 1.082                     │ DYN-16384-16384_64       │ 0.229 (-78.835%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-16384-16384_128   │ 1.741                     │ DYN-16384-16384_128      │ 0.433 (-75.129%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-16384-16384_256   │ 0.933                     │ DYN-16384-16384_256      │ 0.773 (-17.149%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-16384-16384_512   │ 1.497                     │ DYN-16384-16384_512      │ 1.314 (-12.224%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-16384-16384_4096  │ 8.512                     │ DYN-16384-16384_4096     │ 8.330 (-2.138%)               │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-3200-3200_1       │ 0.007                     │ DYN-3200-3200_1          │ 0.018 (+157.143%)             │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-3200-3200_16      │ 0.096                     │ DYN-3200-3200_16         │ 0.019 (-80.208%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-3200-3200_32      │ 0.108                     │ DYN-3200-3200_32         │ 0.019 (-82.407%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-3200-3200_64      │ 0.066                     │ DYN-3200-3200_64         │ 0.020 (-69.697%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-3200-3200_128     │ 0.088                     │ DYN-3200-3200_128        │ 0.027 (-69.318%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-3200-3200_256     │ 0.059                     │ DYN-3200-3200_256        │ 0.056 (-5.085%)               │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-3200-3200_512     │ 0.099                     │ DYN-3200-3200_512        │ 0.091 (-8.081%)               │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-3200-3200_4096    │ 0.384                     │ DYN-3200-3200_4096       │ 0.367 (-4.427%)               │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-8640-3200_1       │ 0.011                     │ DYN-8640-3200_1          │ 0.015 (+36.364%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-8640-3200_16      │ 0.113                     │ DYN-8640-3200_16         │ 0.017 (-84.956%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-8640-3200_32      │ 0.200                     │ DYN-8640-3200_32         │ 0.024 (-88.000%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-8640-3200_64      │ 0.124                     │ DYN-8640-3200_64         │ 0.033 (-73.387%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-8640-3200_128     │ 0.143                     │ DYN-8640-3200_128        │ 0.056 (-60.839%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-8640-3200_256     │ 0.125                     │ DYN-8640-3200_256        │ 0.113 (-9.600%)               │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-8640-3200_512     │ 0.184                     │ DYN-8640-3200_512        │ 0.162 (-11.957%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-8640-3200_4096    │ 1.185                     │ DYN-8640-3200_4096       │ 1.019 (-14.008%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-3200-8640_1       │ 0.250                     │ DYN-3200-8640_1          │ 0.047 (-81.200%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-3200-8640_16      │ 0.256                     │ DYN-3200-8640_16         │ 0.062 (-75.781%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-3200-8640_32      │ 0.259                     │ DYN-3200-8640_32         │ 0.064 (-75.290%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-3200-8640_64      │ 0.264                     │ DYN-3200-8640_64         │ 0.065 (-75.379%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-3200-8640_128     │ 0.276                     │ DYN-3200-8640_128        │ 0.100 (-63.768%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-3200-8640_256     │ 0.315                     │ DYN-3200-8640_256        │ 0.156 (-50.476%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-3200-8640_512     │ 0.389                     │ DYN-3200-8640_512        │ 0.238 (-38.817%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-3200-8640_4096    │ 1.073                     │ DYN-3200-8640_4096       │ 0.973 (-9.320%)               │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-1024-8192_1       │ 0.006                     │ DYN-1024-8192_1          │ 0.015 (+150.000%)             │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-1024-8192_16      │ 0.030                     │ DYN-1024-8192_16         │ 0.018 (-40.000%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-1024-8192_32      │ 0.046                     │ DYN-1024-8192_32         │ 0.019 (-58.696%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-1024-8192_64      │ 0.082                     │ DYN-1024-8192_64         │ 0.022 (-73.171%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-1024-8192_128     │ 0.128                     │ DYN-1024-8192_128        │ 0.033 (-74.219%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-1024-8192_256     │ 0.079                     │ DYN-1024-8192_256        │ 0.079 (-0.000%)               │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-1024-8192_512     │ 0.114                     │ DYN-1024-8192_512        │ 0.112 (-1.754%)               │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-1024-8192_4096    │ 0.463                     │ DYN-1024-8192_4096       │ 0.389 (-15.983%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-8192-8192_1       │ 0.023                     │ DYN-8192-8192_1          │ 0.031 (+34.783%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-8192-8192_16      │ 0.133                     │ DYN-8192-8192_16         │ 0.037 (-72.180%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-8192-8192_32      │ 0.215                     │ DYN-8192-8192_32         │ 0.058 (-73.023%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-8192-8192_64      │ 0.339                     │ DYN-8192-8192_64         │ 0.083 (-75.516%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-8192-8192_128     │ 0.510                     │ DYN-8192-8192_128        │ 0.126 (-75.294%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-8192-8192_256     │ 0.304                     │ DYN-8192-8192_256        │ 0.271 (-10.855%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-8192-8192_512     │ 0.468                     │ DYN-8192-8192_512        │ 0.389 (-16.880%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-8192-8192_4096    │ 2.192                     │ DYN-8192-8192_4096       │ 2.131 (-2.783%)               │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-28672-8192_1      │ 0.078                     │ DYN-28672-8192_1         │ 0.087 (+11.538%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-28672-8192_16     │ 0.332                     │ DYN-28672-8192_16        │ 0.089 (-73.193%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-28672-8192_32     │ 0.528                     │ DYN-28672-8192_32        │ 0.130 (-75.379%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-28672-8192_64     │ 0.623                     │ DYN-28672-8192_64        │ 0.210 (-66.292%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-28672-8192_128    │ 1.036                     │ DYN-28672-8192_128       │ 0.359 (-65.347%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-28672-8192_256    │ 0.774                     │ DYN-28672-8192_256       │ 0.672 (-13.178%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-28672-8192_512    │ 1.218                     │ DYN-28672-8192_512       │ 1.099 (-9.770%)               │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-28672-8192_4096   │ 7.248                     │ DYN-28672-8192_4096      │ 7.111 (-1.890%)               │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-8192-28672_1      │ 0.079                     │ DYN-8192-28672_1         │ 0.100 (+26.582%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-8192-28672_16     │ 0.424                     │ DYN-8192-28672_16        │ 0.109 (-74.292%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-8192-28672_32     │ 0.703                     │ DYN-8192-28672_32        │ 0.159 (-77.383%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-8192-28672_64     │ 1.122                     │ DYN-8192-28672_64        │ 0.247 (-77.986%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-8192-28672_128    │ 1.809                     │ DYN-8192-28672_128       │ 0.391 (-78.386%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-8192-28672_256    │ 1.034                     │ DYN-8192-28672_256       │ 0.965 (-6.673%)               │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-8192-28672_512    │ 1.561                     │ DYN-8192-28672_512       │ 1.366 (-12.492%)              │ N/A                  │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼──────────────────────┤
│ DYN-8192-28672_4096   │ 7.670                     │ DYN-8192-28672_4096      │ 7.499 (-2.229%)               │ N/A                  │
╘═══════════════════════╧═══════════════════════════╧══════════════════════════╧═══════════════════════════════╧══════════════════════╛

benchmark results of some selected ops from llm on A100.

@LeiWang1999
Copy link
Contributor Author

LeiWang1999 commented Aug 10, 2024

╒═══════════════════════╤═══════════════════════════╤══════════════════════════╤═══════════════════════════════╤═══════════════════════════╕
│                       │ TAG:                      │ FP16xUINT4_ACCFP16_NT_   │ Device:                       │ nvidia/geforce-rtx-4090   │
╞═══════════════════════╪═══════════════════════════╪══════════════════════════╪═══════════════════════════════╪═══════════════════════════╡
│ Shape (M-N-K / N-K_M) │ Single Batching Time (ms) │ Shape (M-N-K / N-K_M)    │ Contiguous Batching Time (ms) │ Tune Time (s)             │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-16384-16384_1     │ 0.143                     │ DYN-16384-16384_1        │ 0.158 (+10.490%)              │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-16384-16384_16    │ 0.229                     │ DYN-16384-16384_16       │ 0.179 (-21.834%)              │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-16384-16384_32    │ 0.312                     │ DYN-16384-16384_32       │ 0.154 (-50.641%)              │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-16384-16384_64    │ 0.368                     │ DYN-16384-16384_64       │ 0.217 (-41.033%)              │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-16384-16384_128   │ 0.631                     │ DYN-16384-16384_128      │ 0.307 (-51.347%)              │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-16384-16384_256   │ 0.697                     │ DYN-16384-16384_256      │ 0.495 (-28.981%)              │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-16384-16384_512   │ 0.999                     │ DYN-16384-16384_512      │ 0.879 (-12.012%)              │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-16384-16384_4096  │ 7.167                     │ DYN-16384-16384_4096     │ 7.021 (-2.037%)               │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-3200-3200_1       │ 0.005                     │ DYN-3200-3200_1          │ 0.015 (+200.000%)             │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-3200-3200_16      │ 0.015                     │ DYN-3200-3200_16         │ 0.017 (+13.333%)              │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-3200-3200_32      │ 0.016                     │ DYN-3200-3200_32         │ 0.017 (+6.250%)               │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-3200-3200_64      │ 0.019                     │ DYN-3200-3200_64         │ 0.018 (-5.263%)               │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-3200-3200_128     │ 0.026                     │ DYN-3200-3200_128        │ 0.027 (+3.846%)               │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-3200-3200_256     │ 0.044                     │ DYN-3200-3200_256        │ 0.040 (-9.091%)               │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-3200-3200_512     │ 0.059                     │ DYN-3200-3200_512        │ 0.057 (-3.390%)               │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-3200-3200_4096    │ 0.284                     │ DYN-3200-3200_4096       │ 0.279 (-1.761%)               │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-8640-3200_1       │ 0.007                     │ DYN-8640-3200_1          │ 0.017 (+142.857%)             │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-8640-3200_16      │ 0.019                     │ DYN-8640-3200_16         │ 0.019 (-0.000%)               │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-8640-3200_32      │ 0.023                     │ DYN-8640-3200_32         │ 0.023 (-0.000%)               │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-8640-3200_64      │ 0.036                     │ DYN-8640-3200_64         │ 0.032 (-11.111%)              │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-8640-3200_128     │ 0.046                     │ DYN-8640-3200_128        │ 0.043 (-6.522%)               │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-8640-3200_256     │ 0.088                     │ DYN-8640-3200_256        │ 0.066 (-25.000%)              │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-8640-3200_512     │ 0.112                     │ DYN-8640-3200_512        │ 0.111 (-0.893%)               │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-8640-3200_4096    │ 0.798                     │ DYN-8640-3200_4096       │ 0.768 (-3.759%)               │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-3200-8640_1       │ 0.007                     │ DYN-3200-8640_1          │ 0.034 (+385.714%)             │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-3200-8640_16      │ 0.046                     │ DYN-3200-8640_16         │ 0.039 (-15.217%)              │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-3200-8640_32      │ 0.046                     │ DYN-3200-8640_32         │ 0.047 (+2.174%)               │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-3200-8640_64      │ 0.060                     │ DYN-3200-8640_64         │ 0.059 (-1.667%)               │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-3200-8640_128     │ 0.093                     │ DYN-3200-8640_128        │ 0.093 (-0.000%)               │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-3200-8640_256     │ 0.111                     │ DYN-3200-8640_256        │ 0.102 (-8.108%)               │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-3200-8640_512     │ 0.168                     │ DYN-3200-8640_512        │ 0.148 (-11.905%)              │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-3200-8640_4096    │ 0.801                     │ DYN-3200-8640_4096       │ 0.758 (-5.368%)               │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-1024-8192_1       │ 0.005                     │ DYN-1024-8192_1          │ 0.022 (+340.000%)             │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-1024-8192_16      │ 0.030                     │ DYN-1024-8192_16         │ 0.030 (-0.000%)               │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-1024-8192_32      │ 0.030                     │ DYN-1024-8192_32         │ 0.030 (-0.000%)               │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-1024-8192_64      │ 0.034                     │ DYN-1024-8192_64         │ 0.033 (-2.941%)               │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-1024-8192_128     │ 0.038                     │ DYN-1024-8192_128        │ 0.038 (-0.000%)               │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-1024-8192_256     │ 0.045                     │ DYN-1024-8192_256        │ 0.043 (-4.444%)               │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-1024-8192_512     │ 0.064                     │ DYN-1024-8192_512        │ 0.062 (-3.125%)               │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-1024-8192_4096    │ 0.276                     │ DYN-1024-8192_4096       │ 0.255 (-7.609%)               │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-8192-8192_1       │ 0.011                     │ DYN-8192-8192_1          │ 0.026 (+136.364%)             │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-8192-8192_16      │ 0.036                     │ DYN-8192-8192_16         │ 0.036 (-0.000%)               │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-8192-8192_32      │ 0.046                     │ DYN-8192-8192_32         │ 0.044 (-4.348%)               │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-8192-8192_64      │ 0.066                     │ DYN-8192-8192_64         │ 0.065 (-1.515%)               │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-8192-8192_128     │ 0.113                     │ DYN-8192-8192_128        │ 0.103 (-8.850%)               │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-8192-8192_256     │ 0.176                     │ DYN-8192-8192_256        │ 0.146 (-17.045%)              │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-8192-8192_512     │ 0.251                     │ DYN-8192-8192_512        │ 0.217 (-13.546%)              │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-8192-8192_4096    │ 1.759                     │ DYN-8192-8192_4096       │ 1.762 (+0.171%)               │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-28672-8192_1      │ 0.126                     │ DYN-28672-8192_1         │ 0.130 (+3.175%)               │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-28672-8192_16     │ 0.161                     │ DYN-28672-8192_16        │ 0.135 (-16.149%)              │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-28672-8192_32     │ 0.264                     │ DYN-28672-8192_32        │ 0.142 (-46.212%)              │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-28672-8192_64     │ 0.301                     │ DYN-28672-8192_64        │ 0.177 (-41.196%)              │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-28672-8192_128    │ 0.395                     │ DYN-28672-8192_128       │ 0.250 (-36.709%)              │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-28672-8192_256    │ 0.558                     │ DYN-28672-8192_256       │ 0.437 (-21.685%)              │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-28672-8192_512    │ 0.867                     │ DYN-28672-8192_512       │ 0.827 (-4.614%)               │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-28672-8192_4096   │ 6.310                     │ DYN-28672-8192_4096      │ 6.328 (+0.285%)               │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-8192-28672_1      │ 0.125                     │ DYN-8192-28672_1         │ 0.168 (+34.400%)              │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-8192-28672_16     │ 0.202                     │ DYN-8192-28672_16        │ 0.184 (-8.911%)               │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-8192-28672_32     │ 0.321                     │ DYN-8192-28672_32        │ 0.179 (-44.237%)              │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-8192-28672_64     │ 0.326                     │ DYN-8192-28672_64        │ 0.210 (-35.583%)              │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-8192-28672_128    │ 0.547                     │ DYN-8192-28672_128       │ 0.387 (-29.250%)              │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-8192-28672_256    │ 0.671                     │ DYN-8192-28672_256       │ 0.548 (-18.331%)              │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-8192-28672_512    │ 1.058                     │ DYN-8192-28672_512       │ 0.842 (-20.416%)              │ N/A                       │
├───────────────────────┼───────────────────────────┼──────────────────────────┼───────────────────────────────┼───────────────────────────┤
│ DYN-8192-28672_4096   │ 6.218                     │ DYN-8192-28672_4096      │ 6.044 (-2.798%)               │ N/A                       │
╘═══════════════════════╧═══════════════════════════╧══════════════════════════╧═══════════════════════════════╧═══════════════════════════╛

I think we should have a figure to show the speedup vs. marlin and cutlass.

@LeiWang1999
Copy link
Contributor Author

For optimal performance with contiguous batching, the default optimization policy is set to single batch to maintain consistent weights. If you want to enable contiguous batching performance, you’ll need to adjust this setting accordingly.

config = MatmulConfig(
*args,
optimize_stratety=OptimizeStrategy.ContigousBatching
)

The benchmark results is:

contigious_batching_perf

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant