@@ -419,6 +419,11 @@ def _get_gpus_for_zone(zone: str) -> 'pd.DataFrame':
419
419
if count != 8 :
420
420
# H100 only has 8 cards.
421
421
continue
422
+ if 'H100-MEGA-80GB' in gpu_name :
423
+ gpu_name = 'H100-MEGA'
424
+ if count != 8 :
425
+ # H100-MEGA only has 8 cards.
426
+ continue
422
427
if 'VWS' in gpu_name :
423
428
continue
424
429
if gpu_name .startswith ('TPU-' ):
@@ -447,6 +452,7 @@ def _gpu_info_from_name(name: str) -> Optional[Dict[str, List[Dict[str, Any]]]]:
447
452
'A100-80GB' : 80 * 1024 ,
448
453
'A100' : 40 * 1024 ,
449
454
'H100' : 80 * 1024 ,
455
+ 'H100-MEGA' : 80 * 1024 ,
450
456
'P4' : 8 * 1024 ,
451
457
'T4' : 16 * 1024 ,
452
458
'V100' : 16 * 1024 ,
@@ -491,12 +497,17 @@ def get_gpu_price(row: pd.Series, spot: bool) -> Optional[float]:
491
497
if sku ['category' ]['usageType' ] != ondemand_or_spot :
492
498
continue
493
499
494
- gpu_name = row ['AcceleratorName' ]
495
- if gpu_name == 'A100-80GB' :
496
- gpu_name = 'A100 80GB'
497
- if gpu_name == 'H100' :
498
- gpu_name = 'H100 80GB'
499
- if f'{ gpu_name } GPU' not in sku ['description' ]:
500
+ gpu_names = [row ['AcceleratorName' ]]
501
+ if gpu_names [0 ] == 'A100-80GB' :
502
+ gpu_names = ['A100 80GB' ]
503
+ if gpu_names [0 ] == 'H100' :
504
+ gpu_names = ['H100 80GB' ]
505
+ if gpu_names [0 ] == 'H100-MEGA' :
506
+ # Seems that H100-MEGA has two different descriptions in SKUs in
507
+ # different regions: 'H100 80GB Mega' and 'H100 80GB Plus'.
508
+ gpu_names = ['H100 80GB Mega' , 'H100 80GB Plus' ]
509
+ if not any (f'{ gpu_name } GPU' in sku ['description' ]
510
+ for gpu_name in gpu_names ):
500
511
continue
501
512
502
513
unit_price = _get_unit_price (sku )
0 commit comments