|
1 | | -#!/usr/bin/env python3 |
2 | | - |
3 | 1 | import argparse |
4 | 2 | import json |
5 | 3 | import numpy as np |
|
30 | 28 |
|
31 | 29 | # iterate JSON object |
32 | 30 | for rank in range(len(input_data)): |
33 | | - rank_name = "rank" + str(rank) |
| 31 | + input_rank_name = "rank" + str(rank) |
| 32 | + group = int(input_data[input_rank_name]["attributes"]["group"]) |
| 33 | + output_rank_name = "rank" + str(len(input_data) * group + rank) |
34 | 34 |
|
35 | 35 | # collect statistics per rank |
36 | | - if rank_name not in data_per_rank: |
37 | | - data_per_rank[rank_name] = {} |
| 36 | + if output_rank_name not in data_per_rank: |
| 37 | + data_per_rank[output_rank_name] = {} |
38 | 38 |
|
39 | | - for event in input_data[rank_name]["events"]: |
40 | | - event_data = np.asarray(input_data[rank_name]["events"][event]) |
| 39 | + for event in input_data[input_rank_name]["events"]: |
| 40 | + event_data = np.asarray(input_data[input_rank_name]["events"][event]) |
41 | 41 | event_data = np.apply_along_axis(lambda x: (x[1] - x[0]) * 1e-6, 1, event_data) |
42 | 42 |
|
43 | 43 | # collect data for statistic across all ranks |
44 | | - if event not in data_per_rank[rank_name]: |
45 | | - data_per_rank[rank_name][event] = [] |
46 | | - data_per_rank[rank_name][event].append(event_data) |
| 44 | + if event not in data_per_rank[output_rank_name]: |
| 45 | + data_per_rank[output_rank_name][event] = [] |
| 46 | + data_per_rank[output_rank_name][event].append(event_data) |
47 | 47 |
|
48 | 48 |
|
49 | 49 | if not args.no_compute_per_rank_statistics: |
|
124 | 124 | if col_name == "event": |
125 | 125 | event_name = col |
126 | 126 | else: |
127 | | - pgf_plots_header_str += "{}_{},".format(event_name, col_name) |
| 127 | + pgf_plots_header_str += "{}-{},".format(event_name, col_name) |
128 | 128 | pgf_plots_data_str += str(col) + "," |
129 | 129 | print(pgf_plots_header_str[:-1].replace(" ", "").replace("/", "")) |
130 | 130 | print(pgf_plots_data_str[:-1]) |
0 commit comments