問題タブ [cpu-speed]
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.
machine-learning - データ処理を高速化するためにプロセッサーの使用率を高めるにはどうすればよいでしょうか?
機械学習関連のデータ処理に Samsung NP350V5C-S06IN ラップトップを使用しています。仕様: (第 3 世代 Ci7 (2.3 GHz)/ 8GB RAM / Win7 HP/ 2GB AMD Radeon HD 7670M グラフィックス カード)
RF や GBM などの計算集約型アルゴリズムの実行には、4 時間から 6 時間もの時間がかかります。しかし、タスク マネージャーを使用してプロセスを実行しているときにシステムを監視すると、8 つのコアのそれぞれの使用率が非常に低く、特定の瞬間にのみ 15% ~ 20% であることがわかります。各コアの使用率を上げて処理を高速化する方法はありますか?
具体的な質問: Hadoop をインストールすると、使用率と処理速度が向上しますか? グラフィックス カードとその 2 GB メモリを利用する方法はありますか?
c - Windows/Linux C で CPU 名、モデル、速度を確認するには?
ハードウェアに関する C の情報を取得したいと思います。
- 私が持っているCPUの数
- それぞれのコアの数
- すべての CPU にすべてのコアがある論理コアの数
- CPU 名 + モデル
- CPU 速度 + 周波数
- CPU アーキテクチャ (x86、x64)
Linux ライクな OS で解析できることは知ってい/proc/cpuinfo
ますが、通常のファイルではないため、安全ではないと思います。SOでこの回答を見ましたが、必要なすべての情報が得られるわけではありません。呼び出しcat /proc/cpuinfo > file.txt
てから解析する必要がありfile.txt
ますか? 私は知っていますcpuid.h
(GCCを使用しています)が、このヘッダーに関するドキュメントが見つかりません(とにかく-使用するのは良い考えですか?)
c# - 2 台のマシンの利用可能な処理能力の比較
ユニットの利用可能な (残りの) 処理能力に応じて負荷を分散するロード バランサーを考えてみてください。このパラメータをどのように計算して比較しますか?
これを実装しようとしてC#
いますが、これまでのところ使用率をパーセンテージで照会できますCPU
が、異なるマシンが異なるプロセッサを使用している可能性があるため、それはできません。おそらく、各マシンの処理能力に空きCPU
率を掛けた値がわかれば、それは適切な見積もりになるでしょう。
しかし、プロセッサに含める重要なパラメータは何で、それらを 1 つの数値に集約する方法は?
windows-8 - Windows 8 で CPU キャッシュを確認するにはどうすればよいですか?
問題があります。Windows 8 で、CPU キャッシュを表示できるパネルまたはコマンドが見つかりません。
sysconfig を取得できるソフトウェアがいくつかあります。しかし、それらは完全な情報ではありません。CPU_CACHE を除く完全にすべての情報です。
performance - Intel Xeon E5-2690 の GFlop/s でのピーク パフォーマンスを導き出すには?
このプロセッサ比較で、Xeon E5-2690 の理論上の DP ピーク パフォーマンス 371 GFlop/s を見つけることができました(興味深いことに、Intel のサポート ページ自体よりも Intel の競合他社でこの情報を見つける方が簡単です)。ただし、そのピーク パフォーマンスを導出しようとすると、導出が一致しません。
- Xeon E5-2690 の各コアの周波数 (ターボ モード) = 3.8Ghz
- プロセッサはサイクルごとに
add
and操作を実行できるため、次のようになります。 3.8 x 2 = 7.6mul
- AVX がサポートされている場合、1 サイクルあたり 4 回の double 操作を実行できます: 7.6 x 4 = 30.4
- 最後に、8 つのコアがあるため、8 x 30.4 = 243.2 となります。
したがって、Gflop/s でのピーク パフォーマンスは 243.2 GFlop/s であり、371 GFlop/s ではありませんか?
c++ - XCODE 5 で CPU 使用率を 100% より大きくする
XCODE 5 で単純なコンソール ベースの C++ アプリケーションを実行しています。
私は 2.8GHZ Intel Core i7 プロセッサを持っています。CPU 使用率を見ると、次のような統計があります。
無料の 537% を My_Program に利用することはできますか? XCODE または Eclipse で CPU 使用率を 100% より高くすることはできますか?
ありがとう、どんな提案でも大歓迎です。
c++ - トリッキーなスピードアップを理解する方法
抽象的すぎる質問で申し訳ありませんが、私にとっては非常に実用的です + 一部の専門家は同様の経験があり、説明できる可能性があります。
約 10000 行の大きなコードがあります。
ある場所に置くと気づきます
ここで、expression は常に false (コードと cout のロジックで二重にチェックされます) ですが、不明なパラメーターに依存します (そのため、コンパイラーはコンパイル中にこの行を単純に取り除くことはできません)。プログラムの速度は25% 向上します (計算の結果同じだ)。ループ自体の速度を測定すると、速度アップ係数は 3 より大きくなります。
なぜこれが起こるのか、また、そのようなトリックなしでこのスピードアップの可能性を利用する方法は何ですか?
PS私はgcc 4.7.3、-O3最適化を使用しています。
より詳しい情報:
2 つの異なる表現を試しましたが、どちらも機能します。
行を次のように変更すると:
スピードアップはなくなりました。
行を次のように変更すると:
スピードアップはなくなりました。
行を囲むコードは次のようになります。
for ループが奇妙に見えます。これは、このボトルネックをキャッチするためにループを修正したためです。当初、expression は expression0 に等しく、do-loop の代わりにこれだけを継続しました。
分岐予測を理解するために __builtin_expect を使ってみました。と
スピードアップは 25% です。
スピードアップはなくなりました。
-O3 の代わりに -O2 を使用すると、効果がなくなります。このコードは、False 条件を使用した高速 O3 バージョンよりもわずかに (~3%) 遅くなります。
「-O2 -finline-functions -funswitch-loops -fpredictive-commoning -fgcse-after-reload -ftree-vectorize」も同様です。もう 1 つのオプション: "-O2 -finline-functions -funswitch-loops -fpredictive-commoning -fgcse-after-reload -ftree-vectorize -fipa-cp-clone" を使用すると、効果が増幅されます。「ライン」を使用しても速度は同じですが、「ライン」を使用しない場合、コードは 75% 遅くなります。
その理由は、次の条件演算子にあります。したがって、コードは次のようになります。
ほとんどの場合、expression2 の値は false です。だから私はそれを次のように変更しました:
そして、望ましい25%のスピードアップを手に入れました。もう少しでも。そして、行動はクリティカルラインに依存しなくなりました。
推測なしでこの動作を説明できる資料を誰かが知っている場合、私は彼らの答えを読んで受け入れることを非常に嬉しく思います.
android - USB 切断時のウェイクロックにもかかわらず、Android アプリの速度が低下する
オーディオ処理を行い、リアルタイムで再生するアプリケーションを作成しています。私が直面している問題は、電話が USB ケーブルでコンピューターに接続されているときはアプリケーションが正常に動作することですが、ケーブルが切断されるとオーディオがスキップしてポップし始めます。ケーブルを外した状態で画面をオンにすると、アプリケーションは通常の動作を再開しますが、画面がオフになるとすぐに問題が発生します。
これは、CPU が省電力モードに入り、USB ケーブルが接続されているときや画面がオンになっているときに起動したままになっているように聞こえたので、PARTIAL_WAKE_LOCK
. しかし、これは状況を修正するものではありませんでした。
問題が何であるかについて誰かが教えてもらえますか? 私のウェイクロックコードは大丈夫だと確信しています。CPU がスリープ状態になるかどうかを診断する方法はありますか?
画面をオンにしておくことは、私にとって選択肢ではありません。
arm - CPUのクロックレートを下げると、割り込みレイテンシ(または割り込みレイテンシのジッター)はどうなりますか
リアルタイム アプリケーションの割り込みを処理している ARM CPU でベアメタル プログラムを実行しています。電力も制約なので、その特定の CPU の周波数で遊んでみようと考えています。周波数を変更したときに期待できる変化(割り込みレイテンシまたは割り込みレイテンシのジッター)を予測できる方法はありますか。実装して測定することで手動でこれを行うことができることは知っていますが、これを行うための論理的または数学的な方法があるかどうかを知りたいです。
ありがとう。
よろしく、 N