我正在进行GPU编程以完成一些模拟工作,我一直在学习本教程:
http://www.drdobbs.com/parallel/cuda-supercomputing-for-the-masses-part/208401741
但是,我的术语很混乱,访问nVidia的文档让我更加困惑.
这些术语:流式多处理器,线程,warp,块,网格,占用,着色器
我压倒了一点点.
这是我非常粗略的理解:
GPU被分成多处理器(可能就像其中的2个).每个多处理器都被分成warp,warp被分成块,这些块被分成线程.我不知道......我希望我有一张图.有人可以帮帮我吗?
编辑:让我解释为什么我问这个.假设我试图找出"扭曲"是什么.我谷歌"CUDA扭曲".首先出现的是http://developer.download.nvidia.com/CUDA/training/cuda_webinars_WarpsAndOccupancy.pdf.所以我向下滚动它说:
网格由完全独立的块组成
好的,我明白了.
块由可以在它们自己的块内通信的线程组成
好的...
32个线程形成一个扭曲
现在我迷路了.32个线程形成扭曲?所有线程都必须在同一个块中吗?为什么我们任意将32个线程标记为"warp"?我可以将12个线程称为"书包"吗?因此,如果一个块可以容纳20个线程,这是否意味着我需要2个块来包含warp?你可以看到我的困惑来自哪里.我查看的所有内容都取决于了解其他术语,所以有点像通过阅读字典来学习一门语言 - 这都是循环的.
以SO单一问题/答案格式解释诸如CUDA或GPU架构之类的东西并不可行.需要长篇大论的问题经常被关闭.
你面临的挑战是可以理解的.有时您需要对主题进行更有序的介绍,而不是通过Google搜索术语获得的内容.
NVIDIA提供各种资源:
仅举几例.我建议您先参加介绍性和高级网络研讨会.如果您打算进行大量GPU编码,那么花费大约需要2个小时:
使用CUDA C进行GPU计算 - 简介(2010)使用CUDA C介绍GPU计算的基础知识.将通过代码示例的演练来说明概念.无需先前的GPU计算经验
使用CUDA C进行GPU计算 - 高级1(2010)第一级优化技术,如全局内存优化和处理器利用率.将使用实际代码示例来说明概念
这些都是3岁的事实对你提出的问题无关紧要.当然欢迎您浏览新版本的网络研讨会 - 有很多.
| 归档时间: |
|
| 查看次数: |
692 次 |
| 最近记录: |