OpenACC Directives¶
1. Which OpenACC construct requires the programmer to explicitly define the parallel regions in the code?
- A.
kernels - B.
parallel - C.
routine - D.
loop
Click to reveal the answer
Answer: B. `parallel`Difference between parallel and kernels¶
2. True or False: The kernels construct allows the compiler to analyze and automatically parallelize code regions.
Click to reveal the answer
Answer: TrueLoop Construct¶
3. Which clause in the OpenACC loop construct specifies SIMD execution across vector lanes?
- A.
gang - B.
worker - C.
vector - D.
collapse
Click to reveal the answer
Answer: C. `vector`4. True or False: The collapse clause in OpenACC can be used to combine nested loops into a single loop for parallelization.
Click to reveal the answer
Answer: TrueRoutine Construct¶
5. What is the purpose of the routine construct in OpenACC?
- A. To parallelize loop iterations
- B. To specify functions that can be safely called within parallel regions
- C. To optimize memory transfers between host and device
- D. To manage data synchronization