今天抢先下了cuda 4.0, 结果是抢先替大家郁闷了。
(1)UVA: GPU直接使用cudaHostAlloc出来的, 结果发现不支持。根据手册3.2.7, kernel直接使用cudaHostAlloc出的pointer,报错,unknown error.
(2)UVA: Host直接使用GPU指针, 也就是host读写global memory, 不用测试,手册根本就没说支持。
(2)UVA: Peer-Peer Access: 不支持。查询Peer Access支持返回0,尝试启用peer-peer access返回无效的设备坐标。
(3)Peer-Peer copy, 支持。直接走PCI-E总线,在2个显卡间交换信息,不经过内存。。终于有一个支持的了。。。
EDIT:
(4)不再需要VS2008了。可以直接使用VS2010里面的cl.exe了。刚才卸载了随2010安装的2008, 还是可以顺利编译。
EDIT:
(12:28:00 AM) 甲某: 它们使用了TCC驱动了吗?
(12:28:03 AM) 悠闲的小猫: 不,他们都是GTX 460的卡。
(12:28:40 AM) 甲某: 有能工作的方面吗?
(12:28:41 AM) 悠闲的小猫: 以前的好的cudaDeviceGetPointer()仍然工作.
(12:29:01 AM) 甲某: 哦
(12:29:03 AM) 悠闲的小猫: 甲某, 除了GPU使用CPU的UVA指针
(12:29:05 AM) 甲某: WDDM不支持统一编址
(12:29:24 AM) 甲某: 所以你仍然只能调用cudaDeviceGetPointer在那里
(12:29:26 AM) 悠闲的小猫: 甲某,所以我只能买tesla的卡?
(12:29:52 AM) 甲某:不是我故意让UVA在WDDM上从来不工作。
(12:30:20 AM) 悠闲的小猫: 这会在RC2被修正吗?
(12:31:09 AM) 悠闲的小猫: 甲某, 这很容易被修正.编译器悄悄的在启动kernel之前加上deviceMapPointer就可以了(开玩笑)
(12:32:07 AM) 甲某,在RC2这个问题不会被修正
(12:32:15 AM) 甲某: (WDDM很苦难)
(12:32:16 AM) 悠闲的小猫: 甲某,坏消息
(12:33:08 AM) 悠闲的小猫: 甲某,虽然WDDM很苦难,但是你们可以更加努力的工作去修正它。你们比ATI的人干的好多了。
(12:33:56 AM) 甲某: 它要花很多时间
(12:34:50 AM) 悠闲的小猫: 甲某, 它很值钱。 如果在WDDM驱动中提供UVA, 我会很激动去买很多新卡.
(12:36:17 AM) 甲某: 我也想让UVA工作,因为我不想要一个长期分裂的编程模型。
(12:37:07 AM) 甲某: 但是搞成能工作的,这不是在目前和RC2
(12:37:12 AM) 甲某: 的阶段
(12:37:35 AM) 悠闲的小猫: 甲某,所以我只能在4.1期待他们了。
以上是甲某和悠闲的小猫的对话的翻译版本。发帖者不对正确性和来源做任何保证。
EDIT:
以上测试是在windows 7 64-bit下进行的, 某甲说TCC驱动和linux下没问题。原文如下:
(12:58:57 AM) 悠闲的小猫: 某甲, is UVA implenmented on linux? linux doesn’t use WDDM.
(12:59:38 AM) 某甲: linux works fine, TCC works fine
[ 本帖最后由 悠闲的小猫 于 2011-3-5 02:22 编辑 ]