pthreadが実行されている現在のプロセッサの物理IDとコアIDを取得するにはどうすればよいですか?C言語のpthreadの物理IDを取得する方法
答えて
大規模では、意味のある方法でこれを行うことはできません。途中でスケジューラーが質問をしたり、別のプロセッサーで再開したりすることがあります。
ポータブルな方法はありません。 GNU/Linuxを使用している場合は、関数sched_getcpu
を試すことができます。
スレッドは1つのプロセッサではなくスケジュールによって実行されているため、これは可能ではないと思います。プロセッサはその時点で空いていますから、ある程度時間がかかり、プロセッサがそのジョブを実行する可能性があります。
しかし、OSはコアアフィニティがあるかどうかを確認しようとしません。できるだけ多くのスレッドを実行して、そのスレッドに関連付けられたTLBなどをクリアする必要がないようにします。そうでなければ、TLBミスがたくさんあるでしょうか?少なくともLinuxではスレッドはプロセスとして多かれ少なかれ見られます。 –
@Davidとスタッカーは、返された結果が失効しており、もはや有効ではない可能性があることを指摘しています。 OSのスケジューラはできるだけ最適化を行いますが、ユーザーがブラウザリンクをクリックして、「コア」呼び出し中にすぐに数十の準備スレッドをシステムにダンプすると、スレッドTLBキャッシュの内容は時間が経つほど長くなりますそれは再び実行され、どのコアでもポップアップする可能性があります。 –
- 1. nopCommerce 3.9で言語文化の言語IDを取得する方法は?
- 2. C++の言語IDから言語名を取得するには?
- 3. Objective-Cでユーザーの言語ロケールを取得する方法は?
- 4. C言語で現在の言語を取得する
- 5. システムロケール言語で言語/国名を取得する方法
- 6. C言語の2つの関数でpthreadを使用する
- 7. 多言語ドメインモデルの取得方法
- 8. リフレクトアセンブリの現在の物理パスを取得する方法
- 9. スプリング表現言語を使用してジョブIDを取得する方法は?
- 10. 物理パスのサーバパスを取得する方法は?
- 11. 画面の物理サイズを取得する方法は?
- 12. 仮想ディレクトリの物理パスを取得する方法
- 13. 巨大なページの物理アドレスを取得する方法
- 14. 仮想ディレクトリの物理パスを取得する方法
- 15. C言語でXmlNodeの内容のみを取得する方法
- 16. 母国語で言語名を取得する方法は?
- 17. サインインのブラウザを開いてC言語でコンテンツを取得する方法
- 18. アンドロイドで(物理的な)キーボード言語を変更する方法(SHIFT-SPACE以外)
- 19. PthreadがC言語で突然実行する
- 20. joomlaの言語のリストを取得する方法
- 21. C言語でアルファベットで文字の位置を取得する方法は?
- 22. WinRTアプリケーションで実際の言語を取得する方法は?
- 23. iOS:現在のアプリケーション言語を取得する方法
- 24. 言語別にWordPressのデータを取得する方法は?
- 25. Androidで現在の言語を取得する方法は?
- 26. 複数の言語でDbpediaリソースを取得する方法
- 27. 1言語でタブレットのテキストを取得する方法
- 28. xdocumentでxml宣言をC言語で取得する#
- 29. C言語のwhere句の特定の値を取得する
- 30. Bentley ProjectWise Explorer - 物理ファイルパス(DMS)を取得する方法
実際には、あなたの質問を慎重に読んでから答えませんでした。「shced_getcpu」は論理IDだけを返します。私は/ proc/cpuinfoで物理的な情報(物理CPU、コア、ハイパースレッディングなど)を取得する必要があると思います。 – chys