OK,通过上面的描述,现在我们应该知道,对于这些工程数学库来说,Intel的MKL是很好的解决方案,除了FFT有点小麻烦。:)
最后,来看一下Intel整个软件产品线,做一些简单的讲解:
1、Intel Compilers-不说了
2、vTune - 这是一个非常power的性能调优工具,因为首先他不需要被调试的程序有源码,只要有可执行文件就行;其次,他可以分析目标,然后给出目标每句代码占用了多少个时钟周期,在程序的执行过程中,可以看到L1 Cache、L2 Cache等的hitrate!所以,非常强大。但是,vTune似乎只能调试SMP结构上的程序,无法调试Cluster结构上的程序。
3、Intel Performance Primitives(IPP)-这个东东好像是用来做视频/音频编解码的,和HPC关系不大
4、Intel Math Kernel Library和Intel Cluster Math Kernel Library-上面讲过了
5、Intel Thread Tools-线程调试工具,和HPC关系不大,不谈了
6、Intel Cluster Toolkit-其实这个东东就是整合了Intel MPI、ITC、ITA和Intel Cluster MKL的一个总包!呵呵,买这一个包就不用单独买那些了,也会便宜一些吧,HOHO
7、Intel Trace Analyser和Intel Trace Collector(ITA和ITC)-Cluster程序的调优工具。首先,我们在链接一个程序的时候,要把ITC的库链接进去,然后,程序跑完之后,ITC就会生成一堆数据文件,然后,用ITA就可以看到分析结果了。他主要能分析程序中计算和通信的比重,从而告诉我们程序的瓶颈在哪。换句话说,我们只要拥有一个程序的.o文件或者是源文件,就可以为这个程序分析了(只有一个可执行文件就不行喽)。高级功能可以分析特定的一段代码,不过这就要求代码有一些改动了。
8、Intel MPI-基于MPICH开发的MPI,特点在于能兼容Infiniband、Myrinet等多种互连,而且其他的一些东西可以通过Intel的一种什么开发语言集成到Intel的MPI中来。总体感觉就是Intel的MPI不在于提高性能,在于能集成多种互连或其他模块,向上提供一个统一的界面。