パスワードを忘れた? アカウント作成
10319221 story
スパコン

理研、100万×100万の巨大行列の固有値計算を1時間で達成 131

ストーリー by headless
達成 部門より
理化学研究所がスーパーコンピューター「京」を使い、100万×100万の密行列の固有値を1時間で計算することに成功したそうだ( 報道発表資料60秒でわかるプレスリリース)。

研究チームでは新しい計算アルゴリズムを考案し、行列の固有値を高速で計算できるソフトウェア「EigenExa(アイゲンエクサ)」を開発。「京」の全663,552プロセッサとEigenExaを用いて100万×100万の密行列の固有値を求めたところ、1週間ほどかかると考えられていた計算が1時間で可能なことが確認できたという。

cvmonto 曰く、

処理の実行速度は「京」の理論ピーク性能の16%に当たる1.7ペタFLOPSという高い数値を記録したとのこと。100万×100万の行列の固有値問題が計算されたという報告はこれまでになく、過去の世界最大規模の固有値計算としては地球シミュレータの4,992プロセッサを用いて40万×40万行列を3時間半で行った記録があるとのことである。

また、774THz 曰く、

プレスリリースでは、「半導体や新材料の開発などのシミュレーションがより大規模化・高速計算が可能に」と述べていますが、それだけではなくあらゆる工学的アプリケーションの性能向上に大きなインパクトがあるはずです(最終的には大規模な方程式の高速解法につながる)。直接関連する分野(線形方程式の反復解法とか)には地味ながらも他に様々な技術的進歩があるようで、ぜひ専門家の方に分かりやすい現状の解説をお願いしたいところです。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • 大規模計算 (スコア:3, 興味深い)

    by Anonymous Coward on 2013年12月07日 16時59分 (#2507951)

    この種の大規模計算を適切に行うには長時間多くのノードが誤りなく計算する必要があり、そういう所はメインフレームを古くから作ってきた日本のメーカーが強く、GPU超並列やらIBMのスパコン等を買うのではなくてわざわざ作る大きな意義の一つで、様々な大規模な計算を変な工夫なくできるのが京の良い所という話だったと思いますが、
    100万×100万の行列ってどういう所に使うんでしょうか。

    前聞いた時には自動車の設計とかで何万の方程式を解く必要があるが殆どの要素が0だとかで、100万×100万の密な行列の固有値計算ってどういうものが有るんでしょう。
    詳しい人教えてください。

    ついでに高校で固有値計算を習ったとかリンク先にありましたが、私は大学で聞いて、授業中はちんぷんかんぷんで、後で本を読めばこんな簡単な話ならもっと簡単に言えよと思った記憶が有ります。
    これもゆとり教育の成果でしょうか。

    • by ryochan (6714) on 2013年12月08日 1時38分 (#2508195)

      疎行列であっても、固有値・固有ベクトルが全て必要であれば、密行列として計算するのが最速です。

      (自動車の設計などの際にどうかまではわかりませんが)

      親コメント
    • by the.ACount (31144) on 2013年12月08日 11時36分 (#2508307)

      自動車の設計などの構造計算では力の伝達が接触した部分にしか伝わらないので大部分の構造間は無関係になって行列要素の大部分が0になります。
      大部分が0でない密行列が出てくるのは力が遠隔作用で至る所からの影響がある場合です。
      たとえば重力場とか電磁場が遠隔作用ですから、重力多体計算とかプラズマ計算ですね。
      固有値は微分方程式を具体的に解かずに定性的性質を調べるときなどに使います。

      --
      the.ACount
      親コメント
      • by Anonymous Coward on 2013年12月09日 0時07分 (#2508582)

        理論は親コメントの通りと思いますが、いくぶん現場寄りの立場から補足しときます。自動車の設計であれば、車内騒音解析はBEM(境界要素法)を使用することが多く、密行列ですね。車体振動はFEMで疎行列、車内空間はBEMでという感じで連成させます。
        あと、自動車の設計で使用しているかは知りませんが、構造品単体の設計であれば、たとえばき裂進展や切り欠き形状の応力の計算にBEMを使用したりします。FEMだと領域内も離散化しているので、特異性の扱いが面倒(メッシュ分割とか)なわけですね。

        親コメント
    • Re:大規模計算 (スコア:2, 参考になる)

      by Anonymous Coward on 2013年12月08日 14時26分 (#2508359)

      ある意味、ゆとりの犠牲者だと思う。
      高校:直感の延長線上で数理を扱う。
      大学:数理操作から概念を教える。
      という決定的違いがあるのに、高校までの中身を削って
      さらに上記のような理解の仕方の決定的違いに気づかせる
      チャンスを与えられて無いからね。
      「もっと簡単に言ってくれよ」はごもっともなんだけど
      そんな教材作ってないし、そんな幼稚な説明やってたら
      大学教育で教えたいことの半分も教える時間がない。というのも
      ごもっともなんだよね。

      親コメント
    • by Anonymous Coward on 2013年12月07日 19時13分 (#2508043)

      自動車の設計で解く問題は、力や熱の伝達とか隣り合うノード間しか相互作用を持たないので疎行列になるけど、どっちかというとこういう問題の方が例外です。例えば重力とか電磁力とかが関係する問題は全ノード間で相互作用を持つので密行列になります。実際には値が小さい要素を近似して疎行列にして解くことも多いけど。

      大学でやる固有値計算はヒルベルト空間の理解をある程度求めるだろうから難しかったのでは。

      親コメント
  • by jtss (23444) on 2013年12月07日 14時53分 (#2507866)
    結局はそうなるんだよね
    --
    JTSS
  • by Anonymous Coward on 2013年12月07日 19時19分 (#2508046)

    群論に出てくるモンスター群の元は196,883次正方行列として表現できる。
    さっぱり分からんけど純粋数学でもこういう具体的で巨大な行列を扱うらしい。

    196,884という数が出てくる関数との謎の関係がムーンシャイン現象と名付けられたのを
    超弦理論方面の数学者が解明してフィールズ賞を受賞したとか何とか。

    シミュレーションだけでなく純粋数学や超弦理論方面の需要もあるのかな。

  • by Anonymous Coward on 2013年12月07日 19時20分 (#2508047)

    リンク先より引用

    >固有値計算では専門的な数学の知識が必要になるため、専用の数学ソフトウエアを利用することが一般的です。しかし、現在のスパコンで利用されている標準的な数学ソフトウエアは1990年代後半のスパコンをベースに設計・開発されているため、「京」のような超並列コンピュータを想定して開発されていません。また、こうした標準数学ソフトは、新しいプロセッサ技術の登場や、さまざまなプログラミング言語が利用されている現在では、最先端のソフトウエアとは言えなくなりつつあります。

  • by Anonymous Coward on 2013年12月07日 15時06分 (#2507875)

    100万x100万=200万だ!
    10倍だぞ10倍!

    • by Anonymous Coward

      100万x100万=200万だ!
      10倍だぞ10倍!

      それじゃ元ネタのインパクトがカケラも伝わらんわ

      そこは、
      俺達は100万+100万=200万じゃねえ、100万+100万=1e+12だ!
      10倍だぞ10倍!!
      だろ?

      # 週刊ゴング、季刊とか年刊でいいから復刊してくれないかな

  • by Anonymous Coward on 2013年12月07日 14時44分 (#2507861)

    もっと大規模なやつを日常的にやってたりして。

  • 京用にオプティマイズかけているのは当然だと思うが。

    • by Anonymous Coward

      京が出てきたのは、100万×100万で1時間という具体的な数値を挙げるために具体的なコンピューター名が必要だったからでしょ。

      • 100万×100万=1兆だからまだ1万倍足りない
        みたいな?

        親コメント
      • by Anonymous Coward

        もっと単純に理研だからだろ。具体的なコンピュータ名ならなんでもいいなら京である必然性がない。
        むしろ「従来の100ペタFLOPS級のスパコン+従来のアルゴリズム」と「EigenExa+京」を比較するとか、理研はデータを比較するときの基本の基本のイロハの初歩(比較したい条件以外はできるだけ揃える)もわかってないの? 馬鹿なの? とか思われかねないわけだが。

  • by Anonymous Coward on 2013年12月07日 15時09分 (#2507878)

    一発ものならベンチとか趣味レーションかな、
    実際は数万回やってどうかとかですよね。

  • by Anonymous Coward on 2013年12月07日 15時11分 (#2507879)

    http://science.srad.jp/story/13/12/05/0410252/ [srad.jp]
    アイゲンエクサたんの擬人化マダー?

  • by Anonymous Coward on 2013年12月07日 15時12分 (#2507881)

    むかーし、ちょっとだけ囓ったけど、その時読んだ本は、
    大学図書館の隅っこに保存されてたかなり古い本だった。

    重要と言えば重要なんだろうけど、いまじゃあまりホットな話題じゃないんじゃないか?

    #教えて!エロい人!

    • by Anonymous Coward

      まぁ確かにアルゴリズム自体をちまちまやる時代ではなくなっていたのは事実かもしれないが
      プロセッサやらハードやらもいろいろ変化の時期も来ているので
      それに合わせて作り直すというのは多少は必要なのかも

      # プロセッサの数に任せた力技かと思ったら意外とそうでもなかったのね

    • by Anonymous Coward

      代数の基礎の基礎ですよ

  • あるはずなんだけど、リンク先を眺めただけでは私にはよくわかりませんでした。
    凄い例(許容範囲の制限で実用的な結果が得られる)というのはたしかにあるので期待したいですね。

    • by Anonymous Coward

      また、固有値計算部分は三重対角行列を計算する場合に比べて数倍増加するが、前処理での処理時間削減の効果が大きいため、新しい1段階スキーム全体はより少ない計算時間となる。

      って説明からすると、ある規模から逆転するのに気が付いた人が今まで居なかったってなパターンかも?

      • by Anonymous Coward

        居てもそこに手が届くだけ速いコンピューターがなかったとか。

  • by Anonymous Coward on 2013年12月07日 17時32分 (#2507976)

    EigenExaなら1時間は良いとして、だったら何だったら1週間と考えられていたんだろう。

    もしかして「EigenExaなら1週間でできると思ってたら何とびっくり1時間で終わっちゃいましたぁ!」なんて間抜けなことじゃないよね?
    つーか見積もりの1%以下で終わったら、結果を真っ先に疑うな、うん。

    • 「国内に存在する100テラFLOPS級のスパコンで」って書いてるだろ。

      • by Anonymous Coward

        「100テラFLOPS級のスパコンで1週間かかっていた計算が10ペタFLOPS級のスパコンでは100倍速くなった!」
        新しいアルゴリズム意味なくね?
        100テラFLOPS級のスパコンだって理論ピーク性能を100%発揮できるわけがないし。

  • by Anonymous Coward on 2013年12月07日 17時40分 (#2507979)

    来年度予算16%でいいよねって言われないのだろうか。

    #素人感覚

  • by Anonymous Coward on 2013年12月07日 18時14分 (#2508002)

    大半の研究者が求めてるのってクソ高いスパコン上で動く早いソフトじゃなくて、とにかく安いスパコンだと思うんだが

    • by Anonymous Coward

      安いスパコンなら自分で買えますので

    • by Anonymous Coward

      計算時間が1%になるならもとは取れるんじゃねーの。
      あとEigenExaはオープンソースで公開されているから安いスパコンに移植して使えばいいんじゃねーの(1ペタFLOPS級のスパコンじゃないと効果が出ない手法なのかもしれんが)。

      • by Anonymous Coward on 2013年12月08日 1時57分 (#2508200)

        EigenExaは、すでにIntelマシン上でも動きますよ。
        下のように各種並列固有値計算ライブラリへのC++のラッパーを書いているプロジェクトもあります。

        https://github.com/t-sakashita/rokko [github.com]

        親コメント
typodupeerror

最初のバージョンは常に打ち捨てられる。

読み込み中...