7

我将在一周后接受一个涉及 CUDA 编程(希望是 C 语言)的入门级职位的面试。

我想知道是否有人可以提出一些我在面试中可以期待的面试问题。

我已经阅读了官方的编程指南,但我现在并不那么方便。

谢谢。

4

3 回答 3

24

我认为你应该准备的一些问题是:

  • GPU中有多少种不同类型的内存?
  • 什么是合并/未合并?
  • 你能实现一个矩阵转置内核吗?
  • 什么是经线?
  • 在多处理器中可以同时运行多少条扭曲?
  • 块和线程有什么区别?
  • 它们之间可以线程通信吗?和块?
  • 你能描述一下缓存是如何工作的吗?
  • 共享内存和寄存器有什么区别?
  • 哪些算法在 GPU 上表现更好?数据绑定还是cpu绑定?
  • 您将执行哪些步骤将应用程序移植到 cuda ?
  • 什么是障碍?
  • 什么是流?
  • 你能描述一下内核占用的含义吗?
  • 数组结构与结构数组是什么意思?
于 2009-12-24T13:39:52.263 回答
8

“你有 N 个长度为 M (N>>M) 的向量。告诉我你将如何设计一个内核来评估距离矩阵。特别注意问题的细分方式和线程的方式-操作可用于提高入住率。

如果 M>>N,你对这个问题的回答会有什么变化?”

这里的想法不是让您编写代码,而是让您大声思考。这表明您确实知道如何使用 GPGPU 技术,而不仅仅是在重复使用用户指南。

于 2010-01-02T22:48:35.470 回答
5

如果它是一个科学角色,那么期待有关浮点和数值准确性的问题,特别是您应该查看 NVIDIA SDK 中的缩减样本,因为这也说明了 Fabrizio 帖子中的全部点。

于 2009-12-24T21:14:49.477 回答