パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

Google、31.4兆桁の円周率で世界記録を更新」記事へのコメント

  • と言うのを使ってるとGoogle Cloudの声明にはありますね。
    https://en.wikipedia.org/wiki/Chudnovsky_algorithm [wikipedia.org]

    たしかにこの方法なら、一部てか最後のいくつかの演算を除いて整数だけで演算が出来ます(勿論、ビット数は法外にでかくなりますが)し、SIMDやマルチスレッドを使った並列演算も捗りそう。
    しかしなんでOpenCLとかCUDAとか使わなかったんだろうか…と思ったけど、結局はクラウドサーバの宣伝だったんですね(^_^;

    • Re:Chudnovsky法 (スコア:5, 参考になる)

      by Anonymous Coward on 2019年03月17日 18時30分 (#3582611)

      別に宣伝だからGPU使わなかったわけではなく、CPUの方が早いからGPU使わないだけです。

      今現在一番早い円周率の計算は、挙げておられるchudnovskyの公式を利用する物です。
      その公式を利用した円周率計算ソフトで有名なのが今回Googleも使用したy-cruncher。
      このアルゴリズムでは計算途中に一時データとして比較的大きな量の低レイテンシメモリを必要とするので、演算コアあたりの内部キャッシュ量が少ないGPUには向いてない。

      親コメント
      • Re:Chudnovsky法 (スコア:3, 興味深い)

        by Artane. (1042) on 2019年03月18日 1時46分 (#3582686) ホームページ 日記

        > このアルゴリズムでは計算途中に一時データとして比較的大きな量の低レイテンシメモリを必要とするので、演算コアあたりの内部キャッシュ量が少ないGPUには向いてない。

        確かにGPUだと、キャッシュも小さめですが、そもそもローカルメモリとして比較的速くアクセスできる領域が(1演算ユニット辺り)せいぜい64KB、グローバルなメモリでもせいぜい16GBとかですね。
        途中の演算(加減やせいぜい掛け算で済むブロックを想定しています)ですら、想定される桁数が10進換算で「メガ桁」とか「ギガ桁」、下手すると「テラ桁」になるかもしれないことを考えると、GPU側で並列演算をしようにも桁数が大きすぎて、メリットがないというのも納得がいきます。

        # となると、1モジュール辺り、数テラバイトとか数十テラバイトの直接アクセスできる(インターコネクト的な部分を超えない)メモリを抱えてるGPUのようなベクトル演算プロセッサがあれば…

        親コメント
      • by Anonymous Coward

        GPUみたいなアーキテクチャ向けの最強アルゴリズムはこれだ、みたいな研究もあるんでしょうね。今のところ使うメリットが無いけど、もしCPUとGPUの差がほげほげ以上に開いたらそっちの時代が来るぜ、とかそういう。

日々是ハック也 -- あるハードコアバイナリアン

処理中...