Add weak timings
This commit is contained in:
@@ -129,6 +129,42 @@ def make_cpu_ex(x: int, y: int, z: int) -> Experiment:
|
||||
)
|
||||
|
||||
|
||||
def make_gpu_ex(x: int, y: int, z: int) -> Experiment:
|
||||
num_blocks = x * y * z
|
||||
gpus_per_node = num_blocks if num_blocks <= 4 else 4
|
||||
num_nodes = 1 if num_blocks <= 4 else num_blocks // 4
|
||||
|
||||
return Experiment(
|
||||
job_name=f"weak-gpu-{x:02}-{y:02}-{z:02}",
|
||||
account="cellsinsilico",
|
||||
partition="gpus",
|
||||
extra_sbatch_line=f"#SBATCH --gres=gpu:{gpus_per_node}",
|
||||
nastja_binary_path="/p/project/cellsinsilico/paulslustigebude/nastja/build-cuda/nastja",
|
||||
nodes=num_nodes,
|
||||
tasks=num_blocks,
|
||||
num_blocks=(x, y, z),
|
||||
domain_scale=(x, y, z),
|
||||
)
|
||||
|
||||
|
||||
def make_booster_ex(x: int, y: int, z: int) -> Experiment:
|
||||
num_blocks = x * y * z
|
||||
gpus_per_node = num_blocks if num_blocks <= 4 else 4
|
||||
num_nodes = 1 if num_blocks <= 4 else num_blocks // 4
|
||||
|
||||
return Experiment(
|
||||
job_name=f"weak-booster-{x:02}-{y:02}-{z:02}",
|
||||
account="hkf6",
|
||||
partition="booster",
|
||||
extra_sbatch_line=f"#SBATCH --gres=gpu:{gpus_per_node}",
|
||||
nastja_binary_path="/p/project/cellsinsilico/paulslustigebude/nastja/build-cuda/nastja",
|
||||
nodes=num_nodes,
|
||||
tasks=num_blocks,
|
||||
num_blocks=(x, y, z),
|
||||
domain_scale=(x, y, z),
|
||||
)
|
||||
|
||||
|
||||
experiments = [
|
||||
make_cpu_ex(4, 4, 3),
|
||||
make_cpu_ex(4, 4, 6),
|
||||
@@ -138,6 +174,25 @@ experiments = [
|
||||
make_cpu_ex(8, 8, 24),
|
||||
make_cpu_ex(8, 16, 24),
|
||||
make_cpu_ex(16, 16, 24),
|
||||
make_cpu_ex(16, 16, 48),
|
||||
|
||||
make_gpu_ex(1, 1, 1),
|
||||
make_gpu_ex(1, 1, 2),
|
||||
make_gpu_ex(1, 2, 2),
|
||||
make_gpu_ex(2, 2, 2),
|
||||
make_gpu_ex(2, 2, 4),
|
||||
make_gpu_ex(2, 4, 4),
|
||||
make_gpu_ex(4, 4, 4),
|
||||
make_gpu_ex(4, 4, 8),
|
||||
|
||||
make_booster_ex(1, 1, 1),
|
||||
make_booster_ex(1, 1, 2),
|
||||
make_booster_ex(1, 2, 2),
|
||||
make_booster_ex(2, 2, 2),
|
||||
make_booster_ex(2, 2, 4),
|
||||
make_booster_ex(2, 4, 4),
|
||||
make_booster_ex(4, 4, 4),
|
||||
make_booster_ex(4, 4, 8),
|
||||
]
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
@@ -12,9 +12,13 @@ def show_seconds(s: float) -> str:
|
||||
if __name__ == '__main__':
|
||||
p = argparse.ArgumentParser(description="Make a latex table from a timings tsv")
|
||||
p.add_argument("timingfile")
|
||||
p.add_argument("--weak", action="store_true")
|
||||
args = p.parse_args()
|
||||
|
||||
df = pandas.read_csv(args.timingfile, sep="\t")
|
||||
|
||||
for i in range(len(df)):
|
||||
print(f"{df['nodes'][i]} & {df['tasks'][i]} & {show_seconds(df['mean_time'][i])} & {show_seconds(df['std_time'][i])} & {df['speedup'][i]:.02f} & {df['speedup_error'][i]:.02f} \\\\")
|
||||
if not args.weak:
|
||||
print(f"{df['nodes'][i]} & {df['tasks'][i]} & {show_seconds(df['mean_time'][i])} & {show_seconds(df['std_time'][i])} & {df['speedup'][i]:.02f} & {df['speedup_error'][i]:.02f} \\\\")
|
||||
else:
|
||||
print(f"{df['nodes'][i]} & {df['tasks'][i]} & {show_seconds(df['mean_time'][i])} & {show_seconds(df['std_time'][i])} & {df['efficiency'][i]:.02f} & {df['efficiency_error'][i]:.02f} \\\\")
|
||||
|
||||
Reference in New Issue
Block a user