Skip to content

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: True

HIP 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() or hipDeviceSynchronize()
  • B) __device_sync()
  • C) __syncthreads()
  • D) gpu_synchronize()
Click to reveal the answer Answer: C) `__syncthreads()`