c - 对 C、CUDA 和 ANN 新手的建议?

标签 c cuda neural-network gpgpu

<分区>

我是商科专业的,我的学位类(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 中解决的问题:

关于c - 对 C、CUDA 和 ANN 新手的建议?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/635409/

相关文章:

c - 在 C 中的随机字符串中查找两位数的正则表达式

c - 在c中查找数组中的重复值

memory-management - cudaMemset 是如何实现的?

eclipse - 如何在 Eclipse Nsight 中链接到 cublas 库?

neural-network - Keras 输入解释 : input_shape, 个单位、batch_size、dim 等

python - 使用 cifar 100 的图像分类器,训练精度没有增加

computer-vision - 使用卷积神经网络 (CNN) 时如何忽略纯色图像背景?

c - 使用 mkdir posix 命令创建子目录

c - 为什么我的 ASCII 到数字程序会得到相同的读数?

c - 使用 CUDA 的矩阵乘法 :Wrong output