我是商科专业的,我的学位类(class)已经完成了三分之二,有一点 PHP 经验,上过一门 C++ 入门类(class),现在后悔选择商科而不是编程/计算机科学。
我有兴趣学习更高级的编程;特别是 C,并最终发展到使用 CUDA 架构进行人工神经网络数据分析(不是用于 AI、视觉或语音处理,而是用于查找大型数据集中数据点与一般数据/统计分析之间的相关性)。
关于我应该如何开始学习 C 有什么建议吗?以及用于分析数据的 ANN/Bayesian 技术?书太多了,不知道选什么。
由于 CUDA 相当新,因此似乎没有太多适合学习者(即简单易懂)的 Material 。除 NVIDIA 文档外,是否还有 CUDA 的学习资源?
此外,您会向我推荐哪些有关 GPGPU 计算和大规模并行编程的资源可以帮助我?
我不建议先尝试学习 CUDA,因为它是一项新技术,而且您没有太多编程背景。
由于您在 C(或 C++)方面没有太多经验,CUDA 学习起来会很痛苦,因为它缺乏成熟度、库、漂亮的错误消息等。
CUDA 适用于熟悉 C(C++ 经验也有帮助)并且遇到问题需要通过重新编码或重新思考众所周知问题的解决方案来提高性能的人。
如果您正在尝试解决“ANN/Bayesian”问题,我建议您使用 C++ 或 C 创建解决方案,由您选择。不要为创建线程或多线程而烦恼。然后,在评估串行解决方案的响应时间后,尝试使用 OpenMP、Boost 线程、w/e 使其并行。在此之后,如果您还需要更多性能,那么我建议学习 CUDA。
我认为这些是有效的观点,因为 CUDA 有一些非常神秘的错误、难以调试、完全不同的体系结构等。
如果您仍然感兴趣,这些是学习 CUDA 的一些链接:
在线类(class):
论坛(最好的信息来源):
工具:
在 CUDA 中解决的问题: