简介: 本文向您介绍了 IBM MASS 高性能数学库的内容,并展示了怎样通过 IBM® XL C/C++ 与 XL Fortran 汇编器的自动向量化功能去使用它们,而不用需要源程序方面的更改。在介绍自动向量化的概念以及相应的汇编器选项以后,本文会提供一个离散 Fourier 转变程序作为自动向量化的真实范例。计时的结果演示了通过 MASS 自动向量化的自动激活功能,从而对范例程序运行汇编器使得速度增加了 8.94 倍。
[@more@]MASS 指的是数学加速子系统(Mathematical Acceleration Subsystem)。它由数学函数组成,这些数学函数是为在各种 IBM 计算平台上优化性能所设定的。MASS 最初是由 IBM 公司在 1995 年启动的,并在随后的发展中继续得到改善,一直到现如今仍然在改进。
现在所有的 IBM® POWER™ 处理器都有相应的各种版本的 MASS,运行 AIX® 或者 Linux® 操作系统。还有其他版本的 IBM System BlueGene®/L 和 IBM System BlueGene®/P 超级电脑,以及 IBM Cell Broadband Engine™ (Cell/B.E.™)方案。库包含有元素函数的加速实施方案,例如 三角函数以及双曲线函数以及它们的倒数、乘方、对数、指数、错误函数以及其他函数。包含函数的完整列表可以在 IBM Mathematical Acceleration Subsystem 页面中找到。
有标量的库也有向量的库,而对于 Cell/B.E. 和 POWER7 来说,还有单个指示的多个数据(SIMD)库。注意精确性与例外情况的处理在 MASS 函数与系统库函数中可能是不一样的。对于目标硬件的其他汇编器(例如 gcc)的用户来说,MASS 库与 IBM XL C/C++ 还有 XL Fortran 汇编器封装到一起,并且可以通过 MASS Web 网站来获得。
可以通过 C、 C++ 或者 Fortran 源程序来访问库。IBM XL C/C++ 与 IBM XL Fortran 汇编器可以识别机会以使用 MASS 来加速源程序,并自动激活它而不用更改源程序。本文向您介绍了怎样实施一项技术帮助您的公司更好地使用这些强大的技术。
任何包含有对数学库函数(例如 exp、 log、sin、cos 等等)调用的 C、C++ 或者 Fortran 程序,潜在意义上都会从本文中所描述的技术中受益。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16896827/viewspace-1036474/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/16896827/viewspace-1036474/