NEW
Font size
WorksheetsHPC Warmup Quiz
Total questions: 13
Worksheet time: 7mins
The industry standard for programming for NVIDIA GPUs as a accelerator is
OpenMP
MPI
GCC
CUDA
The industry standard for threaded multi-core programming in HPC is
OpenMP
CUDA
MPI
GCC
The industry standard protocal for distributed computing in HPC is
CUDA
GCC
OpenMP
MPI
In threaded parallelism, when multiple threads can potentially write to the same memory location at the same time, this is called ...
False Sharing
Page Fault
Race Condition
Traffic Jam
When two or more threads modify different variables that happen to share a cache line, causing unnecessary invalidation and slowdown, this is known as…
Memory thrashing
False sharing
A lock convoy
Load imbalance
Amdahl’s Law tells us that speedup is limited by…
The number of MPI ranks
The power consumption of the node
How fast the interconnect is
The fraction of the code that is sequential
A job with --nodes=1 --ntasks=16 will:
Use 16 nodes
Launch 16 tasks on the same node
Spread 16 tasks across 16 nodes
Use 16 CPU threads but 1 MPI rank
For a program that is 95% parallelizable, a reasonable choice for the number of nodes to use is:
4 nodes
8 nodes
20 nodes
1000 nodes
The biggest difference between distributed and threaded parallelism is:
Distributed parallelism always runs faster
Threaded parallelism requires an interconnect network
Distributed programs communicate by messages; threaded programs share memory
Threaded programs use MPI and distributed programs use OpenMP
In OpenMP, which variable is always private by default inside parallel for loops?
The loop index
Any array
All global variables
Anything declared before the loop
If threads in the same warp take different branches of an if statement, this leads to:
Warp fusion
Branch elimination
Divergence and reduced performance
Automatic thread replication
The purpose of the OpenMP reduction clause is to:
Reduce the number of threads used
Combine private copies of a variable into a single final value
Convert shared variables into private ones
Prevent race conditions by locking all threads
Which situation is a good use of collapse?
A single long loop
Loops with complicated dependencies between iterations
A loop that already has millions of iterations
Nested loops where each loop has a small iteration count
