我是一名商务专业,三分之二通过我的学位课程,有一点PHP经验,参加过一门C++入门课程,现在后悔选择了编程/计算机科学的业务.
我有兴趣学习更高级的编程; 特别是C,并最终进展到使用CUDA架构进行人工神经网络数据分析(不是用于AI,视觉或语音处理,而是用于查找大数据集和一般数据/统计分析中的数据点之间的相关性).
关于我应该如何开始学习C的任何建议?以及用于分析数据的ANN /贝叶斯技术?那里有很多书,我不知道该选择什么.
由于CUDA是相当新的,因此似乎没有太多学习者友好(即愚蠢的)材料.除了NVIDIA文档之外,CUDA还有学习资源吗?
此外,您会向我推荐哪些资源来讨论GPGPU计算和大规模并行编程,这对我有帮助?
我不建议首先学习CUDA,因为它是一项新技术,而且你没有太多的编程背景.
由于你没有太多的C(或C++)经验,因为它缺乏成熟度,libs,漂亮的错误信息等等,所以很难学习CUDA.
CUDA适用于熟悉C语言的人(C++经验也有帮助),并且存在需要通过重新编码或重新思考众所周知的问题的解决方案来提高性能的问题.
如果您正在尝试解决"ANN /贝叶斯"问题,我建议您使用C++或C创建解决方案.不要为创建线程或多线程而烦恼.然后,在评估完串行解决方案的响应时间之后,尝试使用OpenMP,Boost线程使其并行,w/e.在此之后,如果您仍然需要更多性能,那么我建议学习CUDA.
我认为这些是有效点,因为CUDA有一些非常神秘的错误,难以调试,完全不同的架构等.
如果你仍然感兴趣,这些是学习CUDA的一些链接:
在线课程:
GPGP
CIS 665
Richard Edgar的GPU计算页面
论坛(最佳信息来源):
NVIDIA CUDA论坛
工具:
CUDPP
CUDA解决的问题:
gpuDG
直方图计算