HPC领域最有影响的数学库GotoBLAS,在长久的等待后终于有了更新,而且是直接从1.26跳到了GotoBLAS2,似乎Goto重写了。

以下为特性:
1、支持Intel Nehalem、Atom,AMD Shanghai1、Istanbul,VIA(威盛)Nano处理器,SiCortex MIPS64架构(SiCortex由于风投撤资已经倒闭,04年从QLogic买的PathScale被Cray拿去玩了,不过PathScale现在应该对MIPS支持很好了,可以测试一下它在龙芯上的性能。)
2、包含所有LAPACK函数
3、加入了CBLAS接口,这些接口是原生的,不需额外的函数。
4、可以在运行时探测系统架构。GotoBLAS包含了所有内核,可以不需干涉的选择系统架构所需最好的数学库架构,这很像Intel的MKL和AMD的ACML。
5、NUMA组件。可以不使用numactl命令去指定内存使用方式,程序可以自动设置。
6、超线程组件。可以使用在打开超线程功能的系统上。(说的是Intel Nehalem吧)
7、可以使用MinGW64编译出原生的Windows 64位DLL动态连接库,已经支持Windows下的PGI编译器了。
8、支持交叉编译环境。只需要指定C和Fortran编译器,像这样:
   $shell > make CC = x86_64-pc-mingw32-gcc FC = x86_64-pc-mingw32-gfortran
9、简单的benchmark(基准测量)代码放在了benchmark目录,在Makefile.rule里打开INTERFACE=6,就可以运行大问题规模的linpack。Goto已经在128G内存的Tigerton(Intel 7300)平台下测试过N=120000。
10、在更改Makefile.rule之前执行make,绝大部分配置可以自动探测到,如果使用者不满意默认值,可以再自行修改。

下载:
http://www.tacc.utexas.edu/research-development/tacc-projects/

Enjoy it!