File size: 5,153 Bytes
c8763bd 134a499 51a4daf ab5f5f1 76b423c 5662938 76b423c 565029d c8763bd 565029d b3a1bf0 51a4daf c8763bd 0c0d434 6f3a090 ab5f5f1 ba300f2 2460b35 fc0121b 006ec58 d072778 837d8d6 a8a6326 3fb861d d19e350 ba300f2 0c0d434 eb945e7 ab5f5f1 76b56d8 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 |
import gradio as gr
import src.dependency # noqa
from src.assets import custom_css
# from src.attention import create_attn_plots
from src.content import ABOUT, CITATION_BUTTON, CITATION_BUTTON_LABEL, LOGO, TITLE
from src.hardware import load_hardware_configs
from src.leaderboard import create_leaderboard_table
from src.llm_perf import get_llm_perf_df
from src.map import create_lat_score_mem_plot
from src.panel import (
create_control_callback,
create_control_panel,
create_select_callback,
)
configs = load_hardware_configs("hardware.yaml")
demo = gr.Blocks(
css=custom_css,
theme=gr.themes.Default(primary_hue="indigo", secondary_hue="indigo"),
)
with demo:
print("Building demo")
gr.HTML(LOGO, elem_classes="logo")
gr.HTML(TITLE, elem_classes="title")
####################### HARDWARE TABS #######################
with gr.Tabs(elem_classes="tabs"):
for id, config in enumerate(configs):
with gr.TabItem(config.description, id=id):
####################### HARDWARE DETAILS #######################
if config.detail:
gr.Markdown(config.detail, elem_classes="descriptive-text")
# ####################### CONTROL PANEL #######################
(
filter_button,
machine_value,
subsets_value,
backends_value,
hardware_type_value,
score_slider,
memory_slider,
backend_checkboxes,
datatype_checkboxes,
optimization_checkboxes,
quantization_checkboxes,
kernels_checkboxes,
) = create_control_panel(
machine=config.machine,
subsets=config.subsets,
backends=config.backends,
hardware_type=config.hardware_type,
hardware_provider=config.hardware_provider,
)
####################### HARDWARE SUBTABS #######################
with gr.Tabs(elem_classes="subtabs"):
open_llm_perf_df = get_llm_perf_df(
machine=config.machine,
subsets=config.subsets,
backends=config.backends,
hardware_type=config.hardware_type,
)
####################### LEADERBOARD TAB #######################
with gr.TabItem("Leaderboard π
", id=0):
search_bar, columns_checkboxes, leaderboard_table = (
create_leaderboard_table(open_llm_perf_df)
)
# with gr.TabItem("Find Your Best Model π§", id=1):
# lat_score_mem_plot = create_lat_score_mem_plot(
# open_llm_perf_df
# )
# ####################### CONTROL CALLBACK #######################
# create_control_callback(
# filter_button,
# # inputs
# machine_value,
# subsets_value,
# backends_value,
# hardware_type_value,
# score_slider,
# memory_slider,
# backend_checkboxes,
# datatype_checkboxes,
# optimization_checkboxes,
# quantization_checkboxes,
# kernels_checkboxes,
# # interactive
# columns_checkboxes,
# search_bar,
# # outputs
# leaderboard_table,
# lat_score_mem_plot,
# # attn_prefill_plot,
# # attn_decode_plot,
# # quant_krnl_prefill_plot,
# # quant_krnl_decode_plot,
# )
# create_select_callback(
# # inputs
# machine_value,
# subsets_value,
# backends_value,
# hardware_type_value,
# # interactive
# columns_checkboxes,
# search_bar,
# # outputs
# leaderboard_table,
# )
####################### ABOUT TAB #######################
with gr.TabItem("About π", id=len(configs)):
gr.Markdown(ABOUT, elem_classes="descriptive-text")
####################### CITATION
with gr.Row():
with gr.Accordion("π Citation", open=False):
citation_button = gr.Textbox(
value=CITATION_BUTTON,
label=CITATION_BUTTON_LABEL,
elem_id="citation-button",
show_copy_button=True,
)
print("Building demo end")
if __name__ == "__main__":
demo.queue().launch(ssr_mode=False)
|