Skip to content

Commit c52c948

Browse files
committed
add documentationchanges
1 parent 4746450 commit c52c948

File tree

8 files changed

+81
-31
lines changed

8 files changed

+81
-31
lines changed

.gitignore

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,9 @@ data/
4343
/docs/build
4444
/site
4545

46-
# Quarto Reports
46+
# Quarto Report files
4747
.quarto
48-
*.html
48+
*.html
49+
*.pdf
50+
*.yml
51+
*.pkl

docs/analysis/frequency_analysis.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@
22
title: Frequency Analysis
33
---
44

5-
::: src.analysis.frequency_analysis
5+
<!-- TODO (Ayush): Update when frequency analysis is merged-->
6+
<!-- ::: src.analysis.frequency_analysis -->

docs/demo.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ This page showcases the DS4CG Unity Job Analytics project in action with interac
66

77
Explore our comprehensive Jupyter notebooks that demonstrate the full capabilities:
88

9-
### 📊 [Frequency Analysis Demo](../notebooks/Frequency Analysis/)
9+
### 📊 [Frequency Analysis Demo](notebooks/Frequency Analysis/)
1010
**Complete end-to-end workflow** showing:
1111

1212
- Database connection and preprocessing
@@ -15,26 +15,26 @@ Explore our comprehensive Jupyter notebooks that demonstrate the full capabiliti
1515
- Interactive visualizations
1616
- Best/worst user identification
1717

18-
### 📈 [Basic Visualization](../notebooks/Basic%20Visualization/)
18+
### 📈 [Basic Visualization](notebooks/Basic%20Visualization/)
1919
**Column statistics and exploratory analysis** including:
2020

2121
- Data loading and preprocessing
2222
- Column-level statistical visualizations
2323
- Distribution analysis
2424
- Data quality assessment
2525

26-
### 🔍 [Efficiency Analysis](../notebooks/Efficiency%20Analysis/)
26+
### 🔍 [Efficiency Analysis](notebooks/Efficiency%20Analysis/)
2727
**Advanced efficiency analysis techniques** covering:
2828

2929
- Job filtering and metrics calculation
3030
- User and PI group analysis
3131
- Inefficiency identification
3232
- Performance comparison workflows
3333

34-
### 🎯 [Clustering Analysis](../notebooks/clustering_analysis/)
34+
### 🎯 [Clustering Analysis](notebooks/clustering_analysis/)
3535
**User behavior clustering and pattern analysis**
3636

37-
### 📊 [Frequency Analysis](../notebooks/Frequency%20Analysis/)
37+
### 📊 [Frequency Analysis](notebooks/Frequency%20Analysis/)
3838
**Time series frequency analysis and patterns**
3939

4040
---

mkdocs.yml

Lines changed: 64 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,31 @@ site_name: "Unity Job Analytics"
22

33
theme:
44
name: "material"
5+
features:
6+
- navigation.tabs # Enables horizontal top nav tabs
7+
- navigation.tabs.sticky # Keeps tabs visible when scrolling
8+
- navigation.sections # Groups subsections under tabs
9+
- toc.integrate # Puts table of contents in main pane
10+
palette:
11+
# Palette toggle for light mode
12+
- scheme: default
13+
toggle:
14+
icon: material/brightness-7
15+
name: Switch to dark mode
16+
17+
# Palette toggle for dark mode
18+
- scheme: slate
19+
toggle:
20+
icon: material/brightness-4
21+
name: Switch to light mode
522

623
plugins:
724
- search
25+
- mkdocs-jupyter:
26+
include_source: true
27+
allow_errors: true
28+
ignore_h1_titles: true
29+
830
- mkdocstrings:
931
handlers:
1032
python:
@@ -21,20 +43,47 @@ plugins:
2143
# render Parameters/Returns as a table
2244
docstring_section_style: list
2345

46+
# Configure markdown extensions
47+
markdown_extensions:
48+
- attr_list
49+
- md_in_html
50+
- pymdownx.arithmatex:
51+
generic: true
52+
53+
extra_javascript:
54+
# - javascripts/mathjax.js
55+
- https://unpkg.com/mathjax@3/es5/tex-mml-chtml.js
56+
57+
# Suppress warnings for external links to notebooks
58+
validation:
59+
omitted_files: warn
60+
absolute_links: warn
61+
unrecognized_links: warn
62+
63+
docs_dir: docs
64+
2465
nav:
2566
- Home: 'index.md'
26-
- About: 'about.md'
27-
- Data:
28-
- 'preprocess.md'
29-
- Analysis:
30-
- 'analysis/efficiency_analysis.md'
31-
- Visualization:
32-
- 'visualization/visualization.md'
33-
- 'visualization/columns.md'
34-
- 'visualization/efficiency_metrics.md'
35-
- 'visualization/models.md'
36-
- MVP Scripts:
37-
- 'mvp_scripts/cpu_metrics.md'
38-
- 'mvp_scripts/gpu_metrics.md'
39-
- 'mvp_scripts/zero_gpu_usage.md'
40-
67+
- Getting Started: 'getting-started.md'
68+
- Data and Efficiency Metrics: 'data-and-metrics.md'
69+
- Demo: 'demo.md'
70+
- Notebooks:
71+
- Efficiency Analysis: 'notebooks/Efficiency Analysis.ipynb'
72+
- Visualization: 'notebooks/Basic Visualization.ipynb'
73+
# - Frequency Analysis: 'notebooks/Frequency Analysis.ipynb'
74+
- Technical Documentation:
75+
- Data Processing: 'preprocess.md'
76+
- Analysis:
77+
- 'analysis/efficiency_analysis.md'
78+
- 'analysis/frequency_analysis.md'
79+
- Visualization:
80+
- 'visualization/visualization.md'
81+
- 'visualization/columns.md'
82+
- 'visualization/efficiency_metrics.md'
83+
- 'visualization/models.md'
84+
- MVP Scripts:
85+
- 'mvp_scripts/cpu_metrics.md'
86+
- 'mvp_scripts/gpu_metrics.md'
87+
- 'mvp_scripts/zero_gpu_usage.md'
88+
- FAQ: 'faq.md'
89+
- Contact: 'contact.md'

mvp_scripts/gpu_metrics.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
vram_labels = [0] + vram_cutoffs[2:]
2828

2929

30-
def get_requested_vram(constraints):
30+
def get_requested_vram(constraints) -> int:
3131
"""Get the minimum requested VRAM from job constraints.
3232
3333
Args:
@@ -67,8 +67,6 @@ def __init__(
6767
metricsfile (str, optional): Path to the DuckDB database file containing job data.
6868
min_elapsed (int, optional): Minimum elapsed time (in seconds) for jobs to be included.
6969
"""
70-
if local:
71-
metricsfile = "../data/slurm_data_small.db"
7270
self.con = duckdb.connect(metricsfile)
7371
# TODO - handle array jobs properly
7472
df = self.con.query(

mvp_scripts/zero_gpu_usage_list.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
HOURS = "{hours} unused GPU hours. The most recent jobs are the following:"
2424

2525

26-
def get_job_type_breakdown(interactive, jobs):
26+
def get_job_type_breakdown(interactive, jobs) -> str:
2727
"""Generate a summary string describing the breakdown of interactive and batch jobs.
2828
2929
Args:
@@ -45,7 +45,7 @@ def get_job_type_breakdown(interactive, jobs):
4545
)
4646

4747

48-
def pi_report(account, days_back=60):
48+
def pi_report(account, days_back=60) -> None:
4949
"""Create an efficiency report for a given PI group, summarizing GPU usage and waste.
5050
5151
Args:
@@ -74,7 +74,7 @@ def pi_report(account, days_back=60):
7474

7575
def main(
7676
dbfile="./modules/admin-resources/reporting/slurm_data.db", userlist="./users.csv", sendEmail=False, days_back=60
77-
):
77+
) -> None:
7878
"""Print out a list of users who habitually waste GPU hours, and optionally email them a report.
7979
8080
Args:

src/analysis/efficiency_analysis.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ def load_preprocessed_jobs_dataframe_from_duckdb(
5353
raise RuntimeError(f"Failed to load jobs DataFrame: {e}") from e
5454

5555

56-
5756
class EfficiencyAnalysis:
5857
"""
5958
Class to encapsulate the efficiency analysis of jobs based on various metrics.

src/preprocess/preprocess.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -821,4 +821,4 @@ def preprocess_data(
821821
processing_error_logs.clear()
822822
error_indices.clear()
823823

824-
return data
824+
return data

0 commit comments

Comments
 (0)