in astra-sim-alibabacloud/inputs/topo/gen_Topo_Template.py [0:0]
def analysis_template(args, default_parameters):
# Basic default parameters
default_parameters = {'rail_optimized': True, 'dual_ToR': False, 'dual_plane': False, 'gpu': 32, 'error_rate':0,
'gpu_per_server': 8, 'gpu_type': 'H100', 'nv_switch_per_server': 1,
'nvlink_bw': '2880Gbps','nv_latency': '0.000025ms', 'latency': '0.0005ms',
'bandwidth': '400Gbps', 'asw_switch_num': 8, 'nics_per_aswitch': 64,
'psw_switch_num': 64, 'ap_bandwidth': "400Gbps", 'asw_per_psw' : 64}
parameters = {}
parameters['topology'] = args.topology
parameters['rail_optimized'] = bool(args.ro)
parameters['dual_ToR'] = bool(args.dt)
parameters['dual_plane'] = bool(args.dp)
if parameters['topology'] == 'Spectrum-X':
default_parameters.update({
'gpu': 4096
})
parameters.update({
'rail_optimized': True,
'dual_ToR': False,
'dual_plane': False,
})
elif parameters['topology'] == 'AlibabaHPN':
default_parameters.update({
'gpu': 15360,
'bandwidth': '200Gbps',
'asw_switch_num': 240,
'nics_per_aswitch': 128,
'psw_switch_num': 120,
'asw_per_psw':240
})
parameters.update({
'rail_optimized': True,
'dual_ToR': True,
'dual_plane': False,
})
if args.dp:
default_parameters.update({
'asw_per_psw':120
})
parameters.update({
'rail_optimized': True,
'dual_ToR': True,
'dual_plane': True,
})
elif parameters['topology'] == 'DCN+':
default_parameters.update({
'gpu': 512,
'asw_switch_num': 8,
'asw_per_psw':8,
'psw_switch_num': 8
})
parameters.update({
'rail_optimized': False,
'dual_ToR': False,
'dual_plane': False,
})
if args.dt:
default_parameters.update({
'bandwidth': '200Gbps',
'nics_per_aswitch': 128,
})
parameters.update({
'rail_optimized': False,
'dual_ToR': True,
'dual_plane': False,
})
parameter_keys = [
'gpu', 'error_rate', 'gpu_per_server', 'gpu_type', 'nv_switch_per_server',
'nvlink_bw', 'nv_latency', 'latency', 'bandwidth', 'asw_switch_num',
'nics_per_aswitch', 'psw_switch_num', 'ap_bandwidth','asw_per_psw'
]
for key in parameter_keys:
parameters[key] = getattr(args, key, None) if getattr(args, key, None) is not None else default_parameters[key]
# for key, value in parameters.items():
# print(f'{key}: {value}')
# print("==================================")
return parameters