← NVIDIA Interview Insights

NVIDIA·Software Engineer·Technical Phone Screen·Senior

Senior
May 2026

Summary

NVIDIA technical screen for a software engineer role, heavy on parallel computing theory. One question, but it had a lot of moving parts and felt more like a mini lecture than a typical interview.

Questions Asked (1)

Q1

State Amdahl's Law and derive the theoretical maximum speedup S(N) for N processors given a parallelizable fraction p of execution time. Then walk through: the asymptotic limit as N grows unbounded, what this means for GPU/parallel workload design, how it compares to Gustafson's Law, and a numeric example using p=0.95 at N=10 and N=1000.

Technical Trade-offsSystem DesignAlgorithms & Data Structures
Author's notes

This was a lot to unpack in one question.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clearly stating Amdahl's Law and deriving the speedup formula S(N) = 1 / ((1-p) + p/N). Then discuss the asymptotic limit as N → ∞, its implications for GPU design, contrast with Gustafson's Law, and compute the numeric example for p=0.95 at N=10 and N=1000.

Pro tip: Emphasize that Amdahl's Law assumes fixed problem size, while Gustafson's Law assumes scaled problem size—this distinction is crucial for GPU workloads where problem sizes often grow with available parallelism.

1. State and Derive Amdahl's Law

Define the serial and parallel fractions, then derive S(N) = 1 / ((1-p) + p/N) by considering total time as serial time plus parallel time divided by N.

2. Analyze Asymptotic Limit

Take the limit as N → ∞ to show S_max = 1/(1-p), and explain that even infinite processors yield finite speedup due to the serial portion.

3. Implications for GPU/Parallel Workload Design

Discuss how Amdahl's Law highlights the need to minimize serial bottlenecks and maximize parallelizable fraction in GPU kernels; mention that GPU design aims to reduce serial overhead.

4. Compare with Gustafson's Law

Explain Gustafson's Law: scaled speedup S(N) = N - (1-p)(N-1) or S(N) = (1-p) + pN, which assumes problem size grows with N, leading to linear speedup for parallelizable parts.

5. Compute Numeric Example

For p=0.95, calculate S(10) = 1 / (0.05 + 0.95/10) ≈ 6.9 and S(1000) = 1 / (0.05 + 0.95/1000) ≈ 19.6, showing diminishing returns.

Key Points to Mention

  • Amdahl's Law formula: S(N) = 1 / ((1-p) + p/N)
  • Asymptotic limit: S_max = 1/(1-p)
  • Implication: Serial fraction limits scalability; for p=0.95, max speedup is 20x
  • Gustafson's Law: S(N) = N - (1-p)(N-1) or S(N) = (1-p) + pN, emphasizing scaled problem sizes
  • GPU design: Focus on reducing serial sections and increasing parallelism
  • Numeric example: S(10) ≈ 6.9, S(1000) ≈ 19.6 for p=0.95

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.