問題タブ [quadruple-precision]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
616 参照

fortran - 4 倍精度と倍精度の CPU 時間

私は長期的なシミュレーションを行っており、ODE 系の解法で可能な限り高い精度を達成しようとしています。4 倍 (128 ビット) 精度の計算と 2 倍 (64 ビット) 精度の計算にかかる時間を調べようとしています。私は少しググったところ、それについていくつかの意見を見ました.4倍長くかかると言う人もいれば、60〜70倍かかると言う人もいます.

gfortran 4.8.4最適化フラグなしでコンパイルした後の典型的な実行の結果:

ここで何かが起こっているに違いありません。私の推測では、最適化されたアルゴリズムを使用sqrtして計算さgfortranれますが、これはおそらく 4 倍精度の計算には実装されていません。これは と の場合には当てはまらないかもしれませんが、sin基本cos演算は 4 倍精度で 7.6 倍遅くなるのに、三角関数では 2 倍しか遅くならないのはなぜですか? 三角関数に使用されるアルゴリズムが 4 倍精度と倍精度で同じである場合、それらの CPU 時間も 7 倍増加すると予想されます。

64 ビットと比較して、128 ビット精度を使用した場合の科学計算の平均速度はどれくらいですか?

これを Intel i7-4771 @ 3.50GHz で実行しています。

0 投票する
1 に答える
711 参照

c++ - Linux と Mac で 4 倍の精度

Linux で double、long double、または quadruple 精度で実行できる多次元数値積分コードを作成しました。すべてのモードは問題なくコンパイルおよび動作しますが、Mac で 4 倍精度の場合に同じコードをコンパイルしようとすると、意味がわからないエラーが発生します。

私は g++ でコンパイルしていますが、他のコンパイラも試しました (clang が何をするかを確認するためだけに試しましたが、私の知る限りでは 4 倍精度をサポートできませんか? 間違っていたら訂正してください)。

関連するライブラリとヘッダー (quadmath.h ヘッダーを含む) をリンクすると、quadmath.h から次のエラーが発生します。

__float128 エラーは、acosq、asinq などのさまざまな数学演算でも再表示されます...

サポートされていないマシン モード エラーに遭遇したことはありません。GNU コンパイラに関する注意事項GNU コンパイラに関する注意事項およびGNU 浮動小数点型を見てきました。

人々がコンパイルしてテストするための最小限の作業例を作成することは難しいため、エラーを追跡して何が問題なのかを突き止めようとしていますが、この段階で何をすべきかわかりません. これらのエラー メッセージが表示された場合、次のステップは何でしょうか? Linux と Mac の違いについて、私が見逃していることはありますか? 私は常に Linux でコードを書いてきたので、後者には慣れていません。また、Mac での 4 倍精度計算へのアプローチ方法は、慣れ親しんだ方法とは異なるようです。

ご協力ありがとうございました

-イエティ