PCクラスタワークショップin京都2010

NECのPCクラスタ向け数値計算ライブラリ2010年 2月 19日
日本電気株式会社

ＮＥＣが提供するソリューション
数値解析ソリューション
気象・流体・計算化学

GPGPUソリューション

数値計算ソリューションGPGPU対応・利用コンサル

数値計算ライブラリ  3.1415926535
 8979323
 t x 1

( x )   e tn x 1 n y 1 n z 10g j x j y j z     f k x k y kz edtj kjyk y

jkxyz

お客様の高性能計算をバックアップ

2 i ( nx x  n  nz z )kx  0 k y  0 k z  0プログラム高速化ソリューション

可視化ソリューション

分析・高速化・並列化

リアルタイム可視化

Xe on 5 460 (ha rpe rto wn 3.1 6G Hz)
Xe on 5 550 (ne ha lem 2 .66 GHz)

Page 2© NEC Corporation 2010

NECのPCクラスタ向け数値計算ライブラリ

数値計算ライブラリ集 （NEC製ライブラリ ＋ オープンソースライブラリ）
2009年10月
2010年 8月

R1.0.0α版 無償配布開始
有償版リリース予定

NEC製 高速四倍精度演算ライブラリ
無償お試しインストール実施中
Page 3© NEC Corporation 2010

Page 4

© NEC Corporation 2010

▌商用数値計算ライブラリ と オープンソースの数値計算ライブラリ
どの数値計算ライブラリが適しているかは、お客様ごとに異なる機能

商用数値計算ライブラリ

移植性

OSS数値計算ライブラリ

サポート

OSSを積極的に取り入れた商用数値計算ライブラリを提供

Page 5© NEC Corporation 2010

特徴１ ： 著名な数値計算オープンソースライブラリを網羅

Page 6© NEC Corporation 2010

無償版
（R1.0.0α）

無償版（R1.0.0α）

特徴２ ： 数値計算プログラムの開発環境構築が簡単
MUMPSで疎行列の連立一次方式を解きたい

MＥＴＩＳ
ScaLAPACKBLACSMUMPSLAPACK

各ライブラリをビルド・インストール

BLAS→ 煩わしいNumeric Factoryでは…

ビルド済みのものを一括インストール★インストールが簡単！
Page 7© NEC Corporation 2010

MUMPS
Metis
ScaLAPACKBLACSLAPACK
BLAS（最適化済）

特徴３ BLASの高速化
無償版（R1.0.0α）

特徴３ ： 高コストな機能について高速化▌BLAS LEVEL3 ： DGEMMの性能
DGEMM Performance
Xeon X5550 2.67GHz (tarbo)
11704
10534
9363

MFLOPS

8193
7022
5852
4682
3511
2341
1170
00500

1000

1500

2000

2500

M=N=K

MKL、GotoBLASのDGEMMと比較して遜色ない性能
Page 8© NEC Corporation 2010

無償版
（R1.0.0α）

無償版（R1.0.0α版）の動作環境：
Intel Xeon (X5500番台) サーバで利用可能

Page 9ハードウェア

NEC Express5800シリーズ
NEC LXシリーズ

OSRed Hat Enterprise Linux
Server release 5.3以降

コンパイラ

gcc 4.3.2
gfortran 4.3.2
g++ 4.3.2© NEC Corporation 2010

gccで利用可有償版NumericFactory ： 2010年8月リリース予定▌無償版（1.0.0α版） との機能の違い
無償版の機能に、以下のライブラリを追加予定
 ＡＳＬ (NEC製科学技術計算ライブラリ)
機能 ：FFT、乱数、疎行列用連立一次方程式（直接法/反復法）、特殊関数、スプライン関数、微分方程式、数値微積分、方程式の根、線形計画法、BLAS, LAPACK相当機能 etc...

 ＦＦＴＷ (高速フーリエ変換ライブラリ)
疎行列用連立一次方程式（反復法）ライブラリや多倍長演算のライブラリの追加も検討中▌動作環境
 対応コンパイラ： Intel Compiler 11.1
 対応プラットフォーム ： NEC Expressシリーズ （Intel Xeon X5500番台）
NEC LXシリーズ
Page 10© NEC Corporation 2010Page 11© NEC Corporation 2010

ASLQUAD ： 高速な四倍精度演算を提供する数値計算ライブラリ
実対称固有値方程式(Ax=λx)の固有値
1.E+00

相対誤差

1.E-05
1.E-101.E-1510進16桁1.E-201.E-25
1.E-30
1.E+01

1.E+02

1.E+03

1.E+04

1.E+05

1.E+06行列の大きさN
倍精度

4倍精度

数値計算プログラムの開発で厄介な数値誤差を軽減
Page 12© NEC Corporation 2010

四倍精度基本演算

四則演算+, −, ＊, ／, ＊＊比較演算<, >, <=, >=, ==, /=複素数にも対応

四倍精度数学関数

最大値、最小値、総和、内積、平方根、立方根、逆平方根三角関数、指数関数、対数関数、双曲線関数
逆三角関数、逆双曲線関数、型変換など
複素数にも対応

四倍精度サブルーチン

行列積
連立１次直接法方程式
標準固有値方程式
一般化固有値方程式
特殊関数

C ＝ C ± AB
Ax ＝ bAx ＝ λx,
Ax ＝ λBx
ベッセル関数、ガンマ関数、ログガンマ関数、誤差関数、余誤差関数

無償お試しインストール実施中！
お客様のご要望に応じて、機能のカスタマイズも致します。
Page 13© NEC Corporation 2010

ASLQUADの特徴▌データ形式 ： double-double形式
四倍精度データs 15bit112bit(IEEE754-2008)

double-double型データ

s 11bit52bit

s 11bit

52bit

四倍精度データを２つの倍精度データで表す▌使用言語
 Fortran90, C++から使用可能▌性能チューニング
 一部機能で、Intel Xeonプロセッサ向けにSSE命令を使ってアセンブラチュー
ニング
Page 14© NEC Corporation 2010

使用例 ： 行列積プログラム▌Fortran90
PROGRAM SAMPLE_FORTRAN90
USE ASLQUAD! モジュール指定
TYPE(quad) , dimension(256,256) :: A, B,C〜
A=1q0; B=2q0; C=3q0! 配列構文式
do K = 1 , 256
do J = 1 , 256
do I = 1 , 256
C( I, J )=C( I, J ) + A( I, K) * B( K, J)
enddo
enddo
enddo
〜END

面倒なdouble-double形式の演算に煩わされることなく、高速な四倍精度演算が可能！
Page 15© NEC Corporation 2010

▌C++//ヘッダファイル指定#include aslquad.h
using namespace ASLQUAD;
int main (void){
Quad a[256][256], b[256][256], c[256][256];〜for (int i = 0; i<256; i++)for (int k = 0; k<256; k++)a[i][k] = 1.0;// 配列aの初期化for (int k = 0; k<256; k++)for (int j = 0; j<256; j++)b[ k ][ j ] = 2.0;// 配列bの初期化

for (int i = 0; i<256; i++)for (int j = 0; j<256; j++)c[ i ] [j ] = 3.0;// 配列cの初期化

for (int i = 0; i<256; i++)for (int j = 0; j<256; j++)for (int k = 0; k<256; k++)c[ i ][ j ]=c[ i ][ j ] + a[ i ][ k ] *b[ k ][ j ];〜}

まとめ
NECでは、数値計算ライブラリでPCクラスタ向けソリューションを提供しています。

▌ R1.0.0α版 無償配布中
URL: http://www.nec.co.jp/APSOFT/SX/nf/
 2010年8月 有償版リリース予定▌ 無償お試しインストール実施中お客様のご要望に応じて、機能のカスタマイズも致します。

Page 16© NEC Corporation 2010

（ご参考） NECの科学技術計算ソリューション
NECでは、様々な科学技術計算向けのソリューションを実施しています。

▌数値計算ソリューション
 数値計算ライブラリ利用のコンサルテーション
 数値計算ライブラリの性能評価
 高精度計算支援
 製品提供(NumericFactory, ASLQUAD)▌可視化ソリューション
 リアルタイム可視化ソリューション
 受託可視化サービス
 可視化コンサルテーション
 製品提供(RVSLIB)▌GPGPUソリューション
 プログラム分析
 GPGPU対応化サービス

 プログラム高速化支援
 利用コンサル、講習会▌数値解析ソリューション
 気象／流体解析プログラム開発
 計算化学プログラム開発

 受託解析サービス
 プログラムの移植支援▌プログラム高速化ソリューション
 プログラム分析
 プログラム高速化支援

 プログラム並列化（SMP, MPI）
Page 17© NEC Corporation 2010

お問い合わせ先：support@asl.jp.nec.com