Skip to content

Commit 09655a4

Browse files
markurtzanmarquessjmonsondagrayvid
authored
Multi Process Scheduler Implementation, Benchmarker, and Report Generation Refactor (#96)
Full refactor of GuideLLM enabling better overall performance to ensure minimal overhead for benchmarking with a new multiprocess and threaded scheduler along with significant updates to the output formats enabling better analysis, visibility, and clarity. <img width="668" alt="Screenshot 2025-04-11 at 2 26 13 PM" src="https://github.com/user-attachments/assets/a723854a-7fe0-4eb2-9408-f632e747c3c2" /> Fixes: - #92 - #77 - #47 - #79 --------- Co-authored-by: Alexandre Marques <alexandre@neuralmagic.com> Co-authored-by: Samuel Monson <smonson@redhat.com> Co-authored-by: David Gray <40244437+dagrayvid@users.noreply.github.com>
1 parent 3b346b5 commit 09655a4

File tree

107 files changed

+8792
-10270
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

107 files changed

+8792
-10270
lines changed

.github/workflows/development.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ jobs:
1111
strategy:
1212
matrix:
1313
python:
14-
- "3.12"
15-
- "3.8"
14+
- "3.13"
15+
- "3.9"
1616
steps:
1717
- uses: actions/checkout@v4
1818
- name: Set up Python
@@ -29,8 +29,8 @@ jobs:
2929
strategy:
3030
matrix:
3131
python:
32-
- "3.12"
33-
- "3.8"
32+
- "3.13"
33+
- "3.9"
3434
steps:
3535
- uses: actions/checkout@v4
3636
- name: Set up Python

.github/workflows/nightly.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ jobs:
1010
strategy:
1111
matrix:
1212
python:
13+
- "3.13"
1314
- "3.12"
1415
- "3.11"
1516
- "3.10"
1617
- "3.9"
17-
- "3.8"
1818
steps:
1919
- uses: actions/checkout@v4
2020
- name: Set up Python
@@ -31,11 +31,11 @@ jobs:
3131
strategy:
3232
matrix:
3333
python:
34+
- "3.13"
3435
- "3.12"
3536
- "3.11"
3637
- "3.10"
3738
- "3.9"
38-
- "3.8"
3939
steps:
4040
- uses: actions/checkout@v4
4141
- name: Set up Python
@@ -52,11 +52,11 @@ jobs:
5252
strategy:
5353
matrix:
5454
python:
55+
- "3.13"
5556
- "3.12"
5657
- "3.11"
5758
- "3.10"
5859
- "3.9"
59-
- "3.8"
6060
steps:
6161
- uses: actions/checkout@v4
6262
- name: Set up Python

.github/workflows/quality.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ jobs:
1414
strategy:
1515
matrix:
1616
python:
17-
- "3.12"
18-
- "3.8"
17+
- "3.13"
18+
- "3.9"
1919
steps:
2020
- uses: actions/checkout@v4
2121
- name: Set up Python
@@ -32,8 +32,8 @@ jobs:
3232
strategy:
3333
matrix:
3434
python:
35-
- "3.12"
36-
- "3.8"
35+
- "3.13"
36+
- "3.9"
3737
steps:
3838
- uses: actions/checkout@v4
3939
- name: Set up Python
@@ -52,7 +52,7 @@ jobs:
5252
- name: Set up Python
5353
uses: actions/setup-python@v5
5454
with:
55-
python-version: "3.8"
55+
python-version: "3.9"
5656
- name: Install pre-commit
5757
run: pip install pre-commit
5858
- name: Run pre-commit checks

.github/workflows/release.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@ jobs:
1111
strategy:
1212
matrix:
1313
python:
14+
- "3.13"
1415
- "3.12"
1516
- "3.11"
1617
- "3.10"
1718
- "3.9"
18-
- "3.8"
1919
steps:
2020
- uses: actions/checkout@v4
2121
- name: Set up Python
@@ -32,11 +32,11 @@ jobs:
3232
strategy:
3333
matrix:
3434
python:
35+
- "3.13"
3536
- "3.12"
3637
- "3.11"
3738
- "3.10"
3839
- "3.9"
39-
- "3.8"
4040
steps:
4141
- uses: actions/checkout@v4
4242
- name: Set up Python
@@ -53,11 +53,11 @@ jobs:
5353
strategy:
5454
matrix:
5555
python:
56+
- "3.13"
5657
- "3.12"
5758
- "3.11"
5859
- "3.10"
5960
- "3.9"
60-
- "3.8"
6161
steps:
6262
- uses: actions/checkout@v4
6363
- name: Set up Python

pyproject.toml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ where = ["src"]
88
include = ["*"]
99

1010
[tool.setuptools.package-data]
11-
guidellm = ["*"]
11+
"guidellm.data" = ["*.gz"]
1212

1313

1414
# ************************************************
@@ -32,6 +32,7 @@ dependencies = [
3232
"loguru",
3333
"numpy",
3434
"pillow",
35+
"protobuf",
3536
"pydantic>=2.0.0",
3637
"pydantic-settings>=2.0.0",
3738
"pyyaml>=6.0.0",
@@ -77,7 +78,7 @@ dev = [
7778

7879

7980
[project.entry-points.console_scripts]
80-
guidellm = "guidellm.main:generate_benchmark_report_cli"
81+
guidellm = "guidellm.__main__:cli"
8182
guidellm-config = "guidellm.config:print_config"
8283

8384

src/guidellm/__init__.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,22 @@
66
# flake8: noqa
77

88
import os
9-
import transformers # type: ignore
9+
import logging
10+
import contextlib
1011

11-
os.environ["TOKENIZERS_PARALLELISM"] = "false" # Silence warnings for tokenizers
12-
transformers.logging.set_verbosity_error() # Silence warnings for transformers
1312

13+
with open(os.devnull, "w") as devnull, contextlib.redirect_stderr(
14+
devnull
15+
), contextlib.redirect_stdout(devnull):
16+
from transformers.utils import logging as hf_logging # type: ignore[import]
17+
18+
# Set the log level for the transformers library to ERROR
19+
# to ignore None of PyTorch, TensorFlow found
20+
os.environ["TOKENIZERS_PARALLELISM"] = "false" # Silence warnings for tokenizers
21+
hf_logging.set_verbosity_error()
22+
logging.getLogger("transformers").setLevel(logging.ERROR)
1423

1524
from .config import settings
1625
from .logger import configure_logger, logger
17-
from .main import generate_benchmark_report
1826

1927
__all__ = ["configure_logger", "logger", "settings", "generate_benchmark_report"]

0 commit comments

Comments
 (0)