100 lines
2.4 KiB
Markdown
100 lines
2.4 KiB
Markdown
# GPU Power Limit Manager
|
|
|
|
This bash script, named `gpu_power_limit.sh`, provides tools to manage the power limits of NVIDIA GPUs. It allows you to set, reset, or display power limits for all connected GPUs.
|
|
|
|
## Installation
|
|
|
|
1. **Clone the Repository:**
|
|
```
|
|
git clone <your-repository-url> gpu_power_limit
|
|
cd gpu_power_limit
|
|
```
|
|
|
|
2. **Make the Script Executable:**
|
|
```
|
|
chmod +x gpu_power_limit.sh
|
|
```
|
|
|
|
## Usage
|
|
|
|
The script accepts the following commands:
|
|
|
|
- **Set Power Limit:**
|
|
```
|
|
./gpu_power_limit.sh set <limit|percentage%>
|
|
```
|
|
|
|
- `limit`: A numeric value in watts (e.g., `300`).
|
|
- `percentage%`: A percentage reduction from the default limit (e.g., `15%`).
|
|
|
|
- **Reset Power Limit:**
|
|
```
|
|
./gpu_power_limit.sh reset
|
|
```
|
|
|
|
This command resets the power limit of all GPUs to their default values.
|
|
|
|
- **Print Power Limits:**
|
|
```
|
|
./gpu_power_limit.sh print
|
|
```
|
|
|
|
Displays the current, maximum, and minimum power limits for all GPUs.
|
|
|
|
### Examples
|
|
|
|
- Set power limit to 250 watts for all GPUs:
|
|
```
|
|
./gpu_power_limit.sh set 250
|
|
```
|
|
|
|
- Reduce power limit by 10% for all GPUs:
|
|
```
|
|
./gpu_power_limit.sh set 10%
|
|
```
|
|
|
|
- Reset all GPUs to their default power limits:
|
|
```
|
|
./gpu_power_limit.sh reset
|
|
```
|
|
|
|
- Check current power limits:
|
|
```
|
|
./gpu_power_limit.sh print
|
|
```
|
|
|
|
## Requirements
|
|
|
|
- NVIDIA GPUs with support for `nvidia-smi` command.
|
|
- Bash shell.
|
|
|
|
## Notes
|
|
|
|
- Ensure you have the necessary permissions to adjust GPU settings. You might need to run the script with `sudo` if you encounter permission issues.
|
|
- The script checks if the new power limit is above the GPU's minimum power limit to prevent setting values too low for stable operation.
|
|
|
|
## License
|
|
```
|
|
# Copyright 2024 dvosler
|
|
#
|
|
# 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.
|
|
```
|
|
|
|
## Contributing
|
|
- just ask or open an issue
|
|
|
|
## Acknowledgments
|
|
|
|
- NVIDIA for the `nvidia-smi` tool which this script utilizes.
|
|
|
|
Feel free to report issues or suggest improvements via the repository's issue tracker. |