Hello World from GPU with CUDA and HIP¶
1. Which keyword in CUDA and HIP marks a function to execute on the GPU?
- A)
__host__ - B)
__global__ - C)
__device__ - D)
__shared__
Click to reveal the answer
Answer: B) `__global__`Kernel Launch Configuration¶
2. What does the syntax <<<1, 1>>> specify in CUDA kernel launches?
- A) It sets one GPU block with one thread.
- B) It defines one CPU thread to run the GPU function.
- C) It sets the kernel to run on one GPU core.
- D) It specifies that the function will run on a single CPU core.
Click to reveal the answer
Answer: A) It sets one GPU block with one thread.Synchronization¶
3. True or False: cudaDeviceSynchronize() in CUDA and hipDeviceSynchronize() in HIP ensure the CPU waits until the GPU completes all tasks.
Click to reveal the answer
Answer: TrueHIP Portability¶
4. Which of the following is true about HIP?
- A) HIP code only runs on AMD GPUs.
- B) HIP code can be compiled to run on both AMD and NVIDIA GPUs.
- C) HIP requires major syntax changes from CUDA.
- D) HIP is only compatible with OpenCL devices.
Click to reveal the answer
Answer: B) HIP code can be compiled to run on both AMD and NVIDIA GPUs.Thread Synchronization in Kernels¶
5. In both CUDA and HIP, which command synchronizes all threads within a GPU block?
- A)
cudaDeviceSynchronize()orhipDeviceSynchronize() - B)
__device_sync() - C)
__syncthreads() - D)
gpu_synchronize()