From 2358ca527bd0d2f8a99ced33586cc0d72ed51092 Mon Sep 17 00:00:00 2001
From: Harry Mellor <19981378+hmellor@users.noreply.github.com>
Date: Tue, 18 Feb 2025 10:52:39 +0000
Subject: [PATCH] [Doc]: Improve feature tables (#13224)
Signed-off-by: Harry Mellor <19981378+hmellor@users.noreply.github.com>
---
docs/source/_static/custom.css | 8 +
docs/source/conf.py | 9 +-
docs/source/features/compatibility_matrix.md | 153 +++++++++---------
.../quantization/supported_hardware.md | 94 +++++------
docs/source/models/pooling_models.md | 8 +-
5 files changed, 143 insertions(+), 129 deletions(-)
create mode 100644 docs/source/_static/custom.css
diff --git a/docs/source/_static/custom.css b/docs/source/_static/custom.css
new file mode 100644
index 0000000000000..79bd2082b49e8
--- /dev/null
+++ b/docs/source/_static/custom.css
@@ -0,0 +1,8 @@
+.vertical-table-header th.head:not(.stub) {
+ writing-mode: sideways-lr;
+ white-space: nowrap;
+ max-width: 0;
+ p {
+ margin: 0;
+ }
+}
diff --git a/docs/source/conf.py b/docs/source/conf.py
index f4e8c8b949102..84c9a27be3bf0 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -78,8 +78,12 @@ html_theme_options = {
'use_repository_button': True,
'use_edit_page_button': True,
}
+# Add any paths that contain custom static files (such as style sheets) here,
+# relative to this directory. They are copied after the builtin static files,
+# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ["_static"]
html_js_files = ["custom.js"]
+html_css_files = ["custom.css"]
myst_url_schemes = {
'http': None,
@@ -121,11 +125,6 @@ if READTHEDOCS_VERSION_TYPE == "tag":
if os.path.exists(header_file):
os.remove(header_file)
-# Add any paths that contain custom static files (such as style sheets) here,
-# relative to this directory. They are copied after the builtin static files,
-# so a file named "default.css" will overwrite the builtin "default.css".
-# html_static_path = ['_static']
-
# Generate additional rst documentation here.
def setup(app):
diff --git a/docs/source/features/compatibility_matrix.md b/docs/source/features/compatibility_matrix.md
index ee5db70c7d5c8..6056ca0d366b5 100644
--- a/docs/source/features/compatibility_matrix.md
+++ b/docs/source/features/compatibility_matrix.md
@@ -4,8 +4,14 @@
The tables below show mutually exclusive features and the support on some hardware.
+The symbols used have the following meanings:
+
+- ✅ = Full compatibility
+- 🟠 = Partial compatibility
+- ❌ = No compatibility
+
:::{note}
-Check the '✗' with links to see tracking issue for unsupported feature/hardware combination.
+Check the ❌ or 🟠 with links to see tracking issue for unsupported feature/hardware combination.
:::
## Feature x Feature
@@ -29,6 +35,7 @@ Check the '✗' with links to see tracking issue for unsupported feature/hardwar
:header-rows: 1
:stub-columns: 1
:widths: auto
+:class: vertical-table-header
- * Feature
* [CP](#chunked-prefill)
@@ -48,7 +55,7 @@ Check the '✗' with links to see tracking issue for unsupported feature/hardwar
* beam-search
* guided dec
- * [CP](#chunked-prefill)
- *
+ * ✅
*
*
*
@@ -66,7 +73,7 @@ Check the '✗' with links to see tracking issue for unsupported feature/hardwar
*
- * [APC](#automatic-prefix-caching)
* ✅
- *
+ * ✅
*
*
*
@@ -82,9 +89,9 @@ Check the '✗' with links to see tracking issue for unsupported feature/hardwar
*
*
- * [LoRA](#lora-adapter)
- * [✗](gh-pr:9057)
* ✅
- *
+ * ✅
+ * ✅
*
*
*
@@ -102,7 +109,7 @@ Check the '✗' with links to see tracking issue for unsupported feature/hardwar
* ✅
* ✅
* ✅
- *
+ * ✅
*
*
*
@@ -118,9 +125,9 @@ Check the '✗' with links to see tracking issue for unsupported feature/hardwar
- * [SD](#spec_decode)
* ✅
* ✅
- * ✗
+ * ❌
+ * ✅
* ✅
- *
*
*
*
@@ -138,7 +145,7 @@ Check the '✗' with links to see tracking issue for unsupported feature/hardwar
* ✅
* ✅
* ✅
- *
+ * ✅
*
*
*
@@ -150,13 +157,13 @@ Check the '✗' with links to see tracking issue for unsupported feature/hardwar
*
*
- * pooling
- * ✗
- * ✗
- * ✗
- * ✗
- * ✗
- * ✗
- *
+ * ❌
+ * ❌
+ * ❌
+ * ❌
+ * ❌
+ * ❌
+ * ✅
*
*
*
@@ -167,14 +174,14 @@ Check the '✗' with links to see tracking issue for unsupported feature/hardwar
*
*
- * enc-dec
- * ✗
- * [✗](gh-issue:7366)
- * ✗
- * ✗
- * [✗](gh-issue:7366)
+ * ❌
+ * [❌](gh-issue:7366)
+ * ❌
+ * ❌
+ * [❌](gh-issue:7366)
+ * ✅
* ✅
* ✅
- *
*
*
*
@@ -190,9 +197,9 @@ Check the '✗' with links to see tracking issue for unsupported feature/hardwar
* ✅
* ✅
* ✅
- * ✗
+ * ❌
+ * ✅
* ✅
- *
*
*
*
@@ -205,12 +212,12 @@ Check the '✗' with links to see tracking issue for unsupported feature/hardwar
* ✅
* ✅
* ✅
- * [✗](gh-pr:8199)
- * ✅
- * ✗
* ✅
* ✅
- *
+ * ❌
+ * ✅
+ * ✅
+ * ✅
*
*
*
@@ -222,49 +229,49 @@ Check the '✗' with links to see tracking issue for unsupported feature/hardwar
* ✅
* ✅
* ✅
- * ✗
+ * ❌
+ * ✅
+ * ❌
+ * ❌
* ✅
- * ✗
- * ✗
* ✅
* ✅
- *
*
*
*
*
*
- * multi-step
- * ✗
+ * ❌
* ✅
- * ✗
+ * ❌
+ * ✅
+ * ❌
+ * ✅
+ * ❌
+ * ❌
* ✅
- * ✗
* ✅
- * ✗
- * ✗
* ✅
- * [✗](gh-issue:8198)
* ✅
- *
*
*
*
*
- * mm
* ✅
- * [✗](gh-pr:8348)
- * [✗](gh-pr:7199)
- * ?
- * ?
+ * [🟠](gh-pr:8348)
+ * [🟠](gh-pr:4194)
+ * ❔
+ * ❔
* ✅
* ✅
* ✅
* ✅
* ✅
* ✅
- * ?
- *
+ * ❔
+ * ✅
*
*
*
@@ -273,16 +280,16 @@ Check the '✗' with links to see tracking issue for unsupported feature/hardwar
* ✅
* ✅
* ✅
- * [✗](gh-issue:6137)
+ * [❌](gh-issue:6137)
* ✅
- * ✗
+ * ❌
* ✅
* ✅
* ✅
- * ?
- * [✗](gh-issue:7968)
+ * ❔
+ * [❌](gh-issue:7968)
+ * ✅
* ✅
- *
*
*
- * beam-search
@@ -290,35 +297,35 @@ Check the '✗' with links to see tracking issue for unsupported feature/hardwar
* ✅
* ✅
* ✅
- * [✗](gh-issue:6137)
+ * [❌](gh-issue:6137)
* ✅
- * ✗
+ * ❌
* ✅
* ✅
* ✅
- * ?
- * [✗](gh-issue:7968)
- * ?
+ * ❔
+ * [❌](gh-issue:7968)
+ * ❔
+ * ✅
* ✅
- *
*
- * guided dec
* ✅
* ✅
- * ?
- * ?
- * [✗](gh-issue:11484)
+ * ❔
+ * ❔
+ * [❌](gh-issue:11484)
* ✅
- * ✗
- * ?
+ * ❌
+ * ❔
* ✅
* ✅
* ✅
- * [✗](gh-issue:9893)
- * ?
+ * [❌](gh-issue:9893)
+ * ❔
+ * ✅
* ✅
* ✅
- *
:::
(feature-x-hardware)=
@@ -339,7 +346,7 @@ Check the '✗' with links to see tracking issue for unsupported feature/hardwar
* CPU
* AMD
- * [CP](#chunked-prefill)
- * [✗](gh-issue:2729)
+ * [❌](gh-issue:2729)
* ✅
* ✅
* ✅
@@ -347,7 +354,7 @@ Check the '✗' with links to see tracking issue for unsupported feature/hardwar
* ✅
* ✅
- * [APC](#automatic-prefix-caching)
- * [✗](gh-issue:3687)
+ * [❌](gh-issue:3687)
* ✅
* ✅
* ✅
@@ -368,7 +375,7 @@ Check the '✗' with links to see tracking issue for unsupported feature/hardwar
* ✅
* ✅
* ✅
- * [✗](gh-issue:8475)
+ * [❌](gh-issue:8475)
* ✅
- * [SD](#spec_decode)
* ✅
@@ -384,7 +391,7 @@ Check the '✗' with links to see tracking issue for unsupported feature/hardwar
* ✅
* ✅
* ✅
- * ✗
+ * ❌
* ✅
- * pooling
* ✅
@@ -393,7 +400,7 @@ Check the '✗' with links to see tracking issue for unsupported feature/hardwar
* ✅
* ✅
* ✅
- * ?
+ * ❔
- * enc-dec
* ✅
* ✅
@@ -401,7 +408,7 @@ Check the '✗' with links to see tracking issue for unsupported feature/hardwar
* ✅
* ✅
* ✅
- * ✗
+ * ❌
- * mm
* ✅
* ✅
@@ -432,15 +439,15 @@ Check the '✗' with links to see tracking issue for unsupported feature/hardwar
* ✅
* ✅
* ✅
- * ✗
- * ✗
+ * ❌
+ * ❌
- * multi-step
* ✅
* ✅
* ✅
* ✅
* ✅
- * [✗](gh-issue:8477)
+ * [❌](gh-issue:8477)
* ✅
- * best-of
* ✅
diff --git a/docs/source/features/quantization/supported_hardware.md b/docs/source/features/quantization/supported_hardware.md
index 555ed4ce4c8db..a5bd8caf77cd0 100644
--- a/docs/source/features/quantization/supported_hardware.md
+++ b/docs/source/features/quantization/supported_hardware.md
@@ -20,93 +20,93 @@ The table below shows the compatibility of various quantization implementations
* AWS Inferentia
* Google TPU
- * AWQ
- * ✗
+ * ❌
* ✅︎
* ✅︎
* ✅︎
* ✅︎
- * ✗
+ * ❌
* ✅︎
* ✅︎
- * ✗
- * ✗
+ * ❌
+ * ❌
- * GPTQ
* ✅︎
* ✅︎
* ✅︎
* ✅︎
* ✅︎
- * ✗
+ * ❌
* ✅︎
* ✅︎
- * ✗
- * ✗
+ * ❌
+ * ❌
- * Marlin (GPTQ/AWQ/FP8)
- * ✗
- * ✗
+ * ❌
+ * ❌
* ✅︎
* ✅︎
* ✅︎
- * ✗
- * ✗
- * ✗
- * ✗
- * ✗
+ * ❌
+ * ❌
+ * ❌
+ * ❌
+ * ❌
- * INT8 (W8A8)
- * ✗
+ * ❌
* ✅︎
* ✅︎
* ✅︎
* ✅︎
- * ✗
- * ✗
+ * ❌
+ * ❌
* ✅︎
- * ✗
- * ✗
+ * ❌
+ * ❌
- * FP8 (W8A8)
- * ✗
- * ✗
- * ✗
+ * ❌
+ * ❌
+ * ❌
* ✅︎
* ✅︎
* ✅︎
- * ✗
- * ✗
- * ✗
- * ✗
+ * ❌
+ * ❌
+ * ❌
+ * ❌
- * AQLM
* ✅︎
* ✅︎
* ✅︎
* ✅︎
* ✅︎
- * ✗
- * ✗
- * ✗
- * ✗
- * ✗
+ * ❌
+ * ❌
+ * ❌
+ * ❌
+ * ❌
- * bitsandbytes
* ✅︎
* ✅︎
* ✅︎
* ✅︎
* ✅︎
- * ✗
- * ✗
- * ✗
- * ✗
- * ✗
+ * ❌
+ * ❌
+ * ❌
+ * ❌
+ * ❌
- * DeepSpeedFP
* ✅︎
* ✅︎
* ✅︎
* ✅︎
* ✅︎
- * ✗
- * ✗
- * ✗
- * ✗
- * ✗
+ * ❌
+ * ❌
+ * ❌
+ * ❌
+ * ❌
- * GGUF
* ✅︎
* ✅︎
@@ -114,16 +114,16 @@ The table below shows the compatibility of various quantization implementations
* ✅︎
* ✅︎
* ✅︎
- * ✗
- * ✗
- * ✗
- * ✗
+ * ❌
+ * ❌
+ * ❌
+ * ❌
:::
- Volta refers to SM 7.0, Turing to SM 7.5, Ampere to SM 8.0/8.6, Ada to SM 8.9, and Hopper to SM 9.0.
-- "✅︎" indicates that the quantization method is supported on the specified hardware.
-- "✗" indicates that the quantization method is not supported on the specified hardware.
+- ✅︎ indicates that the quantization method is supported on the specified hardware.
+- ❌ indicates that the quantization method is not supported on the specified hardware.
:::{note}
This compatibility chart is subject to change as vLLM continues to evolve and expand its support for different hardware platforms and quantization methods.
diff --git a/docs/source/models/pooling_models.md b/docs/source/models/pooling_models.md
index 9704ccee745c4..764b67241999e 100644
--- a/docs/source/models/pooling_models.md
+++ b/docs/source/models/pooling_models.md
@@ -28,10 +28,10 @@ The selected option sets the default pooler used to extract the final hidden sta
- * Embedding (`embed`)
* `LAST`
* ✅︎
- * ✗
+ * ❌
- * Classification (`classify`)
* `LAST`
- * ✗
+ * ❌
* ✅︎
- * Sentence Pair Scoring (`score`)
* \*
@@ -39,8 +39,8 @@ The selected option sets the default pooler used to extract the final hidden sta
* \*
- * Reward Modeling (`reward`)
* `ALL`
- * ✗
- * ✗
+ * ❌
+ * ❌
:::
\*The default pooler is always defined by the model.