def main(argv): scfg = maybe_forced_preset(presets.MostEfficient) scfg.scheduler = 'pack' scfg.logconf = 'disable' if argv: run_seq(scfg.copy(output_dir=FLAGS.save_dir), *parse_actions_from_cmd(argv)) return run_seq(scfg.copy(output_dir=FLAGS.save_dir / "salus" / "1"), WTL.create("mnistsf", 25, 100), Pause.Wait, WTL.create("mnistsf", 25, 200), Pause.Wait, WTL.create("mnistsf", 25, 300), ) run_seq(scfg.copy(output_dir=FLAGS.save_dir / "tf"), WTL.create("mnistsf", 25, 100, executor=Executor.TF), # 1min Pause.Wait, WTL.create("mnistsf", 25, 200, executor=Executor.TF), # 1min Pause.Wait, WTL.create("mnistsf", 25, 300, executor=Executor.TF), # 1min ) for conc in range(2, 10): actions = [WTL.create("mnistsf", 25, 100) for _ in range(conc)] run_seq(scfg.copy(output_dir=FLAGS.save_dir / "salus" / str(conc)), *actions)
def main(argv): scfg = maybe_forced_preset(presets.Profiling) scfg.scheduler = 'preempt' scfg.disable_wc = True if argv: run_seq(scfg.copy(output_dir=FLAGS.save_dir), *parse_actions_from_cmd(argv)) return run_seq(scfg.copy(output_dir=FLAGS.save_dir), WTL.create("inception3", 25, 1298), Pause(60), WTL.create("alexnet", 100, 508), ) if not FLAGS.with_ref: return # we also need reference data run_seq(presets.MostEfficient(output_dir=FLAGS.save_dir / 'reference'), WTL.create("alexnet", 100, 508), Pause.Wait, WTL.create("alexnet", 100, 508, executor=Executor.TF), )
def main(argv): scfg = maybe_forced_preset(presets.AllocProf) if argv: run_seq(scfg.copy(output_dir=FLAGS.save_dir), *parse_actions_from_cmd(argv)) return run_seq(scfg.copy(output_dir=FLAGS.save_dir), WTL.create("alexnet", 25, 200), WTL.create("alexnet", 25, 200), WTL.create("alexnet", 25, 200), WTL.create("alexnet", 25, 200), WTL.create("alexnet", 25, 200), ) run_tf(FLAGS.save_dir, WTL.create("alexnet", 25, 200, executor=Executor.TF), Pause.Wait, WTL.create("alexnet", 25, 200, executor=Executor.TF), Pause.Wait, WTL.create("alexnet", 25, 200, executor=Executor.TF), Pause.Wait, WTL.create("alexnet", 25, 200, executor=Executor.TF), Pause.Wait, WTL.create("alexnet", 25, 200, executor=Executor.TF), )
def main(argv): scfg = maybe_forced_preset(presets.Profiling) if argv: run_seq(scfg.copy(output_dir=FLAGS.save_dir), *parse_actions_from_cmd(argv)) return run_seq(scfg.copy(output_dir=FLAGS.save_dir), WTL.create("resnet50", 50, 265), WTL.create("resnet50", 50, 265), )
def main(argv): scfg = maybe_forced_preset(presets.AllocProf) if argv: run_seq(scfg.copy(output_dir=FLAGS.save_dir), *parse_actions_from_cmd(argv)) return run_seq(scfg.copy(output_dir=FLAGS.save_dir), WTL.create("inception3", 100, 165), WTL.create("resnet50", 50, 798), WTL.create("resnet152", 75, 19), Pause.Wait, Pause.Manual, WTL.create("inception3", 100, 165), WTL.create("resnet50", 50, 798), WTL.create("resnet152", 75, 19))
def main(argv): scfg = maybe_forced_preset(presets.Nvprof) scfg.scheduler = 'pack' scfg.logconf = 'disable' if argv: run_seq(scfg.copy(output_dir=FLAGS.save_dir), *parse_actions_from_cmd(argv)) return run_seq(scfg.copy(output_dir=FLAGS.save_dir / "5mnistsf25"), WTL.create("mnistsf", 25, 500), WTL.create("mnistsf", 25, 500), WTL.create("mnistsf", 25, 500), WTL.create("mnistsf", 25, 500), WTL.create("mnistsf", 25, 500), )
def main(argv): scfg = maybe_forced_preset(presets.AllocProf) if argv: run_seq(scfg.copy(output_dir=FLAGS.save_dir), *parse_actions_from_cmd(argv)) return run_seq(scfg.copy(output_dir=FLAGS.save_dir), WTL.create("resnet50", 50, 265), Pause(10), WTL.create("googlenet", 100, 200), Pause(10), WTL.create("inception3", 25, 170), Pause(10), WTL.create("vgg16", 50, 50), Pause(10), WTL.create("overfeat", 100, 80), )
def main(argv): scfg = maybe_forced_preset(presets.MostEfficient) if argv: run_seq(scfg.copy(output_dir=FLAGS.save_dir), *parse_actions_from_cmd(argv)) return run_seq(scfg.copy(output_dir=FLAGS.save_dir / "makespan_3of"), WTL.create("overfeat", 50, 424), WTL.create("overfeat", 50, 424), WTL.create("overfeat", 50, 424), ) run_seq(scfg.copy(output_dir=FLAGS.save_dir / "makespan_3res"), WTL.create("resnet50", 50, 265), WTL.create("resnet50", 50, 265), WTL.create("resnet50", 50, 265), )
def main(argv): # type: (Sequence[str]) -> None scfg = maybe_forced_preset(presets.MostEfficient) scfg.scheduler = 'pack' scfg.disable_adc = True if argv: run_seq(scfg.copy(output_dir=FLAGS.save_dir), *parse_actions_from_cmd(argv)) return wtl = WTL.from_name('alexnet') rcfg = RunConfig(25, 2726, None) # check if we have reference JCT reference_jct = wtl.geometry(rcfg, Executor.Salus).jct if reference_jct is None: start_from = 1 logger.warning(f"No reference JCT data available for `{wtl.canonical_name(rcfg)}'") else: start_from = 2 report(1, reference_jct, 1) logger.info(f'Will stop when JCT degratation larger than {FLAGS.break_when}') for concurrent in range(start_from, FLAGS.uplimit): # run them at once logger.info(f'Runing {concurrent} workloads together') workloads = [wtl.create_from_rcfg(rcfg) for _ in range(concurrent)] run_seq(scfg.copy(output_dir=FLAGS.save_dir / f"{concurrent}"), *workloads) # calculate average jct for w in workloads: update_jct(w) jcts = [w.geometry.jct for w in workloads] avgjct = np.mean(jcts) # type: float ratio = avgjct / reference_jct report(concurrent, avgjct, ratio) if ratio > FLAGS.break_when: break