99GPU_A100 = "NVIDIA-A100-40GB"
1010GPU_A100_SXM4 = "NVIDIA-A100-SXM4-40GB"
1111GPU_V100 = "Tesla-V100-PCIE-32GB"
12+ GPU_H100 = "NVIDIA-H100-80GB-HBM3"
1213GPU_UNKNOWN_TYPE = "GPU_UNKNOWN_TYPE"
1314
1415# GPU Resource - MIG Geometries
2324SU_A100_GPU = "OpenShift GPUA100"
2425SU_A100_SXM4_GPU = "OpenShift GPUA100SXM4"
2526SU_V100_GPU = "OpenShift GPUV100"
27+ SU_H100_GPU = "OpenShift GPUH100"
2628SU_UNKNOWN_GPU = "OpenShift Unknown GPU"
2729SU_UNKNOWN_MIG_GPU = "OpenShift Unknown MIG GPU"
2830SU_UNKNOWN = "Openshift Unknown"
@@ -65,6 +67,7 @@ def get_service_unit(self) -> ServiceUnit:
6567 GPU_A100 : SU_A100_GPU ,
6668 GPU_A100_SXM4 : SU_A100_SXM4_GPU ,
6769 GPU_V100 : SU_V100_GPU ,
70+ GPU_H100 : SU_H100_GPU ,
6871 }
6972
7073 A100_SXM4_MIG = {
@@ -79,6 +82,7 @@ def get_service_unit(self) -> ServiceUnit:
7982 SU_A100_GPU : {"gpu" : 1 , "cpu" : 24 , "ram" : 74 },
8083 SU_A100_SXM4_GPU : {"gpu" : 1 , "cpu" : 31 , "ram" : 240 },
8184 SU_V100_GPU : {"gpu" : 1 , "cpu" : 48 , "ram" : 192 },
85+ SU_H100_GPU : {"gpu" : 1 , "cpu" : 124 , "ram" : 360 },
8286 SU_UNKNOWN_GPU : {"gpu" : 1 , "cpu" : 8 , "ram" : 64 },
8387 SU_UNKNOWN_MIG_GPU : {"gpu" : 1 , "cpu" : 8 , "ram" : 64 },
8488 SU_UNKNOWN : {"gpu" : - 1 , "cpu" : 1 , "ram" : 1 },
@@ -179,6 +183,7 @@ class Rates:
179183 gpu_a100 : Decimal
180184 gpu_a100sxm4 : Decimal
181185 gpu_v100 : Decimal
186+ gpu_h100 : Decimal
182187
183188
184189@dataclass
@@ -201,6 +206,7 @@ class ProjectInvoce:
201206 SU_A100_GPU : 0 ,
202207 SU_A100_SXM4_GPU : 0 ,
203208 SU_V100_GPU : 0 ,
209+ SU_H100_GPU : 0 ,
204210 SU_UNKNOWN_GPU : 0 ,
205211 SU_UNKNOWN_MIG_GPU : 0 ,
206212 SU_UNKNOWN : 0 ,
@@ -222,6 +228,8 @@ def get_rate(self, su_type) -> Decimal:
222228 return self .rates .gpu_a100sxm4
223229 if su_type == SU_V100_GPU :
224230 return self .rates .gpu_v100
231+ if su_type == SU_H100_GPU :
232+ return self .rates .gpu_h100
225233 return Decimal (0 )
226234
227235 def generate_invoice_rows (self , report_month ) -> List [str ]:
0 commit comments