Commit 1320b55d by Philippe SWARTVAGHER

### Address network performance sensible to data locality in model

parent 42fe986f
 ... ... @@ -79,8 +79,7 @@ class CommCompModel: self.comm_alone_model = [self.comm_alone_bw] * len(self.x_model) if predict_now: self.__predict_total() self.__predict_comm_comp() self.predict() def print_params(self): print(f"max_together_i: {self.max_together_i:8d} [x={self.xs[self.max_together_i]}]") ... ... @@ -95,10 +94,13 @@ class CommCompModel: print(f"comm_alone_bw: {self.comm_alone_bw:10.1f}") print(f"xs: {self.xs}") def __predict_total(self): if self.total_model is not None: return def predict(self): self.__predict_total() self.__predict_comm_comp() def __predict_total(self): # Compute what is the total throughput the memory system can support: # This is just a trick to know later more easily if we reach the maximum # or not. The values can be different (higher) than lonely computations, ... ... @@ -114,11 +116,6 @@ class CommCompModel: def __predict_comm_comp(self): if self.comm_with_comp_model is not None: assert(self.comp_with_comm_model is not None) assert(self.comp_alone_model is not None) return self.comm_with_comp_model = [] self.comp_with_comm_model = [] self.comp_alone_model = [] ... ...
 #!/usr/bin/env python3 import argparse import copy import glob import matplotlib.pyplot as plt from matplotlib.ticker import MaxNLocator ... ... @@ -148,9 +149,18 @@ for numa_comp in range(topo.nb_numa_nodes_total): # Decision of which model to apply for communications: if cli_args.model: if numa_comp == numa_comm and numa_comp >= topo.nb_numa_nodes_per_socket: # Remote, diagonal comm_values_model = model_remote.comm_with_comp_model else: comm_values_model = model_local.comm_with_comp_model comm_model = copy.deepcopy(model_local) if numa_comm >= topo.nb_numa_nodes_per_socket: # On some machines (eg AMD with IB 200GB/s) the network # performance is very sensible to placement, so use the # nominal remote perf for all configuration where the comm # memory is bound remotely. comm_model.comm_alone_bw = model_remote.comm_alone_bw comm_model.predict() comm_values_model = comm_model.comm_with_comp_model graph.add_comm_curve( comm_values_model, ... ...
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!