最適化問題に対する超高速&安定計算

クラスタ計算機やスーパーコンピュータ上での大規模最適化問題やグラフ探索などの研究のお話が中心

SDPA クラスタ: ソフトウェアバージョンアップ

2009年11月30日 02時40分17秒 | Weblog
SDPA クラスタの以下のソフトウェアのバージョンアップを行った。しかし、mpich2 の方は Ver. 1.2.1 がどうも正常に動作しないので、1.1.1 に戻した。

myri10ge-linux (Myrinet-10G の 10GbE 用ドライバ) : 1.4.2 から 1.5.1
mx (Myrinet mx モードドライバ) : 1.2.9 から 1.2.11
mpich2-mx (mx 対応の mpich2) : 1.1.1p1 から 1.2.1
コメント
この記事をはてなブックマークに追加

SCOPE 第5回研究会

2009年11月29日 02時58分32秒 | Weblog
SCOPE の研究会は今年度にあと1回開催する予定です。内容は企画&交渉中ですが、1月か2月の開催になります。以下は第3回と4回の報告です。

第3回
日時:10月24日(土曜日)14:00-18:15
出席者:41名
場所:中央大学後楽園キャンパス6418教室
テーマと講師:
(1)「文字列データの高速類似性解析と可視化技術」
宇野 毅明(国立情報学研究所)

(2)「最適制御法の思考型ゲームへの応用:名人を超える将棋プログラム作成への取り組み」
保木 邦仁(東北大学)

第4回
日時:11月21日(土曜日)16:00-17:30
出席者:27名
場所:中央大学後楽園キャンパス6418教室
テーマと講師:
「State-of-the-Art in the Solution of Control-Related Nonlinear
Optimization Problems」
Hans D. Mittelmann(Arizona State University)
コメント
この記事をはてなブックマークに追加

SDP ソルバーと応用について

2009年11月28日 02時56分05秒 | Weblog
SDP の普及に向けての企画を考案中で、以下は現時点での構成案。多分これから中身は変えていくことになる。

1: SDP の問題記述&解決能力(SDP を用いることによって解くことができる問題、問題の変換や記述方法)

● SDP とは何か
●どのような最適化問題が SDP に変換できるのか(あるいは SDP に変換すると得になるか)。またその方法(Schur complement を使う、ブロック対角にする)等について

2: SDP ソルバーの紹介(どんなソルバーがあるのか、特徴や使い方など

●ソフトウェアはどのように使えば(選べば)良いのか?
●実行結果の見方、分析の仕方等

3: SDP ソルバーの性能 1: 高速&大規模計算(どのくらい大きい問題がどれくらいの速さで解けるのか)

● SDPA, SDPARA 等の説明
●超大規模 SDP の数値実験結果

4: SDP ソルバーの性能 2: 高精度&安定計算 (数値精度の問題と解決法について)

● SDPA-GMP, SDPA-QD, SDPA-DD の説明
●任意精度計算
●MPACK の説明
●量子化学

5: SDP 緩和による問題解決の新手法 (多項式最適化問題、組合せ最適化問題等)

●多項式最適化
● DNN (Doubly Non-Negative) 緩和による強力な下界値探索

6: SDP ソルバーの開発における最新技術について(前処理、密と疎データ混在による並列計算、クラウド技術の利用による Web サービス等)

●マルチコアプロセッサによる並列計算
●スーパーコンピュータと最適化問題
●クラウド・コンピューティングの応用
コメント
この記事をはてなブックマークに追加

Fedora 12 と VMware Player 3.0

2009年11月27日 00時46分39秒 | Weblog
Fedora 12 がすでにリリースされているので、Fedora 11 から 12 に upgrade を行った。preupgrade コマンドを用いてもいいのだが、たまに失敗するので ISO ファイルを DVD に焼いて upgrade を行う。
しかし、Fedora 12 に upgrade 後に VMware Player 3.0 の動作しなくなった(正確には起動して一瞬で消えてしまう)。そこで理由は良くわからないが、以下のように試してみると再び VMware Player 3.0 が Fedora 12 で動作するようになった。

1: yum install gcc kernel-devel (必要ならば)
2: vmware-modconfig --console --install-all
3: mv /usr/lib/vmware/resources/mozilla-root-certs.crt /usr/lib/vmware/resources/mozilla-root-certs.crt.old


コメント (6)   トラックバック (1)
この記事をはてなブックマークに追加

RAID 5 でも壊れた その2

2009年11月26日 10時00分23秒 | Weblog
10月の終わりに RAID 5 の HDD 0 が故障して交換、HDD の再構築を行った laqua サーバ (laqua.indsys.chuo-u.ac.jp) だが、今度は HDD 3 に異常が発生した。やはり同じような時期に少し時間差をおいて HDD が 1 台ずつ壊れていくのではないかという嫌な予感がする。ただし、1 台ずつならばまだ良くて2台同時もあり得るかもしれない。というわけで本日は laqua.indsys.chuo-u.ac.jp の昼の間は停止の予定。
コメント
この記事をはてなブックマークに追加

Mittelmann 教授講演会

2009年11月25日 03時49分36秒 | Weblog
先日の SCOPE とは別の内容で以下の講演会が開かれます。同じ内容で KSMAP でも 27 日に講演会が行われます。ちなみにこの講演の前半は 8 月のシカゴでの ISMP2009 とほぼ同じだと思いますが、後半の Kissing number では SDPA-GMP が用いられています。


日時: 2009年11月25日(水) 16:30 - 17:30

会場: 東京工業大学大岡山キャンパス西8号館W棟10階W1008号室

講演者: Hans D. Mittelmann 氏 (Arizona State University)

題目: The Power of SDP Relaxations --- Computing Strong Bounds for QAPs and Graph Problems

要旨: As is well-known semidefinite relaxations of discrete optimization problems yield excellent bounds on their solutions. We present two examples from our recent research. The first addresses the quadratic assignment problem and a formulation is developed which yields the strongest lower bounds known for a number of large cases (up to dimension 256). It utilizes standard SDP software. With iterative SDP solvers still larger dimensions as they occur, for example, in communications, are within reach. The second area is the computation of bounds in graph problems, respectively in geometry. A strategy based on the Lovasz theta function is generalized to compute lower bounds for the chromatic number of graphs and upper bounds on the spherical kissing number utilizing SDP relaxations. Multiple precision SDP solvers are needed and improvements on known results for kissing numbers in dimensions up to 23 are obtained.

コメント
この記事をはてなブックマークに追加

SDPA の configure & make の仕方

2009年11月24日 01時21分01秒 | Weblog
SDPA の configure と make の方法について、いろいろと質問があったので、BLAS 別に掲載してみた。

1: BLAS 3.2.1
./configure
make

2: ATLAS 3.9.17 (マルチスレッド版)
export SDPA_HOME=/home/fujisawa/sdpa7.new
export CC=gcc
export CXX=g++
export F77=gfortran
export CFLAGS="-funroll-all-loops -O2 -m64"
export CXXFLAGS="-funroll-all-loops -O2 -m64"
export FFLAGS="-funroll-all-loops -O2 -m64"
./configure --with-blas="-L${SDPA_HOME}/lib -lptf77blas -lptcblas -latlas -lgfortran" --with-lapack="-L${SDPA_HOME}/lib -llapack -lgfortran"

3: Intel MKL 11.1
export SDPA_HOME=/home/fujisawa/sdpa7.intel
export INTEL_LIB=/opt/intel/Compiler/11.1/059/mkl/lib/em64t
export INTEL_LIB2=/opt/intel/Compiler/11.1/059/lib/intel64
export CC=gcc
export CXX=g++
export F77=gfortran
export CFLAGS="-O2 -funroll-all-loops"
export CXXFLAGS="-O2 -funroll-all-loops"
export FFLAGS="-O2 -funroll-all-loops"
./configure --with-blas="-L${INTEL_LIB} -L${INTEL_LIB2} -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lguide -liomp5" --with-lapack="-L${INTEL_LIB} -L${INTEL_LIB2} -lmkl_lapack -lguide -lompstub -lpthread"

4: GotoBLAS2 1.08
export SDPA_HOME=/home/fujisawa/sdpa7.new
export CC=gcc
export CXX=g++
export F77=gfortran
export CFLAGS="-funroll-all-loops -O2 -m64 -DGOTO_BLAS"
export CXXFLAGS="-funroll-all-loops -O2 -m64 -DGOTO_BLAS"
export FFLAGS="-funroll-all-loops -O2 -m64 -DGOTO_BLAS"
./configure --with-blas="-L${SDPA_HOME}/lib -lgoto" --with-lapack="-L${SDPA_HOME}/lib -lgoto"
コメント
この記事をはてなブックマークに追加

Momonga Linux 6

2009年11月23日 06時12分17秒 | Weblog
いつも仮想マシンで使っている Momonga Linux だが、先日に Ver 6 の Plus がリリースされた。

# Momonga Linux 6 Plus リリース (tab, 2009/11/16)
# Momonga Linux 6 スクリーンショット公開 (tab, 2009/08/05)
# Momonga Linux 6 リリース (tab, 2009/7/27)

実機にインストールされている Linux は Fedora, CentOS, Debian, Vine のいずれかになっていて、それ以外の Linux も仮想マシン上で動作させていることが多い。趣味で保有しているわけではなくソフトウェアのサポート用になっている。SDPA のユーザは RHEL(CentOS), Fedora, Debian, Ubuntu 上で動作させていることが多いが、それ以外の Linux 上で使っている場合もたまに見受けられる。Linux 以外だと BSD 系(Mac OS, OpenBSD 等), それに Cygwin などである。ちなみに今まで Momonga ユーザからの問い合わせは無い。
コメント
この記事をはてなブックマークに追加

SDPA 7.3.1 と GotoBLAS2 1.08, ATLAS 3.9.17 その2

2009年11月22日 22時29分25秒 | Weblog
先日行った SDPA + GotoBLAS あるいは SDPA + ATLAS の比較実験だが、問題を変えて 8 つの CPU コアの動きについて xosview を用いて調査した。xosview では緑色は CPU コアの上でユーザーのプロセスが動いている状態、水色は CPU コアが遊んでいる状態、オレンジは OS のプログラムが動いている状態になる。

問題:LiH.1Sigma+.STO6G.pqgt1t2p.dat-s
ATLAS : 24.528s
GotoBLAS 1 : 123.839s
GotoBLAS 2 : 27.347s
GotoBLAS 3 : 27.748s
GotoBLAS 4 : 18.740s

ATLAS の場合

CPU(コア) 5 が中心となっているが、全体的に水色が多くてあまり稼働率の良くない状態になっている。

GotoBLAS 1 の場合

全てのコアで遊んでいる時間が多い。まともにソフトウェアが稼働しているとは言い難い状況

GotoBLAS 2 と 3 の場合



GotoBLAS 1 よりは良いが、あまり稼働率は高くない。

GotoBLAS 4 の場合

かなり稼働率も高く動くようになった。

------------------------------------------------------------------------

○実験環境
CPU : Intel Xeon 5550 (2.66GHz / 8MB L3) x 2
Memory : 72GB (18 x 4GB / 800MHz)
OS : Fedora 11 for x86_64
ATLAS 3.9.17
GotoBLAS2 1.08

○GotoBLAS 1
NO_WARMUP = 1

○GotoBLAS 2
NO_WARMUP = 1
NO_AFFINITY=1
USE_SIMPLE_THREADED_LEVEL3=1

○GotoBLAS 3
NO_WARMUP = 1
NO_AFFINITY=1
USE_SIMPLE_THREADED_LEVEL3=1
common_thread.h :111 において
if (omp_in_parallel() || (level == 2)) return 1; から
if (level == 2) return 1; に変更

○GotoBLAS 4
NO_WARMUP = 1
F1 式を用いない場合ではSDPA 内の pthread_create, pthread_join の部分を gotoblas_pthread で置き換える。F1 式を用いる場合では GotoBLAS 1 と同じ。
コメント (4)
この記事をはてなブックマークに追加

SC09 と富士通スパコン

2009年11月21日 01時43分44秒 | Weblog
今年の SC09 はもう終わってしまったが、富士通は SC09 への出展を決めていたので、以下な製品などを展示したのではないだろうか?(SC09 に参加した人に後で聞いてみるが)

○ 世界最高クラスの性能を実現するペタスケールスーパーコンピュータのプロトタイプ(世界初展示)
○ 世界最速クラスCPU「SPARC64™ Ⅷfx」
○ 数万個以上のCPUを1システムとして接続するインターコネクトの技術紹介

神戸の新世代スパコンが本当に中止されたとしても、上記の製品は別のスパコンに利用されると思うので、いずれお目にかかる日もくるだろう。
ところで SPARC64™ Ⅷfx は8つのコアと大量の SIMD 演算機などを備えている。1つのコア上では、1 サイクルで 2 SIMD 命令が実行できて、1 つの SIMD 命令で4個の浮動小数点演算が1度に実行するので、1 コアで同時に 8 個の浮動小数点演算を行うことができる。1つの CPU 内にはコアが 8 個もあるので、2GHz で CPU が動作しているときのピーク性能は以下のようになる。

8 コア x 2 SIMD 命令 x 4 個の浮動小数点演算 x 2GHz = 128GFlops

1 枚のボードには 4個の CPU が入る(この時点で 512GFlops の計算能力)。また写真のラックには 24 枚のボードが入るので、1 ラックでピーク性能は 512GFlops x 24 枚 = 12TFlops の性能となる。 10PFlops を狙うとなるとさらにこのラックが 1000 台ぐらいは必要になろう。

コメント (6)
この記事をはてなブックマークに追加

SDPA 7.3.1 と GotoBLAS2 1.08, ATLAS 3.9.17

2009年11月20日 00時57分47秒 | Weblog
以下の問題 Be.1S.STO6G.pqgt1t2p.dat-s を解くときには、Schur complement 行列(SCM)の計算では F3 式しか使用しない、つまり GotoBLAS や ATLAS 等を使うことは無いのだが、以下のように実行時間に大差が付いてしまう。

問題1:Be.1S.STO6G.pqgt1t2p.dat-s
ATLAS : 5.429s
GotoBLAS 1 : 15.793s
GotoBLAS 2 : 8.223s
GotoBLAS 3 : 6.991s
GotoBLAS 4 : 2.948s

GotoBLAS 1 の場合では、GotoBLAS が OMP_NUM_THREADS の数のコアを占有した状態になっていて、SCM の計算のときに SDPA 本体がさらに OMP_NUM_THREADS 数のスレッドを独自に生成するので、ここで合計スレッド数がコア数を越えることによって衝突と性能低下が発生する。GotoBLAS 4 の場合では SCM の計算のときに GotoBLAS のスレッドを用いるので衝突が発生しないと推察される。しかし GotoBLAS 4 の場合でも F1式 や F2式が含まれているとアウトになる。次に問題2の場合では F1 式が複数含まれている。

問題2:control11.dat-s
ATLAS : 39.671s
GotoBLAS 1 : 67.014s
GotoBLAS 2 : 51.294s
GotoBLAS 3 : 44.499s
GotoBLAS 4 : 66.893s
参考 GotoBLAS 1.34 : 33.103s

F1 式と F2 式の計算はシングルスレッドで行って、これから行列積等で GotoBLAS をマルチスレッドで計算した方が良いのだが、F1 式と F2 式の後半部分は各行でマルチスレッドで計算した方が良いので、この辺が悩みどころになる。

------------------------------------------------------------------------

○実験環境
CPU : Intel Xeon 5550 (2.66GHz / 8MB L3) x 2
Memory : 72GB (18 x 4GB / 800MHz)
OS : Fedora 11 for x86_64
ATLAS 3.9.17
GotoBLAS2 1.08

○GotoBLAS 1
NO_WARMUP = 1

○GotoBLAS 2
NO_WARMUP = 1
NO_AFFINITY=1
USE_SIMPLE_THREADED_LEVEL3=1

○GotoBLAS 3
NO_WARMUP = 1
NO_AFFINITY=1
USE_SIMPLE_THREADED_LEVEL3=1
common_thread.h :111 において
if (omp_in_parallel() || (level == 2)) return 1; から
if (level == 2) return 1; に変更

○GotoBLAS 4
NO_WARMUP = 1
F1 式を用いない場合ではSDPA 内の pthread_create, pthread_join の部分を gotoblas_pthread で置き換える。F1 式を用いる場合では GotoBLAS 1 と同じ。
コメント
この記事をはてなブックマークに追加

劇速 Windows 95

2009年11月19日 23時36分02秒 | Weblog
以下のホスト(ハード&ソフト)の環境上で Windows 95 の仮想マシンを動作させて、たまにインターネットの閲覧を行っている。ブラウザは IE 5.0 と Netscape 6.2 しか動作しないが、おそらく最新のウイルス等も Windows 95 には対応していないので、意外とセキュア?な OS になっている。幾つか懐かしいベンチマークソフト(Windows 3.x 用)を実行してみた。体感速度は仮想マシンでの実行ではあるものの、かなり速い。

ホストの環境
CPU : Intel Core i7 860 @ 2.80GHz
Memory : 8GB
OS : Fedora 11 for x86_64
VMware-Player : 3.0.0-203739

コメント
この記事をはてなブックマークに追加

SDPA 7.3.1 と ATLAS 3.9.17

2009年11月18日 01時22分49秒 | Weblog
前から気になっていたのだが、現在公開している SDPA 7.3.1 + ATLAS 3.9.x との組み合わせが SDPA 7.3.1 + GotoBLAS2 1.x の組み合わせよりも速くなることが多くなっている。問題1のように DGEMM が計算時間の中心の場合では GotoBLAS との組み合わせが速いが、SCM のマルチスレッド計算時間が重要になってくる場合では以下の問題2、3、4のように ATLAS との組み合わせが良くなる。

CPU : Intel Xeon 5550 (2.66GHz / 8MB L3) x 2
Memory : 72GB (18 x 4GB / 800MHz)
OS : Fedora 11 for x86_64

問題1:mcp1000-10.dat-s
GotoBLAS2 1.06 : 7.303s
ATLAS 3.9.17 : 9.760s

問題2:theta6.dat-s
GotoBLAS2 1.06 : 19.661s
ATLAS 3.9.17 : 15.320s

問題3:control11.dat-s
GotoBLAS2 1.06 : 66.979s
ATLAS 3.9.17 : 41.542s

問題4:Be.1S.STO6G.pqgt1t2p.dat-s
GotoBLAS2 1.06 : 15.877s
ATLAS 3.9.17 : 5.284s
コメント (3)
この記事をはてなブックマークに追加

本の9章

2009年11月17日 01時22分16秒 | Weblog
本の9章には期待を込めて以下のように書いたが、このように実現しない確率が高くなってきた。日本が中止するとなると他国のスパコン政策にも少なからず影響を与えるだろう。”敵”を失ったときには予算を獲得する名目が消失してしまうし、地球シミュレータが登場しなければ、世界最高速スパコンが 1 PFlops に達するのは現実よりも遅れることになっただろう。日本が先頭を切って中規模スパコン + 大規模クラウド路線などに転換するのも良いが、これを機にして最初に適切かつ必要なアプリケーションを選定してから必要な質量のコンピュータを用意するという、一般の方にも説明しやすい路線に転換すべきだろう。

さらに2007 年3 月には理化学研究所などによる共同開発プロジェクトで通称”京速計算機”が神戸に設置されることが決まっている. この計算機は名前の通りに 10 PFlops(1 秒間に1 京回) の浮動小数点演算を行うことを目標にしていて2010 年頃の運用開始時には世界最高速レベルに達する見込みである.
コメント
この記事をはてなブックマークに追加

最短路オンライン・ソルバー:ブラウザ別実行結果

2009年11月16日 01時49分06秒 | Weblog
久しぶりに最短路オンライン・ソルバーを用いて主要なブラウザ別に実行時間を計測してみた。テスト内容は前回と同じで添付図のように全米横断時の最短時間経路と最短距離経路を求めるものである。
前回1位の Google Chrome を僅差で Opera が破って1位になった。また以前よりは高速化しているが、Interner Explorer がまた最下位になった。

1: FireFox 3.5.5 : 16.10 秒
2: Google Chrome 3.0.195.33 : 15.71 秒
3: Opera 10.01 : 15.42 秒
4: Safari 4.0.4 (531.21.10) : 16.57 秒
5: Internet Explorer 8 (8.0.7600.16385) : 20.31 秒
コメント
この記事をはてなブックマークに追加