适用于需要自己写程序的case,而不是调用现成的API。
1. 使用python numpy实现算法,将计算过程向量化。
2. 使用numba优化。
做完上面两部,一般就能增加数据点放到服务器上跑。
3. 对于有大量循环,非单纯矩阵计算的程序,考虑使用C++实现,使用OpenMP将CPU跑满,甚至可以使用MPI 5 * 24 = 120 core并行计算。
关于GPU优化思路简介
直接在1的基础上,使用high-level的API,将部分耗时操作例如eigh,换为cupy中的函数。C++如何使用high-level的API待续。
总结:一般我们只是用数值方法去计算一个公式,尽量使用high-level的API。计算的目的是为了获得结果,而不是开发一个成熟的商用软件。