in src/hpcadvisor/plot_generator.py [0:0]
def gen_data_table(datapoints, dynamic_filter, appexectime=False):
print(f"{'SKU':<30}{'NumNodes':<10}{'PPRPerc':<10}{'NumCores':<10}{'ExecTime':<10}{'Cost':<10}")
print("-" * 80)
tablepoints = []
for datapoint in datapoints:
matched_dynamic_filter = dataset_handler.dynamic_filter_matches(
datapoint, dynamic_filter
)
if not matched_dynamic_filter:
continue
new_datapoint = {}
new_datapoint["exec_time"] = datapoint["exec_time"]
if appexectime:
new_datapoint["exec_time"] = datapoint["appexectime"]
new_datapoint["sku"] = datapoint["sku"]
new_datapoint["nnodes"] = datapoint["nnodes"]
new_datapoint["ppr_perc"] = int(datapoint["ppr_perc"])
new_datapoint["total_cores"] = datapoint["total_cores"]
cost = price_puller.get_price("eastus", datapoint["sku"]) * \
datapoint["nnodes"] * \
new_datapoint["exec_time"] / 3600.0
new_datapoint["cost"] = cost
tablepoints.append(new_datapoint)
tablepoints = sorted(tablepoints, key=lambda x: x["exec_time"])
for point in tablepoints:
print(f"{point['sku']:<30}{point['nnodes']:<10}{point['ppr_perc']:<10}{point['total_cores']:<10}{point['exec_time']:<10}{point['cost']:<10.2f}")