C_and_CPP 板


LINE

开发平台(Platform): (Ex: Win10, Linux, ...) win8.1 编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出) Visual Studio 2015 额外使用到的函数库(Library Used): (Ex: OpenGL, ...) cuda 问题(Question): 我最近才知道有gpu运算这个东西,是cuda完全新手,想按照这个官方的影片练习 https://www.youtube.com/watch?v=2EbHSCvGFM0
所以安装了Visual Studio 2015和NVIDIA CUDA Toolkit 9.0,用VS2015建立专案就会有 一个预设的程式(如影片),但是这个程式建立专案时会遇到一些问题 https://imgur.com/wauloBh 我用记事本把这些档案存成UNICODE後这些错误讯息就不见了 https://imgur.com/o3Ic0Om 但是执行後抓不到kernel https://imgur.com/WSbM65U ======== 如果改成影片中的程式建立专案也没问题,但是执行後直接当掉 https://imgur.com/hW9Gz0A https://imgur.com/W07Ckas 喂入的资料(Input): 预期的正确结果(Expected Output): 错误结果(Wrong Output): https://imgur.com/WSbM65U addKernel launch failed 程式码(Code):(请善用置底文网页, 记得排版) VS2015开cuda预设的程式以及影片中的范例程式,如果有需要我再贴上来~ https://github.com/wreardan/GlimmerCuda/blob/master/kernel.cu 补充说明(Supplement): 虽然用cmd执行结果跟官网范例的Figure 1 好像不太一样(这样有问题吗?) https://imgur.com/viLPYnR https://goo.gl/TBa5Ua 但是NVIDIA CUDA Toolkit 9.0安装应该没有问题,因为本来MATLAB抓不到gpuDevice,安 装之後就可以抓到,变数可以存到gpuArray也可以顺利执行 想请问一下问题可能是出在哪里? 感恩 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.114.235.65
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1506843115.A.56B.html
1F:→ a1u1usul3: code附一下吧 10/02 12:38
2F:→ a1u1usul3: figure1是deviceQuery,你自己跑的只是nvcc -v,就不同 10/02 12:44
原来如此 我刚刚发现我没有deviceQuery那个档案!? https://imgur.com/oFQyc7u 已补上(别人上传的) 感恩~ ※ 编辑: Absolitude (140.114.253.178), 10/02/2017 13:29:11 对了 之前有遇到建立侦错时出现"找不到或无法开启 PDB 档案。"的错误讯息 参考 https://goo.gl/uBMFdu 可以处理掉大部分的错误讯息,但是还是有几个看起来跟 NVIDIA有关的dll档无法开启,但是实际上是有这些档案的,有可能是这个原因吗 https://imgur.com/TAq1mGe ※ 编辑: Absolitude (140.114.253.178), 10/02/2017 13:52:57 ※ 编辑: Absolitude (140.114.253.178), 10/02/2017 13:59:42 范例档侦错时有这些讯息 https://imgur.com/giYOrCF ※ 编辑: Absolitude (140.114.253.178), 10/02/2017 14:36:49
3F:→ a1u1usul3: 最新的cuda通常支援度都不太好,要不要试试cuda8 10/02 15:34
4F:→ a1u1usul3: 我很不会用visual studio,都用linux写cuda程式 10/02 15:34
我先试试CUDA8 噢 对LINUX不熟>"< 希望未来有机会学 谢谢~ ※ 编辑: Absolitude (140.114.253.178), 10/02/2017 15:37:56 就是这个原因!!!!! 装第八版之後范例程式档和另一个SAMPLE档都可以执行了! 浪费我一天.. 不过那个影片的范例档还是无法执行@@ https://imgur.com/pEINkNc 程式码 #include <stdio.h> #define SIZE 1024 __global__ void VectorAdd(int *a, int *b, int *c, int n) { int i = threadIdx.x; c[i] = a[i] + b[i]; } int main() { int *a, *b, *c; cudaMallocManaged(&a, SIZE * sizeof(int)); cudaMallocManaged(&b, SIZE * sizeof(int)); cudaMallocManaged(&c, SIZE * sizeof(int)); for (int i = 0; i < SIZE; ++i) { a[i] = i; b[i] = i; c[i] = 0; } VectorAdd << <1, SIZE >> > (a, b, c, SIZE); cudaDeviceSynchronize(); for (int i = 0; i < 10; ++i) printf("c[%d] = %d\n", i, c[i]); cudaFree(a); cudaFree(b); cudaFree(c); return 0; } 我看看怎麽把程式码放到网路上 ※ 编辑: Absolitude (140.114.253.20), 10/02/2017 17:34:01
5F:→ a1u1usul3: 我用linux执行你贴的code没问题 10/02 20:09
6F:→ a1u1usul3: https://imgur.com/4uahBFp 10/02 20:13
7F:→ a1u1usul3: 贴code可以用codepad或类似的网站 10/02 20:13
谢谢~
8F:→ a1u1usul3: 我加了一点error handling的code,你看看是什麽原因吧 10/02 20:24
9F:→ a1u1usul3: http://codepad.org/mr6zWlPE 10/02 20:24
结果是这样.. https://imgur.com/Zz3YEIa 我稍早发现一个问题,就是预设的范例档跟自己额外写的程式__global__似乎不一样 范例档 https://imgur.com/aKOr5qV 自己的 https://imgur.com/GWZOQtW 我原本以为是vs版本不同,因为之前又装了2013,想说他影片里是2015,今晚重装vs2015 第一次装坏,装第二次,又装两次nvidia toolkit从晚上八点装到刚刚才装好....但 global的问题还是在不知道怎麽办,我真该学linux了,windows真的快搞死我..... ※ 编辑: Absolitude (140.114.235.65), 10/03/2017 02:00:30 如果同时把范例档最上面的两个INCLUDE拿掉global就会从"#define...."变成下面的 "这个宣告.....",如果在维持有define的global的情况下(不删最上面include)执行 你的程式,结果也是operation not supported.....到底怎麽回事,快被搞疯了.. ※ 编辑: Absolitude (140.114.235.65), 10/03/2017 02:11:59 ※ 编辑: Absolitude (140.114.235.65), 10/03/2017 02:13:00 好像跟"这个宣告没有任何储存...."无关 下载了 cuda by example的范例档,读取他自创的的book.h档案也会显示"这个宣告没有 任何储存....",但是可以执行,所以是我的stdio.h有问题@@ https://developer.nvidia.com/cuda-example ※ 编辑: Absolitude (140.114.235.65), 10/03/2017 03:59:39
10F:→ a1u1usul3: https://devblogs.nvidia.com/parallelforall/unified- 10/03 13:43
11F:→ a1u1usul3: memory-in-cuda-6/ or https://goo.gl/hgo566 10/03 13:44
12F:→ a1u1usul3: In CUDA 6, Unified Memory is supported starting wit 10/03 13:44
13F:→ a1u1usul3: h the Kepler GPU architecture (Compute Capability 3 10/03 13:44
14F:→ a1u1usul3: .0 or higher) 10/03 13:45
15F:→ a1u1usul3: 你的卡会不会很旧了,Capability有大於3吗? 10/03 13:45
我的是 810M,刚刚查了一下,不知道为什麽这张表没有,820、800都有就是跳过810, 不过没意外的话这两张都只有2.1,那我这张也不会超过3 https://developer.nvidia.com/cuda-gpus GeForce 820M 2.1 GeForce 800M 2.1 请问这个计算是属於Unified Memory吗? (其实我完全不懂>"<),不过CUDA给VS的范例档 目前看起来都还算能执行,之前用MATLAB也能跑gpuArray的工作 真的很谢谢你愿意持续回答我的问题 ※ 编辑: Absolitude (140.114.235.65), 10/03/2017 14:57:33
16F:推 a1u1usul3: 不是每个范例都跑得起来,有些function会要新的显卡才 10/03 15:32
17F:→ a1u1usul3: 支援,有用到那些function的范例就会跑不起来 10/03 15:32
18F:推 a1u1usul3: 2.1确实是有点旧了,要常常考虑是不是不被支援的问题 10/03 15:35
19F:→ a1u1usul3: cudaManagedAlloc看起来是Unified的 10/03 15:37
原来真相是这样,我了解了!! 非常感谢 ※ 编辑: Absolitude (140.114.235.65), 10/03/2017 16:56:57







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BabyMother站内搜寻

TOP