论文部分内容阅读
从计算机诞生开始,人们就在不断的追求更高的计算速度,高性能计算一直是计算机研究领域重要的研究内容。目前高性能计算的主流思路是采用多核并行的方式,并且随着异构计算的兴起,利用异构加速设备提高计算能力成为高性能计算的主流方法,越来越多的超级计算机采用了异构加速的结构来获得更高的计算能力。高性能计算也在金融,生物,地理勘探,图像处理,气象等众多应用环境下发挥出了越来越重要的作用。相较于传统计算,异构计算能够显著提高整体的计算能力,使得复杂算法能够的到实现和应用,使得很多复杂算法得到应用。在大数据时代的现在,异构计算提供了处理超大规模数据的解决方法。在金融领域里,算法实时性要求很高,很多复杂的算法由于计算时间过长限制了其应用场景。应用高性能计算能够很好的解决复杂算法的时效性问题,为算法应用提供了一种很好的解决方法。期权作为一种重要的金融衍生物,其定价算法具有非常好的代表性。蒙特卡洛算法能够通过对价格进行模拟从而给出期权价格,是一种重要的期权定价的数值算法,也因为其不需要显示表达式的特点,也被应用于高维期权定价等问题,取得很好的效果,但蒙特卡洛算法需要模拟非常多的路径才能得到较为精确的算法,其计算时间过长导致算法应用受到限制。对于时序数据,RNN算法能够很好的发掘时间中的规律,其中采用LSTM模型的RNN结构对于长时间记忆具有较好的效果,目前越来越多的被应用于语言模型,自然语言处理,金融时间序列分析,视频分析等具有明显时间特征的数据分析和预测中。本文在详细介绍期权背景和定价算法的基础上,分别针对欧式期权和美式期权,使用蒙特卡洛算法进行计算,并针对不同的蒙特卡洛算法特征提出对应的异构并行算法,并在混合异构平台上加以实现,能够实现同时利用多种异构众核进行加速,并取得了很好的加速效果。本文详细对比了不同的异构设备在加速时的不同特征,并针对不同设备给出了优化方法。为了能够更好的利用节点上全部的计算能力,多种平台下的异构计算框架,能够同时支持CPU,MIC,GPU混合架构,并能实现跨节点的计算,获得了很好的节点扩展性。对于金融市场价格走势的预测对于分析金融时间序列和指导投资具有重要意义,本文选择外汇数据,引入LSTM模型的RNN神经网络算法,对LSTM模型的分析,实现了一个能够对价格走势进行预测的时序模型,使用了 Adam训练方法,对外汇价格的涨跌进行了预测。为了能够更好的应用高性能计算,对LSTM模型的算法进行改进,通过分析LSTM算法模型的热点情况,将热点计算函数做了优化。在本文提出了新的针对LSTM算法的高性能数学加速库MPL(Math Parallel Library)。使用MPL数学库,能够迅速完成LSTM模型在多种异构设备下的并行加速。对MPL数学库使用OpenCL进行加速,并针对Intel Intergrated Graphics Card进行优化,达到了很好的加速效果。