我对概率、统计和统计力学方面的问题感兴趣,而且我经常发现执行模拟以了解潜在现象很有用。示例计算包括 Monte Carlo、查找大型随机矩阵的特征值(重复,以了解各种分布特性)和旋转玻璃模型。
我在数学和理论计算机科学方面有中等水平,但对硬件或数值计算一无所知。如果这个问题有点漫不经心,我深表歉意;部分问题是我不知道可以访问哪些资源来了解更多信息。(请参阅下面的最后一点。)
我将使用消费类硬件构建一台新计算机,虽然它主要不会用于进行科学计算,但我也很好奇我可以做出哪些决定来赋予它在该领域的一些能力。对于严肃的工作,我可以租用远程服务器(或者使用我学校的),但对于爱好项目,在本地工作更方便。
以下问题基于我非常非常不完整的知识和研究;如果有任何问题,请纠正我。
对于我上面讨论的问题,投资于具有多核并支持 AVX 指令(例如 AVX512)的更好的 CPU 还是支持例如 CUDA 的专用离散 GPU 是否更有效(在金钱上)?我见过的 numpy 线性代数基准测试表明,GPU 路线对于最常见的操作来说是优越的(这里有一些例外情况)。但是如果是这样的话,AVX指令有什么用呢?
有人建议我看一下“工作站”GPU,而不是面向玩视频游戏的人销售的“消费级”GPU,理由是前者即使在相同的价位上也能提供更好的性能。这是正确的,如果是,为什么?如果我想训练和运行神经网络,这个问题的答案会改变吗?
有什么好的方法来估计足够的 RAM 是多少?有人向我建议,对于大维矩阵,即使是 16 GB 也可能成为良好 CPU/GPU 的瓶颈。
哪里是了解更多关于科学计算硬件方面的好地方?我曾考虑买一本计算机体系结构教科书,但如果那里有更短、更实用的材料,我很乐意阅读它们。