Spaces:
Running
Running
Harshil Patel
commited on
Commit
·
0e323dc
1
Parent(s):
03de09a
Add code to make total budget expand with total resources
Browse files
src/manager/budget_manager.py
CHANGED
|
@@ -1,10 +1,32 @@
|
|
| 1 |
from src.manager.utils.singleton import singleton
|
| 2 |
-
|
|
|
|
| 3 |
@singleton
|
| 4 |
class BudgetManager():
|
| 5 |
TOTAL_BUDGET = 100
|
| 6 |
current_expense = 0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 8 |
def get_total_budget(self):
|
| 9 |
return self.TOTAL_BUDGET
|
| 10 |
|
|
|
|
| 1 |
from src.manager.utils.singleton import singleton
|
| 2 |
+
import torch
|
| 3 |
+
import psutil
|
| 4 |
@singleton
|
| 5 |
class BudgetManager():
|
| 6 |
TOTAL_BUDGET = 100
|
| 7 |
current_expense = 0
|
| 8 |
+
is_budget_initialized = False
|
| 9 |
+
def __init__(self):
|
| 10 |
+
if not self.is_budget_initialized:
|
| 11 |
+
self.TOTAL_BUDGET = self.set_total_budget()
|
| 12 |
+
self.is_budget_initialized = True
|
| 13 |
|
| 14 |
+
def set_total_budget(self)-> int:
|
| 15 |
+
total_mem = 0
|
| 16 |
+
if torch.cuda.is_available():
|
| 17 |
+
gpu_index = torch.cuda.current_device()
|
| 18 |
+
gpu_name = torch.cuda.get_device_name(gpu_index)
|
| 19 |
+
total_vram = torch.cuda.get_device_properties(gpu_index).total_memory
|
| 20 |
+
total_mem = total_vram /1024 ** 3
|
| 21 |
+
print(f"GPU detected: {gpu_name}")
|
| 22 |
+
print(f"Total VRAM: {total_mem:.2f} GB")
|
| 23 |
+
else:
|
| 24 |
+
mem = psutil.virtual_memory()
|
| 25 |
+
total_mem = mem.total/ 1024 ** 3
|
| 26 |
+
print("No GPU detected. Using CPU.")
|
| 27 |
+
print(f"Total RAM: {total_mem:.2f} GB")
|
| 28 |
+
return round((total_mem / 16) * 100)
|
| 29 |
+
|
| 30 |
def get_total_budget(self):
|
| 31 |
return self.TOTAL_BUDGET
|
| 32 |
|