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

大規模最適化問題、グラフ探索、機械学習やデジタルツインなどの研究のお話が中心

SDPA-GMP

2007年01月31日 03時28分22秒 | Weblog
1月26日にも紹介した gmp を用いた SDPA だが仮に SDPA-GMP としておこう。gmp は評価の高いライブラリのようで Linux でもメジャーなディストリビューションではインストールされていることが多い。SDPA-GMP の場合では LAPACK/BLAS などのライブラリも手動で書き換えているのだが、この部分などはついでに OpenMP で並列化してしまうこともできるので、for ループで各反復の独立性の高いものはマルチスレッド化した。まず gcc(g++)で作成した SDPA-GMP を Intel コンパイラを用いて再作成するとそれだけで 1.5 倍ぐらいの速度になる。さらに OpenMP でマルチスレッド化した SDPA-GMP を4スレッドで動作すると SDPA-GMP(Intel) の2倍以上高速になっている(解く問題に性能は依存するが)。ただこれでもまだ相当遅いことには変わりない。SIMD による高速化は結構効くと思われるのだが。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

超売り手市場

2007年01月30日 02時54分12秒 | Weblog
2007年度の就職活動は久しぶりに超売り手市場と言われているが、過去に何回も好不況の波を経験して辛酸を舐めている企業側としては、いくら好況でも将来の負担になりそうな学生は採用しないだろう。数年前の就職氷河期に就職した人達には大変な不公平感があるようだが、バブル期の就職とその後を知っていれば一概に好況時に実力以上の会社に入るのが幸福とは言えないだろう。反対に不況時に入社した同期の人には少数精鋭主義で偉くなっている場合も多い。博士取得者の就職の方は依然として氷河期のようだ。こちらはしばらく需給バランスが取れることはないので、売り手市場になることはないだろう。博士を大量に養成して働き口を作らないことに問題があるが、そんなに欲しいと思える人材が多くないのも事実だ。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Cell と内積計算と SIMD

2007年01月29日 03時23分04秒 | Weblog
SSE/SSE2 命令を利用するときには gcc で -msse2 -mfpmath=sse などのオプションを付けていたが、インテルコンパイラや gcc に付属している以下のヘッダファイルを include して明示的にコードを作成する方法も有名である。

MMX mmintrin.h
SSE xmmintrin.h
SSE2 emmintrin.h
SSE3 pmmintrin.h

Cell で double 型の配列の内積計算を行いたいのだが、Cell の SPE では float 型の SIMD 処理は超高速でも double 型の処理は速くない(Core 2 Duo よりは速そうだが)。しかも精度的には double-double (4倍精度)や quad-double (8倍精度)で演算したいところである。そこで元ネタは Knuth の本か Schewchuk の論文のようだが、例えば double 変数を二つ用いて、それらを上位ビットと下位ビット用に分けることによって擬似 double-double (53 × 2 = 106 仮数部ビット)を実現する方法がある。ただし処理は確実に遅くなるので LIS というライブラリでは SSE2 を用いて処理を高速化している。
これを float でも同じように考えて float変数二つで擬似 double (23 × 2 = 46 仮数部ビット)や float 変数四つで擬似 double-double (23 × 4 = 92)のようなこともできるだろう。また同様に SPE 上での SIMD 命令で一連の処理も高速化できるだろう。SDPA などで必要なのは内積計算なので足し算と掛け算が実現できれば十分である。SPE 上で普通に double で SIMD 命令で内積計算するよりも、float を用いた double-double の SIMD 命令計算の方が速そうな気がする(実際にやってみないとわからない)。いずれ世界のどこかで誰かが実現してくれそうな気もするが、なければ自分たちで作成しよう。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

SDPA と OpenMP

2007年01月28日 04時36分06秒 | Weblog
for ループで各反復が独立して実行できるときは OpenMP によって簡単にマルチスレッド化して並列化の恩恵を受けることができる(C, C++, Fortran)。しかし逆に考えればそのような for ループは複雑なプログラムではあまり多くないのも事実だ(始めから OpenMP を意識していれば別だが)。SDPA でも 複数の for ループを OpenMP で並列化ができるが、いろいろ試してみると恩恵を受けやすいのは、ブロック対角行列でブロック数(nBLOCK)が多くて、同じような大きさのブロックが並んでいる場合である(bLOCKsTRUCT)。以下のような問題は高速化が期待できる。

mDIM = 1056
nBLOCK = 624
bLOCKsTRUCT = 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
以下略

以下の問題もそこそこ恩恵が得られる。

mDIM = 948
nBlock = 22
bLOCKsTRUCT = 6 6 6 6 15 15 36 15 15 36 72 36 36 20 90 90 20 306 306 90 90 -94
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

XP サポート期間延長 その2

2007年01月27日 04時24分45秒 | Weblog
多くの人は今の XP の機能で十分と考えているのだろう。XP で不足な部分は Linux 等の別 OS でも補えるので現時点で Windows 新 OS の需要は大きくはない。普通はOS が相対的に古くなったりして、本当に新 OS の需要が出てきてから登場するのが普通だが、反対に新 OS を発売して半ば強制的に買い替えを迫るという販売戦略は見直しの時期に来ているだろう。またデジタル家電や携帯電話等の普及でパソコンの地位が低下していることも背景にある。
いまだに Windows 2000 で十分というユーザーは私の周りにもいる。Vista に魅力が無いのも事実だろうが、やがて新規パソコンは Vista しか選べなくなるのは困ったものだ。

マイクロソフト XPサポート延長…背景に利用者の不満

米マイクロソフトが25日、パソコン(PC)用基本ソフト(OS)「ウィンドウズXP」のサポート期間を5年間延長し14年4月までとすることを正式に決めた背景には、サポート打ち切りで買い替えを迫られる利用者の強い不満がある。市場での独占的な地位を使ってOSとPCの買い替えを促す販売戦略は軌道修正を余儀なくされた形で、30日発売の新OS「ウィンドウズ・ビスタ」の売れ行きにも影響を与える可能性がある。
 同社は02年10月、ウィンドウズを含む消費者向け製品のサポート期間は「発売後5年間まで」か、「次期製品の発売後2年間程度」のどちらか長い方と決めた。XP(01年11月発売)のサポート期間も新OS「ビスタ」の発売約2年後の09年4月までのはずだった。
 しかし、昨年7月に「ウィンドウズ98」(98年発売)と「同Me」(00年発売)のサポートを打ち切った際、日本を中心に利用者から苦情や問い合わせが殺到。XPでもサポート期間延長の要望が多かったため、もともと14年4月までだった企業向け製品のサポート期間と足並みをそろえることにした。
 サポート打ち切りの背景にはPC関連の技術革新の速さや利用環境の変化でOS自体が短期間で次々と性能アップを求められた事情もあるが、使用中のOSの性能で満足している利用者には「買い替えの無理強い」と映る。今回のサポート期間延長は、圧倒的に優位な立場で新製品投入を続けてきたマイクロソフトも利用者の不満を無視できなくなったことを意味している。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

任意精度ライブラリと SDPA

2007年01月26日 01時20分33秒 | Weblog
おそらく初めてだが SDPA の開発者7名が集まって今後の開発について打ち合わせを行った。現在の SDPA は Ver 6.20 だが、今後の Ver 7 と Ver 8 に向けて議論を行った。私が思いつくままにいろいろな構想を書いたので、かなり内容の多い agenda になったが、あとは担当や優先順位、期限などを決めていく必要がある。
ところで gmp (任意精度数演算ライブラリ)を用いると言葉通りに任意の精度で数値計算が出来る(当然精度を上げると遅くなるが)。これを用いて SDPA の線形代数演算の部分を置き換えて、さらに LAPACK/BLAS の SDPA から使用している部分も同じく gmp を用いて書き換えるようにする。これで任意精度で SDPA を実行することができる(現在開発、評価中)。
LAPACK や BLAS などは非常に人気の高いライブラリであるが、多倍長や任意精度の計算などへの対応が遅れているのも事実である。また単に精度を上げるだけではなく SSE などの SIMD 命令を用いて演算の高速化も必要だ。こういったライブラリの開発や整備は新検索エンジンの開発に使っている予算の数分の一でもあれば、日本で揃えて世界中に発信することができるだろう。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

XP サポート期間延長

2007年01月25日 03時04分34秒 | Weblog
正直あまり早急に Vista にアップデートしたくないと思っていたら、XP のサポートが延長されることになるらしい。まだ XP の方も販売しているので、今 XP を購入してもサポートがあと2年とはちょっとひどい感じがしていた。まだ Windows 2000 などを利用している人は結構いると思うが、2000 から Vista に以降すると全く別の OS になったような感じを受けるかもしれない。ドライバは仕方ないとして、ソフトウェアの互換性の低さは困ったものだ。ソフトウェアの互換性のテスト結果を見ていたら早期に移行する気が失せてしまった。雑誌で煽っているほど早めに移行する必要はないだろう。

マイクロソフト、XPサポートを全世界で大幅延長へ

 マイクロソフトは24日、現行のパソコン用基本ソフト(OS)「ウィンドウズXP」の家庭向け製品のサポート期限を当初予定の2009年1月から大幅に延長する方針を明らかにした。
 延長期間については明らかにしていないが、ビジネス向けのサポートは2014年4月までとなっており、これに合わせるとの見方が強い。25日に正式に発表する。
 マイクロソフトは、新OS「ウィンドウズ・ビスタ」が30日に発売されるのに伴い、09年1月までを家庭向けXPのサポート期限としていた。だが、サポート終了後は修正ソフトのダウンロードができず、ウイルス対策などソフトの安全性に問題が生じる可能性があるため、利用者から不満の声が上がっていた。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

SDPA Online Solver 改装

2007年01月24日 03時14分00秒 | Weblog
いろいろな理由によって SDPA Online Solver から Globus を(一時的?)外すことにした。つまり Ninf-G を外すことになるので、Web サーバーとクラスタ計算機がローカルに接続されていないとならないが、現状では特に問題ないと思う。Globus は 1 年毎に host と user の認証を認証局で受ける必要があるが、これが結構面倒で Globus の普及を妨げる原因になっていることは事実である。
前にも書いたように Ninf-G も Globus を使用しないバージョンの開発も行われている(つまり Ninf-G も Ninf-Globus から Ninf-Grid になる)。久しぶりに Ninf のプログラミングをしたが、30分ぐらいで改装作業は終了。すでに新システム運用中だが、使い方は全く同じなので、ユーザーから見れば何も変更されていないように見えるだろう。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

検索エンジン

2007年01月23日 03時06分47秒 | Weblog
NHK スペシャルのグーグルの特集を見た。企業としては検索の結果ランキングで上位に入るべしというのはわかるが、反対に検索する側としては上位だけ見ていてはいけないということもわかる(内容が良いから上位にいるとは限らないので)。本1冊を自動でコピーするスキャナーが番組の中で出てきたが、安ければ欲しくなった。
それにしても同じ世界トップ企業の特集としても、こちらとは何と違うことか。同じレベルの機能や性能の製品を多く売ろうと思えば、確かに検索での結果ランキングはかなり重要だろう。ただそんなことに労力を使うならば(ホームページにキーワードを連呼するとか)、製品の質を上げる努力をした方が良いと考える意見も結構ありそうだ。
日本の検索エンジン開発として情報大航海プロジェクトがある。関係者ではないが(関わらない方が良さそうな気もするが)、職場で噂は結構聞いたりする。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

クワッドコアとデュアルコア

2007年01月22日 03時06分30秒 | Weblog
製品の購入でクワッドコアの Xeon® 5320(1.86GHz)とデュアルコアの Xeon® 5160(3GHz)を選ぶ機会があったが(同じくらいの価格だったので)、後者の方にした。いくらクワッドコアでもあまりクロック周波数の低いのは扱いにくい。マルチスレッドで動作しないソフトウェアの方が現状では多い。両方のマシンともデュアル CPU 構成なので結局 1.86GHz × 8 (コア) = 14.88 と 3GHz × 4 (コア) = 12 だが、どうせクワッドコアで本当に 4 倍速くなるわけはないのだから、総合性能でも互角だと思われる。Intel も Cell みたいに 1コア(メイン x86_64 互換) + 複数コア(SIMD 演算器など)を出してくれたら良いと思う。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

XP --> Vista アップデート

2007年01月21日 00時24分15秒 | Weblog
Windows Vista が登場してきたが、ただでさえ忙しいこの時期に Vista に乗り換えたり、XP から Vista にアップグレードしたりと大変なことだ。しかも Vista 自体は最適化やクラスタ、グリッドなどとは関係が薄い。Vista にはいろいろなバージョンがあるのだが、一番下の Home Basic のあまりも多くの機能が制限されているので後にいろいろな問題が起きそうだ(Vista といえば Windows Aero という感じもあるが、これが動作しない)。
その上に Home Premium と Business という二つのバージョンがある。Windows XP だと Professional が Home edition を完全に含んだ形であるが、Business が Home Premium の上位バージョンで”ない”のが大変わかりにくい。ようするに前者は家庭用、後者は職場用ということだろう。全ての機能を含んだ Ultimate というバージョンがあって精神的には最も良いバージョンだが、かなり値段が高い。
DSP 版の XP から Vista にアップデートするのは結構面倒なのだが、Windows Vista Upgrade Advisor というサービスがあって現在 XP で動作しているマシン上で動作して、システム、デバイスドライバー、ソフトウェアについて Vista に以降するときの問題点や対処方法を教えてくれる。かなり多くのソフトウェアが Vista では動作しないようなので、すぐにアップデートしようという気が萎えてくる。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Windows Vista と PC

2007年01月20日 00時52分38秒 | Weblog
ASUS のマザーボード P5N32-SLI SE Deluxeは NVIDIA SLI のフルレーン接続(16x2)で普通に最新の Linux も動作するので気に入っていたのだが、さすがにもう古いチップセットで手に入りにくくなってきたようで、5枚も手に入らないということで nForce 590 SLI のチップセットのマザーボードに変更してもらった。Linux は当分動作しなくて良いとか、しばらくは Windows の VMWare 上で Linux が使えれば良いと割り切れば最新の nForce 680i SLI とかでも良いのだが。
Windows Vista について Windows Vista Capable PC と Windows Vista Premium Ready PC という区別があって、こちらのページによると各マシンの最小構成は以下の通りだが、要するに前者は Vista 動作の最低スペックで後者は Vista の新機能がほとんど使用できる最低スペックということだろう。いつものように随分控えめな感じがするが、結構ハイスペックなマシンでも少し動作が重く感じることがあるので(Vista RC1 だが)、ちょっと古いマシンは Windows XP や 2000 のまま使い続けた方が良さそうだ。

Windows Vista Capable PC の最小構成は以下のとおりです。

最新のプロセッサ (800 MHz 以上1)。
512 MB のシステム メモリ。
Direct X 9 対応のグラフィック プロセッサ。

Windows Vista Premium Ready PC の最小構成は以下のとおりです。

1 GHz 32 ビット (x86) または 64 ビット (x64) のプロセッサ1
1 GB のシステム メモリ。
WDDM ドライバ対応の DirectX 9 グラフィックのサポート、128 MB のグラフィック メモリ(最小)2、ピクセル シェーダ 2.0、1 ピクセルあたり 32 ビットの色深度。
40 GB のハード ディスク容量と 15 GB の空き容量。
DVD-ROM ドライブ3。
オーディオ出力機能。
インターネット アクセス機能。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

NHK

2007年01月19日 00時01分12秒 | Weblog
NHK が受信料義務化するならばチャンネル数を減らしてという人は多いのではないだろうか。個人的にはニュースとドキュメンタリーだけで十分で、バラエティや変な海外ドラマやアニメなどは要らない。どうしても見たい人がいればその人だけが番組を選択して受信料を払えば良いと思う。絶対見ないあるいは見たくない番組に対しても強制的に受信料を取られるのでは税金よりも金の悪質な取られ方である。どうしても今のまま義務化したいならば次の選挙の争点して欲しい。
ただし NHK はドキュメンタリー・教養番組に関しては、はるかに民法より質の高い番組を提供している(民法の能力が低いのかもしれないが)。個人的にもスペシャルやニュースなどは良く見るのでこれに関しては受信料を払うのは構わない(実際払ってるが)。NHKも潤沢な資金があるわけではないので、民法で出来ることは民法に任せてこれらに資源を集中するのが賢明だと思う。私や私の周辺でもスペシャル番組で取材を受けたことがあるが、だいたい番組の本番を見ると意図したようになっていないことが多い。番組スタッフで予め意図している方向に持っていきたがるので、番組が必ずしも出演者、関係者の意図通りになっていないことを自覚して視るのがいいだろう。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

多項式最適化の今年

2007年01月18日 03時07分26秒 | Weblog
非凸最適化問題には当然様々な問題が含まれるが、なかなか統一的な優れた解法が見付からないのも事実である。多項式最適化問題(POP)に対する半正定値計画問題(SDP)を用いた緩和法というのは理論的にも万能という訳ではないが、かなり多くの種類の最適化問題を同じような方法で扱えるようになっている。この緩和法も指摘されてみれば長いこと SDP を扱っている人ならば、自然な方法だと思うだろう。発想は難しくないが、全貌を理解するのは大変困難である。
この方法も緩和による最適解との相対誤差を縮めようと思えば、SDP のサイズがどうしても巨大になるので広く普及するところまでは行っていない。今年はどうなるのかというところだが、疎性の利用も含めて理論的にはまだ出尽くしたわけではなさそうだ。前にも書いたように制御系や代数幾何などにも様々な応用がある。実際に解く方法についても様々な構想を持っているが、あとはモチベーションの問題である。つまり理論系や他分野の方からゴーサインが出ることが必要だ。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PS3 累計 200万台

2007年01月17日 02時47分31秒 | Weblog
PSX (DESR-5000) という HDD レコーダーを使っているが、すでにネットワークアップデートなどは終了しているようで、メニューからネットワークアップデートをするとシステム自体がハングアップする。よくわからないが少し無責任のような気もする。
高い高いと言われながら(性能比では安いが)、ついにPS3 の出荷台数が日本で 100 万台(全世界で 200 万台)を突破した。私のように初めから計算目的で買うような少数派は別として、まだソフトがあまり出ていないことを考えると、結構多い出荷台数ではないか。PlayStation@Network のホームページからグランツーリスモHDコンセプトが無料でダウンロード出来るが、すでにユーザーが 30万人を突破したようだ(私もその一人)。
Cell に関しては情報処理関係のシンポジウムでも関連する発表を見るようになった。SPE 上では回路の簡素化のため分岐予測などの機能がないので、SPE での処理の構造は単純な方が良い(現状では)。

プレステ3、国内出荷台数100万台に

 ソニー・コンピュータエンタテインメント(SCE)は16日、昨年11月11日に発売した据え置き型ゲーム機「プレイステーション(PS)3」の国内出荷台数が発売から67日間で100万台に達したと発表した。日本と米国を中心とした全世界では累計200万台を突破したという。昨年末までに世界出荷200万台という当初目標には2週間ほど遅れたが、SCEは「3月末までに世界600万台の目標を達成できる生産体制は整った」(広報部)としている。
 2000年に発売され世界出荷台数が累計1億1000万台を超えるヒットとなった先代の据え置き型ゲーム機「PS2」は、累計出荷が200万台を超えたのは発売から2か月と20日間だった。PS3の世界出荷はこれを上回るペースとなっている。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする