Skip to content

Commit f216dd5

Browse files
committed
added nvidia gpu speed control
1 parent 6ba2dcb commit f216dd5

File tree

3 files changed

+9
-0
lines changed

3 files changed

+9
-0
lines changed

hush/hardware/factory.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,8 @@ async def driver(
7171
cls.drivers[host][group]["instance"] = cisco.M5(host)
7272
elif name == "OpenJBOD":
7373
cls.drivers[host][group]["instance"] = openjbod.Rp2040(host)
74+
elif name == "Nvidia":
75+
cls.drivers[host][group]["instance"] = nvidia.Gpu(host)
7476
else:
7577
cls.drivers[host][group]["instance"] = None
7678
if group == "cpu":

hush/hardware/nvidia.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,9 @@ async def get_temp(self):
2222
logger.info(f"{self.hostname} failed to get gpu temperature:")
2323
logger.info(f"result = {result}")
2424
raise e
25+
26+
async def set_speed(self, speed):
27+
await self.ssh.shell(f'export DISPLAY=:0 && nvidia-settings -c $DISPLAY -a "GPUFanControlState=1" -a "GPUTargetFanSpeed={speed}"')
28+
29+
async def close(self):
30+
await self.ssh.shell('export DISPLAY=:0 && nvidia-settings -c $DISPLAY -a "GPUFanControlState=0"')

hush/tabs/configure.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
"Cisco M4",
4646
"Cisco M5",
4747
"OpenJBOD",
48+
"Nvidia",
4849
]
4950
drive_sensor_names = ["None", "SMART All", "SMART Discrete"]
5051
gpu_sensor_names = ["None", "Nvidia", "Supermicro"]

0 commit comments

Comments
 (0)