問題タブ [flops]
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.
profiling - 浮動小数点演算が高価であると見なされるのはなぜですか?
gprof(関数プロファイリング)やその他のプロファイリング方法では、プログラムの実行中に発生する浮動小数点演算の数を返すことができることを読みました。したがって、Flopsは通常の演算よりもはるかに高価であるのではないかと考えていました。
cpu - Intel プロセッサの gFLOP の計算
コンピュータの 1 サイクルあたりの gFLOP を測定するにはどうすればよいですか? Intel(R) Pentium(R) CPU G620 というプロセッサを使用しています。@ 2.60 GHz で動作します。
c - Compiler skipping over loop
I am compiling flops via a loop with simple operations like such:
I never do anything with num1, however, and so the compiler is skipping over it and this loop takes 0 ms no matter how large beginvar and endvar are.
My question is, how can I force the compiler to execute the nested loop?
I've tried declaring num1 as volatile, but this does fewer optimizations than I want. I want the compiler to optimize, but I want it to execute this loop as well.
I also would not like to print anything to the terminal
c++ - Gflopを数えるとき、インデックス計算を考慮する必要がありますか?
たとえば、ここで数学の演算を数えます。
合計gflops++i
でi*xcol+j
などの演算をカウントする必要がありますか(ここで明らかな間違いを指摘する前に、フロップスの厳密な定義を少し忘れましょう)カウントする必要がありますY[i]*Z[j]
か?私がこれを尋ねる理由は、ここで最後の1つだけをgflops /mathsopsとして数えるいくつかの論文を読んだからです。
benchmarking - 1 秒あたりの浮動小数点操作 (FLOPS) と 1 秒あたりの整数操作 (IOPS) の計算
私はいくつかの基本的なベンチマークを学ぼうとしています。Java プログラムに次のようなループがあります。
私のプロセッサは、これを処理するのに約 0.431635 秒かかります。Flops (1 秒あたりの浮動小数点操作) と Iops (1 秒あたりの整数操作) に関してプロセッサ速度を計算するにはどうすればよいですか? いくつかの手順で説明を提供できますか?
performance - 倍精度のgflopsの計算
ピークGFLOPS仕様を提供するデバイスがあり、プログラムがそれからどれだけ離れているかを測定したいと思います。使用したデータはすべて倍精度だったので、操作回数に2を掛けて、GLOPS値を取得し、比較する必要がありますか?
cpu - Sandy-BridgeおよびHaswellSSE2/ AVX/AVX2のサイクルあたりのフロップ
Sandy-BridgeとHaswellを使用して、コアごとに1サイクルあたり何フロップを実行できるかについて混乱しています。SSEで理解しているように、SSEの場合はコアあたり1サイクルあたり4フロップス、AVX/AVX2の場合はコアあたり1サイクルあたり8フロップスである必要があります。
これはここで確認されているよう です。サイクルあたり理論上の最大4FLOPを達成するにはどうすればよいですか? 、そしてここでは、 Sandy-BridgeCPU仕様。
ただし、以下のリンクは、Sandy-bridgeがコアあたりサイクルあたり16フロップス、Haswellがコアあたりサイクルあたり32フロップスを実行できることを示しているようです http://www.extremetech.com/computing/136219-intels-haswell-is-an-unprecedented -threat-to-nvidia-amd。
誰かが私にこれを説明できますか?
編集:私は今、なぜ私が混乱したのか理解しました。FLOPという用語は単精度浮動小数点(SP)のみを指すと思いました。サイクルあたり理論上の最大4FLOPを達成するにはどうすればよいですか?実際には倍精度浮動小数点(DP)上にあるため、SSEの場合は4 DP FLOP /サイクル、AVXの場合は8DPFLOP/サイクルを達成します。SPでこれらのテストをやり直すのは興味深いことです。
matlab - FLOP の数え方を理解する
FLOP のカウント方法を把握するのに苦労しています。ある瞬間、私はそれを理解したと思いますが、次の瞬間には意味がありません。これを説明する助けをいただければ幸いです。このトピックに関する他のすべての投稿を見てきましたが、私がよく知っているプログラミング言語で完全に説明されているものはありません (MATLAB と FORTRAN をいくつか知っています)。
これは、私の本の 1 つから、私がやろうとしていることの例です。
次のコードでは、フロップの合計数(n*(n-1)/2)+(n*(n+1)/2)
は と同じように記述できますn^2 + O(n)
。
n
上記と同じ原則を適用して、次のコード (MATLAB)の方程式の数の関数として FLOP の総数を見つけようとしています。
c++ - GFlops の計算
たとえば、CUDA アプリケーションのような私のプログラムの GFlops をどのように計算するのだろうかと思っています。
コード内の実行時間と浮動小数点演算の数を測定する必要がありますか? 「logf」のような操作があった場合、それは 1 つのフロップとしてカウントされますか?