wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

HPC Warmup Quiz

Total questions: 13

Worksheet time: 7mins

Name
Class
Date
1.

The industry standard for programming for NVIDIA GPUs as a accelerator is

a)

OpenMP

b)

MPI

c)

GCC

d)

CUDA

2.

The industry standard for threaded multi-core programming in HPC is

a)

OpenMP

b)

CUDA

c)

MPI

d)

GCC

3.

The industry standard protocal for distributed computing in HPC is

a)

CUDA

b)

GCC

c)

OpenMP

d)

MPI

4.

In threaded parallelism, when multiple threads can potentially write to the same memory location at the same time, this is called ...

a)

False Sharing

b)

Page Fault

c)

Race Condition

d)

Traffic Jam

5.

When two or more threads modify different variables that happen to share a cache line, causing unnecessary invalidation and slowdown, this is known as…

a)

Memory thrashing

b)

False sharing

c)

A lock convoy

d)

Load imbalance

6.

Amdahl’s Law tells us that speedup is limited by…

a)

The number of MPI ranks

b)

The power consumption of the node

c)

How fast the interconnect is

d)

The fraction of the code that is sequential

7.

A job with --nodes=1 --ntasks=16 will:

a)

Use 16 nodes

b)

Launch 16 tasks on the same node

c)

Spread 16 tasks across 16 nodes

d)

Use 16 CPU threads but 1 MPI rank

8.

For a program that is 95% parallelizable, a reasonable choice for the number of nodes to use is:

a)

4 nodes

b)

8 nodes

c)

20 nodes

d)

1000 nodes

9.

The biggest difference between distributed and threaded parallelism is:

a)

Distributed parallelism always runs faster

b)

Threaded parallelism requires an interconnect network

c)

Distributed programs communicate by messages; threaded programs share memory

d)

Threaded programs use MPI and distributed programs use OpenMP

10.

In OpenMP, which variable is always private by default inside parallel for loops?

a)

The loop index

b)

Any array

c)

All global variables

d)

Anything declared before the loop

11.

If threads in the same warp take different branches of an if statement, this leads to:

a)

Warp fusion

b)

Branch elimination

c)

Divergence and reduced performance

d)

Automatic thread replication

12.

The purpose of the OpenMP reduction clause is to:

a)

Reduce the number of threads used

b)

Combine private copies of a variable into a single final value

c)

Convert shared variables into private ones

d)

Prevent race conditions by locking all threads

13.

Which situation is a good use of collapse?

a)

A single long loop

b)

Loops with complicated dependencies between iterations

c)

A loop that already has millions of iterations

d)

Nested loops where each loop has a small iteration count