POPPUR爱换

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

搜索
查看: 15868|回复: 51
打印 上一主题 下一主题

对CUDA 的一点期望

[复制链接]
跳转到指定楼层
1#
发表于 2009-7-27 22:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
CUDA 目前已经成为最大规模应用的GPU HPC 计算系统,国内包括联想,浪潮在内的服务器厂商,已经在其HPC 产品线中配置了Tesla 系统,但就目前我们在联想的系统测试的情况看,开发遇到的困难还是比较多的,主要问题如下:
1. 绝大多数密集计算算法需要从写,而改写的难度相对比较大;
2. 开发平台,测试平台,运行平台的硬件差异,在调优上是不一致的,如果GPU 核心不同,那么调优的困难更大一点;
3. 缺乏目标码级的调试,甚至没有PTX 的调试工具,模拟器的结果和GPU 有差异;
4. 部分库有BUG。
在nVidia 推出新产品和新的CUDA 软件中,希望能够改善相同PTX 在不同硬件的运行差异,也就是说,可以让程序员在任何一代支持CUDA 的开发环境中开发,而调优不会遇到太多的问题。
BUG 可以慢慢改,维持一个相对抽象稳定的描述语言,还是必要的。
改善了CUDA 的可编程性,降低了CUDA 的开发门槛,会推动CUDA 的进一步大规模应用,目前开发行业库,推广行业应用,都有后期维护代码成本大的隐患,解决了这个问题,CUDA 才能落地开花。
头像被屏蔽
2#
发表于 2009-7-27 22:43 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

3#
 楼主| 发表于 2009-7-27 23:01 | 只看该作者
LS 的,这些文档是给初学者的,我用CUDA 是从beta开始的。
回复 支持 反对

使用道具 举报

4#
发表于 2009-7-28 01:10 | 只看该作者
方向肯定是这样,但是需要具体的方案阿……  希望大牛能赐教一下:〉

流处理这种应用本身就不太好Debug…… 
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2009-7-28 08:07 | 只看该作者
4# ic.expert
几个办法吧,建立基于PTX 的模拟器,和硬件一一对应,这是CUDA 目前的办法,但是模拟器的BUG 比较多,也有硬件结构的困难;
增加硬件调试的支持,设立调试模式,记录运行的trace,离线调试,这是可以比较通用的办法;
增加调试的软件支持,自动记录反馈一定条件下的调试信息。
回复 支持 反对

使用道具 举报

6#
发表于 2009-7-28 09:03 | 只看该作者
- Gt300 is going to suport user debug (i.e. user can pause the execution of kernel and get feedback of current states).
- CUDA library is getting more enhancements, which should be saving user optimization efforts.
- from my experience with CUDA, I typically testing hardware with different thread block sizes combined with memory access patterns, etc to find a optimized parameters for my applications. The testing calibration itself is rather straightforward.
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2009-7-28 10:35 | 只看该作者
6# hd4770
user debug 可能还不是太需要,毕竟总体上加速代码比例不大,库的期望不会很高,不是所有计算,都可以调用库完成的,特别是自己的应用,调库的成本相当高。
回复 支持 反对

使用道具 举报

8#
发表于 2009-8-24 22:30 | 只看该作者
这是肯定的,原来的数据结构在并行结构下,连排序算法都给推倒重来了,要彻底换思路,而且还有讨厌的global内存延迟,shared大小限制
回复 支持 反对

使用道具 举报

9#
发表于 2009-8-25 04:41 | 只看该作者
非常的期待之中
回复 支持 反对

使用道具 举报

RacingPHT 该用户已被删除
10#
发表于 2009-8-26 11:14 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

11#
发表于 2009-8-28 01:44 | 只看该作者
kernel debug? OMG
这个是通用计算的好消息, 游戏的坏消息
目前CUDA的debug功能我认为是最大的问题. 模拟器和硬件的差距相当大.

ps:
一个芯片上debug模块会有多大呢? CPU的话, 至少超过1/10吧?
RacingPHT 发表于 2009-8-26 11:14


通过这段时间和RacingPHT大牛接触,感觉大牛不但思维严谨,而且非常有洞察力,这个代价的确不小,一般Debug行为分三步,首先,你要能提供一种机制让程序在满足XX条件下停下来,然后,确定XX条件被触发时候从哪一个Pipeline Stage内开始Stall指令,最后,你还要决定停下来之后作什么?

第一步,可以使用breakpoint总线地址检测寄存器CounterXX定制寄存器……
第二步,一般来说是ALU Stage,就是所谓的精确异常,但是有的时候做不到,比如G80的体系结构就做不到。
第三步,一般来说就是中断向量入口,对于Many Threading来说,可能更麻烦,因为如果只有一个Thread异常了,那其它Thread怎么办?几万个Thread,怎么看?都用人来看?这不现实。其实这种Debug已经类似于IC Design的Verification了,需要专门的Tesbench可能才可以。不过也很难说,这些都是问题。

这三点决定了HW COst,如果按照CPU的模型来作异常处理,那至少1/10以上的芯片面积来安放这些东西。
回复 支持 反对

使用道具 举报

12#
发表于 2009-8-28 12:55 | 只看该作者
通过这段时间和RacingPHT大牛接触,感觉大牛不但思维严谨,而且非常有洞察力,这个代价的确不小,一般Debug行为分三步,首先,你要能提供一种机制让程序在满足XX条件下停下来,然后,确定XX条件被触发时候从哪一 ...
ic.expert 发表于 2009-8-28 01:44

cost for debug depends on the architecture. For example, static scheduling and dynamic scheduling have different cost. My guess the cost for gxxx is not big. The real significant cost feature is ECC (8-10% total area).  Rumor said thousands of companies are waiting for TESLA to add ECC.
回复 支持 反对

使用道具 举报

13#
发表于 2009-9-4 08:32 | 只看该作者
进来看科普
回复 支持 反对

使用道具 举报

14#
发表于 2009-9-4 15:42 | 只看该作者
ECC ,内存校验?
回复 支持 反对

使用道具 举报

15#
发表于 2009-9-11 23:57 | 只看该作者
期望啊。。。。。。
回复 支持 反对

使用道具 举报

16#
发表于 2009-9-12 14:16 | 只看该作者
6# hd4770

Nice. I thought you were an A Fan.
回复 支持 反对

使用道具 举报

17#
发表于 2009-9-12 14:18 | 只看该作者
8# eqzero

你说些opencl的具体经验吧. 我没觉得opencl比cuda好多少或者差多少.
回复 支持 反对

使用道具 举报

18#
发表于 2009-9-12 23:26 | 只看该作者
```````````````````
回复 支持 反对

使用道具 举报

19#
发表于 2009-9-13 18:14 | 只看该作者
不懂帮你顶一下
回复 支持 反对

使用道具 举报

20#
发表于 2009-9-22 00:40 | 只看该作者
学习了!
帮忙顶下!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

广告投放或合作|网站地图|处罚通告|

GMT+8, 2025-9-14 00:08

Powered by Discuz! X3.4

© 2001-2017 POPPUR.

快速回复 返回顶部 返回列表