Skip to content
DeepForgeby svx
All problems
HardDeep Learningdl-434

Scaling Efficiency From Step Time

Problem

Compute data-parallel scaling efficiency from measured step times: efficiency = single_gpu_step_ms / (num_gpus * multi_gpu_step_ms). A value of 1.0 is perfect scaling, below 1.0 means communication or straggler overhead, and above 1.0 means superlinear speedup.

The signature is scaling_efficiency(single_gpu_step_ms, multi_gpu_step_ms, num_gpus).

Hint

Ideal multi-GPU time is single-GPU time divided by num_gpus.

Test cases

case 1
in: [100,15,8]
expected: 0.8333333333
case 2
in: [100,12.5,8]
expected: 1
case 3
in: [50,10,4]
expected: 1.25
case 4
in: [100,100,1]
expected: 1
Starter codePython
def scaling_efficiency(single_gpu_step_ms, multi_gpu_step_ms, num_gpus):
    # Your code here
    pass

4 test cases · run your code against them in the editor