GPU Programming

Which is an example of a parallel-programming framework for GPUs that also works on GPUs other than NVIDIA's?

  1. AHTML
  2. BSQL
  3. COpenCL
Show answer and explanation

Answer: C. OpenCL

CUDA targets NVIDIA GPUs, while OpenCL is an industry-consortium standard that runs on GPUs, CPUs and FPGAs from multiple vendors. Others include SYCL, written in C++, and HIP, which targets AMD GPUs with CUDA-like syntax. The syntax differs, but the principles, such as the thread hierarchy, shared memory, coalescing and keeping branches uniform, are common to all.

  • A. HTML is a language for writing web pages.
  • B. SQL is a language for querying databases.
  • C. Correct. It is a standard supported by devices from multiple vendors.
Practice this topic Back to topic

More GPU Programming questions

  1. On a GPU you want to compact only the elements meeting a condition into another array (each thread outputs 0 or 1 items). Which parallel computation is commonly used to determine each thread's write position?
  2. Which assumption must be respected when writing GPU kernels?
  3. When transposing a large matrix on a GPU (b[j][i] = a[i][j]), what is the main purpose of going through shared memory?
  4. In CUDA, what generally happens right after the CPU-side program launches a kernel?
  5. How do the design philosophies of CPUs and GPUs differ?