diff --git a/capriccio/generate.py b/capriccio/generate.py index e3a8ab4c..2e8341bc 100644 --- a/capriccio/generate.py +++ b/capriccio/generate.py @@ -1,19 +1,4 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -""" -Generate the Capriccio dataset. +"""Generate the Capriccio dataset. This script takes as input the path to the Sentiment140 dataset and slices it into 38 overlapping slices. Each slice has 425000 diff --git a/docker/Dockerfile b/docker/Dockerfile index 4579fec6..b1cecb5c 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,17 +1,3 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - # Build instructions # If you're building this image locally, make sure you specify `TARGETARCH`. # Currently, this image supports `amd64` and `arm64`. For instance: diff --git a/docs/gen_ref_pages.py b/docs/gen_ref_pages.py index 1ba7a270..7a6fce5a 100644 --- a/docs/gen_ref_pages.py +++ b/docs/gen_ref_pages.py @@ -1,17 +1,3 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """Generate source code references pages.""" from pathlib import Path diff --git a/examples/pipeline_frequency_optimizer/run_optimization.py b/examples/pipeline_frequency_optimizer/run_optimization.py index 85b674f0..cc23b4d0 100644 --- a/examples/pipeline_frequency_optimizer/run_optimization.py +++ b/examples/pipeline_frequency_optimizer/run_optimization.py @@ -1,17 +1,3 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """Example script of running pipeline frequency optimization.""" from __future__ import annotations diff --git a/examples/research_reproducibility/zeus_nsdi23/run_alibaba.py b/examples/research_reproducibility/zeus_nsdi23/run_alibaba.py index 0e7f79ec..d5c67246 100644 --- a/examples/research_reproducibility/zeus_nsdi23/run_alibaba.py +++ b/examples/research_reproducibility/zeus_nsdi23/run_alibaba.py @@ -1,17 +1,3 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """Example script for running the Zeus trace-driven simulator.""" from __future__ import annotations diff --git a/examples/research_reproducibility/zeus_nsdi23/run_single.py b/examples/research_reproducibility/zeus_nsdi23/run_single.py index 1ba75246..9e7a3bc1 100644 --- a/examples/research_reproducibility/zeus_nsdi23/run_single.py +++ b/examples/research_reproducibility/zeus_nsdi23/run_single.py @@ -1,17 +1,3 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """Example script for running the Zeus trace-driven simulator.""" from __future__ import annotations diff --git a/pyproject.toml b/pyproject.toml index c0d1e684..7a050e89 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,7 +7,7 @@ name = "zeus-ml" description = "A framework for deep learning energy measurement and optimization." readme = "README.md" authors = [ - {name = "Jae-Won Chung", email = "jwnchung@umich.edu"}, + {name = "Zeus Team"}, ] license = {text = "Apache 2.0"} classifiers = [ @@ -16,8 +16,10 @@ classifiers = [ "Topic :: Scientific/Engineering :: Artificial Intelligence", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", ] -keywords = ["deep-learning", "power", "energy", "sustainability", "mlsys"] +keywords = ["deep-learning", "power", "energy", "carbon", "sustainability", "mlsys"] requires-python = ">=3.9" dependencies = [ "numpy", diff --git a/scripts/preview_docs.sh b/scripts/preview_docs.sh new file mode 100644 index 00000000..74fb7f5a --- /dev/null +++ b/scripts/preview_docs.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +pip list | grep mkdocs-material 2>&1 >/dev/null + +if [[ ! $? -eq 0 ]]; then + echo "Run the following to install documentation build dependnecies:" + echo " pip install '.[docs]'" + exit 1 +fi + +mkdocs serve -a localhost:7777 -w zeus --strict diff --git a/tests/optimizer/batch_size/simulate_with_server.py b/tests/optimizer/batch_size/simulate_with_server.py index 06076e3d..45fb33bd 100644 --- a/tests/optimizer/batch_size/simulate_with_server.py +++ b/tests/optimizer/batch_size/simulate_with_server.py @@ -1,17 +1,3 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """A simulator for running trace-driven Zeus experiments.""" from __future__ import annotations diff --git a/tests/optimizer/test_power_limit_optimizer.py b/tests/optimizer/test_power_limit_optimizer.py index 1c544d8d..a0a856b6 100644 --- a/tests/optimizer/test_power_limit_optimizer.py +++ b/tests/optimizer/test_power_limit_optimizer.py @@ -1,17 +1,3 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - from __future__ import annotations import inspect diff --git a/tests/test_monitor.py b/tests/test_monitor.py index 4daf7027..b41d8e0d 100644 --- a/tests/test_monitor.py +++ b/tests/test_monitor.py @@ -1,17 +1,3 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - from __future__ import annotations import itertools diff --git a/tests/utils/test_env.py b/tests/utils/test_env.py index d9661ead..a3b1cfbb 100644 --- a/tests/utils/test_env.py +++ b/tests/utils/test_env.py @@ -1,17 +1,3 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - from __future__ import annotations import os diff --git a/zeus/__init__.py b/zeus/__init__.py index 5fd2d9f8..8e9bff09 100644 --- a/zeus/__init__.py +++ b/zeus/__init__.py @@ -1,25 +1,12 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """Zeus is a framework for deep learning energy measurement and optimization. -- [`optimizer`][zeus.optimizer]: A collection of optimizers for time and energy -- [`monitor`][zeus.monitor]: Programmatic power and energy measurement tools -- [`utils`][zeus.utils]: Utility functions and classes. -- [`_legacy`][zeus._legacy.policy]: Legacy code mostly to keep our papers reproducible - [`device`][zeus.device]: Abstraction layer over compute devices +- [`monitor`][zeus.monitor]: Programmatic power and energy measurement tools +- [`optimizer`][zeus.optimizer]: A collection of optimizers for time and energy +- [`utils`][zeus.utils]: Utility functions and classes - [`callback`][zeus.callback]: Callback definition +- [`exception`][zeus.exception]: Base exception class definition +- [`_legacy`][zeus._legacy.policy]: Legacy code mostly to keep our papers reproducible """ __version__ = "0.9.1" diff --git a/zeus/_legacy/job.py b/zeus/_legacy/job.py index 2813931c..2665a61a 100644 --- a/zeus/_legacy/job.py +++ b/zeus/_legacy/job.py @@ -1,17 +1,3 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """Defines the Job specification dataclass.""" from __future__ import annotations diff --git a/zeus/_legacy/policy/__init__.py b/zeus/_legacy/policy/__init__.py index e749afe4..1c3c6745 100644 --- a/zeus/_legacy/policy/__init__.py +++ b/zeus/_legacy/policy/__init__.py @@ -1,17 +1,3 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """Optimization policies for Zeus. [`PowerLimitOptimizer`][zeus._legacy.policy.interface.PowerLimitOptimizer] and diff --git a/zeus/_legacy/policy/interface.py b/zeus/_legacy/policy/interface.py index 5336149b..02e9ec0c 100644 --- a/zeus/_legacy/policy/interface.py +++ b/zeus/_legacy/policy/interface.py @@ -1,17 +1,3 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """Abstract classes for implementing custom optimization policies.""" from __future__ import annotations diff --git a/zeus/_legacy/policy/mab.py b/zeus/_legacy/policy/mab.py index a0801a13..6534a29a 100644 --- a/zeus/_legacy/policy/mab.py +++ b/zeus/_legacy/policy/mab.py @@ -1,17 +1,3 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """Multi-Armed Bandit implementations.""" from __future__ import annotations diff --git a/zeus/_legacy/policy/optimizer.py b/zeus/_legacy/policy/optimizer.py index bc46b3aa..8741ff4c 100644 --- a/zeus/_legacy/policy/optimizer.py +++ b/zeus/_legacy/policy/optimizer.py @@ -1,17 +1,3 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """Implementations of various optimization policies. [`JITPowerLimitOptimizer`][zeus._legacy.policy.optimizer.JITPowerLimitOptimizer] and diff --git a/zeus/_legacy/simulate.py b/zeus/_legacy/simulate.py index d57c3395..e8b84505 100644 --- a/zeus/_legacy/simulate.py +++ b/zeus/_legacy/simulate.py @@ -1,17 +1,3 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """A simulator for running trace-driven Zeus experiments.""" from __future__ import annotations diff --git a/zeus/callback.py b/zeus/callback.py index ace972d1..33ae3d2e 100644 --- a/zeus/callback.py +++ b/zeus/callback.py @@ -1,17 +1,3 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """Infrastructure for calling callbacks.""" from __future__ import annotations diff --git a/zeus/monitor/__init__.py b/zeus/monitor/__init__.py index 71a4149b..15663407 100644 --- a/zeus/monitor/__init__.py +++ b/zeus/monitor/__init__.py @@ -1,17 +1,3 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """Time, energy, and power monitors for Zeus. The main class of this module is [`ZeusMonitor`][zeus.monitor.energy.ZeusMonitor]. diff --git a/zeus/monitor/__main__.py b/zeus/monitor/__main__.py index 1baa5104..74ab5f54 100644 --- a/zeus/monitor/__main__.py +++ b/zeus/monitor/__main__.py @@ -1,17 +1,3 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """Zeus Monitor CLI. The CLI supports both power monitoring and energy measurement. diff --git a/zeus/monitor/energy.py b/zeus/monitor/energy.py index 2803e3bd..a6a59293 100644 --- a/zeus/monitor/energy.py +++ b/zeus/monitor/energy.py @@ -1,17 +1,3 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """Measure the GPU time and energy consumption of a block of code.""" from __future__ import annotations diff --git a/zeus/monitor/power.py b/zeus/monitor/power.py index 7a04ab3a..7f843511 100644 --- a/zeus/monitor/power.py +++ b/zeus/monitor/power.py @@ -1,17 +1,3 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """Monitor the power usage of GPUs.""" from __future__ import annotations diff --git a/zeus/optimizer/__init__.py b/zeus/optimizer/__init__.py index 63907ce3..0bb645d4 100644 --- a/zeus/optimizer/__init__.py +++ b/zeus/optimizer/__init__.py @@ -1,15 +1 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """Zeus energy optimizers.""" diff --git a/zeus/optimizer/pipeline_frequency/__init__.py b/zeus/optimizer/pipeline_frequency/__init__.py index 2218107d..464b2652 100644 --- a/zeus/optimizer/pipeline_frequency/__init__.py +++ b/zeus/optimizer/pipeline_frequency/__init__.py @@ -1,17 +1,3 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """Optimize the energy consumption of large model training with Perseus. A a high-level, this optimizer assigns each forward and backward computation diff --git a/zeus/optimizer/pipeline_frequency/common.py b/zeus/optimizer/pipeline_frequency/common.py index fcd595df..89608f3f 100644 --- a/zeus/optimizer/pipeline_frequency/common.py +++ b/zeus/optimizer/pipeline_frequency/common.py @@ -1,17 +1,3 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """Shared constants and models between the server and the client (optimizer).""" from __future__ import annotations diff --git a/zeus/optimizer/pipeline_frequency/frequency_controller.py b/zeus/optimizer/pipeline_frequency/frequency_controller.py index c6baa1ac..2be84d2d 100644 --- a/zeus/optimizer/pipeline_frequency/frequency_controller.py +++ b/zeus/optimizer/pipeline_frequency/frequency_controller.py @@ -1,17 +1,3 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """Controller that sets the GPU's frequency in a non-blocking fashion.""" from __future__ import annotations diff --git a/zeus/optimizer/pipeline_frequency/optimizer.py b/zeus/optimizer/pipeline_frequency/optimizer.py index b23d597f..5861fb95 100644 --- a/zeus/optimizer/pipeline_frequency/optimizer.py +++ b/zeus/optimizer/pipeline_frequency/optimizer.py @@ -1,17 +1,3 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """Pipeline frequency optimizer implementation. The `PipelineFrequencyOptimizer` is to be integrated into the training framework. diff --git a/zeus/optimizer/pipeline_frequency/server/__init__.py b/zeus/optimizer/pipeline_frequency/server/__init__.py index ea566faa..b45f1c74 100644 --- a/zeus/optimizer/pipeline_frequency/server/__init__.py +++ b/zeus/optimizer/pipeline_frequency/server/__init__.py @@ -1,17 +1,3 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """The server guides the `PipelineFrequencyOptimizer` with frequency plans. The server is agnostic to the training framework the diff --git a/zeus/optimizer/pipeline_frequency/server/job_manager.py b/zeus/optimizer/pipeline_frequency/server/job_manager.py index 459a2777..287136d1 100644 --- a/zeus/optimizer/pipeline_frequency/server/job_manager.py +++ b/zeus/optimizer/pipeline_frequency/server/job_manager.py @@ -1,17 +1,3 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """The JobManager singleton class manages all job states.""" from __future__ import annotations diff --git a/zeus/optimizer/pipeline_frequency/server/router.py b/zeus/optimizer/pipeline_frequency/server/router.py index 139949fd..75d51ba7 100644 --- a/zeus/optimizer/pipeline_frequency/server/router.py +++ b/zeus/optimizer/pipeline_frequency/server/router.py @@ -1,17 +1,3 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """Pipeline frequency optimizer server FastAPI router.""" from __future__ import annotations diff --git a/zeus/optimizer/pipeline_frequency/server/scheduler.py b/zeus/optimizer/pipeline_frequency/server/scheduler.py index 8b6debd5..7cb862cc 100644 --- a/zeus/optimizer/pipeline_frequency/server/scheduler.py +++ b/zeus/optimizer/pipeline_frequency/server/scheduler.py @@ -1,17 +1,3 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """Interfaces for defining frequency schedulers.""" from __future__ import annotations diff --git a/zeus/optimizer/power_limit.py b/zeus/optimizer/power_limit.py index c9c94ddd..e232c571 100644 --- a/zeus/optimizer/power_limit.py +++ b/zeus/optimizer/power_limit.py @@ -1,17 +1,3 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """Optimizers that select the optimum power limit. This module contains the following pieces: diff --git a/zeus/utils/__init__.py b/zeus/utils/__init__.py index 45a72348..97e76daf 100644 --- a/zeus/utils/__init__.py +++ b/zeus/utils/__init__.py @@ -1,15 +1 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """Utility functions and classes.""" diff --git a/zeus/utils/async_utils.py b/zeus/utils/async_utils.py index 49c952be..0dffce97 100644 --- a/zeus/utils/async_utils.py +++ b/zeus/utils/async_utils.py @@ -1,17 +1,3 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """Utilities for asyncio.""" from __future__ import annotations diff --git a/zeus/utils/env.py b/zeus/utils/env.py index 3785768a..d607ec69 100644 --- a/zeus/utils/env.py +++ b/zeus/utils/env.py @@ -1,17 +1,3 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """Tools related to environment variables.""" from __future__ import annotations diff --git a/zeus/utils/framework.py b/zeus/utils/framework.py index 6747755a..26aa0251 100644 --- a/zeus/utils/framework.py +++ b/zeus/utils/framework.py @@ -1,17 +1,3 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """Utilities for framework-specific code.""" from __future__ import annotations diff --git a/zeus/utils/logging.py b/zeus/utils/logging.py index fd42e948..e6996fbe 100644 --- a/zeus/utils/logging.py +++ b/zeus/utils/logging.py @@ -1,17 +1,3 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """Utilities for logging.""" import os diff --git a/zeus/utils/lr_scaler.py b/zeus/utils/lr_scaler.py index 3c396e95..c8b43e6d 100644 --- a/zeus/utils/lr_scaler.py +++ b/zeus/utils/lr_scaler.py @@ -1,17 +1,3 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """Classes that enclose learning rate scaling rules.""" import math diff --git a/zeus/utils/metric.py b/zeus/utils/metric.py index 0ae8f218..1429e54a 100644 --- a/zeus/utils/metric.py +++ b/zeus/utils/metric.py @@ -1,17 +1,3 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """Defines the energy-time cost metric function.""" from __future__ import annotations diff --git a/zeus/utils/pydantic_v1.py b/zeus/utils/pydantic_v1.py index 841ee209..b523bf5f 100644 --- a/zeus/utils/pydantic_v1.py +++ b/zeus/utils/pydantic_v1.py @@ -1,17 +1,3 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """Compatibility layer for Pydantic v1 and v2. We don't want to pin any specific version of Pydantic. With this, we can diff --git a/zeus/utils/testing.py b/zeus/utils/testing.py index 9245d9e9..648af146 100644 --- a/zeus/utils/testing.py +++ b/zeus/utils/testing.py @@ -1,17 +1,3 @@ -# Copyright (C) 2023 Jae-Won Chung -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """Utilities for testing.""" from __future__ import annotations