Add weak timings
This commit is contained in:
parent
79227e93d9
commit
dac08095c4
1
experiments/eval/data/weak-booster-timings.json
Normal file
1
experiments/eval/data/weak-booster-timings.json
Normal file
File diff suppressed because one or more lines are too long
9
experiments/eval/data/weak-booster.tsv
Normal file
9
experiments/eval/data/weak-booster.tsv
Normal file
@ -0,0 +1,9 @@
|
||||
nodes tasks mean_time std_time efficiency efficiency_error
|
||||
1 1 41.98463099999999 1.4067920862965122 1.0 0.023219381860496473
|
||||
1 2 49.85189340000001 1.7669363566083227 0.8421872899214694 0.020685165974491628
|
||||
1 4 59.9694977 2.209151778903949 0.7000997608822725 0.01787171173813342
|
||||
2 8 72.810012625 0.5538313058789631 0.5766326565034021 0.003039461920431096
|
||||
4 16 84.718001525 5.20969191162485 0.4955809892140865 0.021118450727088397
|
||||
8 32 87.22569569999999 1.7018797711775082 0.4813332890390463 0.0065079080866405825
|
||||
16 64 85.36740952500001 1.0197522041876155 0.49181099946232654 0.004071100890302765
|
||||
32 128 87.5995021046875 0.8707125543332932 0.47927933368645675 0.003301208459097849
|
|
1
experiments/eval/data/weak-cpu-timings.json
Normal file
1
experiments/eval/data/weak-cpu-timings.json
Normal file
File diff suppressed because one or more lines are too long
10
experiments/eval/data/weak-cpu.tsv
Normal file
10
experiments/eval/data/weak-cpu.tsv
Normal file
@ -0,0 +1,10 @@
|
||||
nodes tasks mean_time std_time efficiency efficiency_error
|
||||
1 48 234.09125610833334 4.9756238110995765 1.0 0.013886639526655382
|
||||
2 96 234.09269640000002 1.9886350551995884 0.9999938473447108 0.005550081636855162
|
||||
4 192 239.06532950520833 1.8931447841474947 0.9791936647310181 0.005066063671757703
|
||||
8 384 241.32357499479167 0.977728668984766 0.9700306160033705 0.0025676679349660694
|
||||
16 768 260.8008324059896 12.802824235961744 0.8975863073317291 0.028787758154736998
|
||||
32 1536 266.59983470546877 13.970338204797093 0.8780622702446538 0.03006125980502309
|
||||
64 3072 281.61153985800786 25.95560834859075 0.8312559074332151 0.05005532970709546
|
||||
128 6144 293.4177162058594 10.8076489888669 0.7978088683101088 0.019198998510810975
|
||||
256 12288 310.9775802693196 14.459893325743863 0.7527592693518308 0.022867934404056486
|
|
1
experiments/eval/data/weak-gpu-timings.json
Normal file
1
experiments/eval/data/weak-gpu-timings.json
Normal file
File diff suppressed because one or more lines are too long
9
experiments/eval/data/weak-gpu.tsv
Normal file
9
experiments/eval/data/weak-gpu.tsv
Normal file
@ -0,0 +1,9 @@
|
||||
nodes tasks mean_time std_time efficiency efficiency_error
|
||||
1 1 60.658062599999994 1.8711952545625232 1.0 0.021376748626269895
|
||||
1 2 80.6903592 1.1554429061827625 0.751738661240214 0.007459415624087278
|
||||
1 4 89.01234124999999 1.3979557323025515 0.6814567704677693 0.00741639040919915
|
||||
2 8 101.357940575 4.784240687736861 0.5984539766286584 0.01957478845779047
|
||||
4 16 106.2530252 1.5044057675724636 0.5708831582519497 0.005601211794070455
|
||||
8 32 113.70197445 2.069642901549501 0.5334829310873062 0.006729131548114211
|
||||
16 64 119.22770070624999 0.7600051865549382 0.5087581345667959 0.00224730403456563
|
||||
32 128 121.8124414140625 0.5170666166834136 0.4979627852118346 0.0014647476739746731
|
|
@ -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} \\\\")
|
||||
|
Loading…
x
Reference in New Issue
Block a user