题目:
1.生成2048*2048个随机单精度实数;
2.实现两维Real to complex FFT参考代码;
3.计算两维Real to complex FFT;对两维FFT输出数据进行全数据比对;
4.平均性能数据比对,输出FFT参考代码平均运行时间和oneMKL FFT平均运行时间。
oneMKL介绍:
英特尔®oneAPI 数学内核库(Intel® oneAPI Math Kernel Library,简称 oneMKL)是一 个计算数学库,其中包含高度优化的广泛线程例程,适用于需要最高性能的应用程序。
该库 提供 Fortran 和 C 编程语言接口。oneMKLC 语言接口可以从用 C 或 C++以及可以引用 C 接 口的任何其他语言编写的应用程序中调用。
oneMKL 在这些主要计算领域提供全面的功能支持:
1、 BLAS(1 级、2 级和 3 级)和 LAPACK 线性代数例程,提供向量、向量矩阵和矩 阵矩阵运算。
2、ScaLAPACK 分布式处理线性代数例程,以及基本线性代数通信子程序(BLACS)和 并行基本线性代数子程序(PBLAS)。
3、oneMKL PARDISO(基于并行直接稀疏求解器 PARDISO*的直接稀疏求解器),迭 代稀疏求解器,支持用于求解稀疏方程组的稀疏 BLAS(1、2 和 3 级)例程,以及 分布式版本提供 oneMKL PARDISO 求解器用于集群。
4、 一维、二维或三维中的快速傅立叶变换(FFT)函数,支持混合基数(不限于 2 的幂 的大小),以及提供在集群上使用的这些函数的分布式版本。
5、 用于优化向量数学运算的向量数学(VM)例程。
6、 矢量统计(VS)例程,为多种概率分布、卷积和相关例程以及汇总统计函数提供高性 能矢量化随机数生成器(RNG)。
7、数据拟合库,提供基于样条的函数逼近、函数导数和积分以及搜索功能。
8、 扩展特征求解器,基于 Feast 特征值求解器的特征求解器的共享内存编程(SMP)版 本。
英特尔® oneAPI 数学核心库(oneMKL)针对英特尔处理器上的性能进行了优化。 oneMKL 还可以在非 Intel x86 兼容处理器上运行。
步骤:
1、官网下载oneMKL安装包。
oneMKL 可以作为单独的软件包下载: https://www.intel.com/content/www/us/en/de