大规模动态经济模型的数值方法
在经济模型的计算中,不同的计算工具和方法各有优劣。下面将详细介绍GPU计算、超级计算机并行计算以及高维模型的数值分析等内容。
1. GPU计算
1.1 适用语言
在GPU计算中,高级语言如MATLAB越来越受欢迎,而使用C或Fortran等低级语言可显著加快计算速度,但学习和使用难度较大。此外,还有专门为GPU设计的语言,例如CUDA可用于NVIDIA GPU解决经济问题,不过也有能管理其他类型GPU的软件,如OPEN CL(http://www.khronos.org )和VIENNA CL(http://viennacl.sourceforge.net )。
1.2 数值示例
以函数 (y = \sin (3x) + \cos (\pi x) + \frac{x^5}{5} + \sqrt{x} \arccos (x) + 8x \exp(x)) 为例,其中 (x) 是从均匀分布 ([0, 1]) 中随机抽取的。使用蒙特卡罗积分方法近似 (y) 的期望 (E (y) \approx \frac{1}{n} \sum_{i=1}^{n} y_i),并在GPU上使用MATLAB进行计算。
由于精度会显著影响GPU计算速度,所以分别报告单精度和双精度的情况。为说明CPU和GPU之间的数据传输成本,报告两种加速比:不进行信息传输的加速比和进行信息传输的加速比。
首先使用 “gpuArray” 和 “gather” 函数,结果如下:
- 单精度时,若包含传输时间,当 (n) 足够大时,加速比约为4.5;
- 双精度时,当 (n) 足够大时,加速比约为
超级会员免费看
订阅专栏 解锁全文
3596

被折叠的 条评论
为什么被折叠?



