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

AMDのCPU/APU向けスーパーπ高速化パッチが公開」記事へのコメント

  • 毎回ひとけた目から計算って、なんかもったいない。

    前回結果をサーバーにアップロードし、次回はそこから400万桁を計算とかすると
    未知の領域までいけるんじゃないでしょうか。

    • Re: (スコア:2, 参考になる)

      by Anonymous Coward
      詳しくは、 パソコンによる円周率 小数点以下5兆桁の計算 [nistep.go.jp]とかにあるけど、上から順に求まるものでもないので。

      P.10に「nを1つ進めるごとに約14桁精度が上がる」とあるので、大ざっぱには、X/14個の小数点以下X桁の値を計算し、
      それらを全部を足したら、X桁目まで正確なπになるとかそういう感じ。
      表で考えると、縦がX/14行、横がX列の表を作って、その各枠に入る数字を全部求めれば良いことになる。

      例えば、この方法で140桁の円周率を求めたとすると、縦10行、横140列の表が完成する。
      次の140桁まで正しい280桁の円周率を求めようとすると、必要となる表は縦20行、横280列。
      • それがそうでも無いんですよ。

        binary splitting を使うと、過去の計算結果を有効利用することは可能です。
        挙げられた資料中にもありますが、円周率の計算は最終結果が出るまで分数の形式で保存しているわけですが、
        10兆桁の計算をする時には、前半5兆桁の計算結果と後半5兆桁分の計算結果から計算するような形になります。
        (厳密にはもうちょっと複雑ですけど)

        データ量がたくさん必要なのは確かにそうなのですが、最終結果の直前のデータだけ取っておけばいいので、
        大体求めた円周率のデータの5倍くらいです。

        なので、ゼロから計算し直すのに比べると、三分の一位の時間は節約できるんじゃないですかね。

        • となると常に最終結果を保存する場所が1箇所にあり、皆がそこを共有するようになると、算出出来るπの桁数は増えて行くのですね! ただ桁数が増えると計算時間が掛かるので、ベンチマークの意味をなさなくなりますが。 実際かなりの桁数が計算出来て居たら、自分のマシンでは一歩も進め無いのだろうな。
          親コメント
          • 実際のところ結果をまとめる一か所で行う計算が結構時間がかかるので、あまり分散には向かないですけどね。
            再帰的にある程度の塊に分割して結果をやり取りすることは可能ですけど、ネットワーク越しにデータをやり取りするコストを考えると、手元で計算したほうが早い感じです。

            #世界記録級の円周率の計算なんて、CPU のベンチマークというよりも、メモリやディスクI/O のベンチマークをしているようなものですけど。

            親コメント

192.168.0.1は、私が使っている IPアドレスですので勝手に使わないでください --- ある通りすがり

処理中...