C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: P/Eコアを選択する方法


(過去ログ 178 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■102247 / inTopicNo.1)  P/Eコアを選択する方法
  
□投稿者/ ひで (1回)-(2023/08/02(Wed) 13:08:36)

分類:[.NET 全般] 



最近のインテル製のCPUには
PコアとEコアがあり、
重い処理とバックグラウンド処理用で使い分けられるようになっています。

.NET FrameworksのC#で開発したプログラムを実行した場合には
どちらのコアが使用されるかはどのようにして決まるのでしょうか?

また、プログラムで明示的に
どちらのコアを使うか設定することは可能でしょうか?




引用返信 編集キー/
■102251 / inTopicNo.2)  Re[1]: P/Eコアを選択する方法
□投稿者/ くま (10回)-(2023/08/02(Wed) 18:07:06)
> 最近のインテル製のCPUには
> PコアとEコアがあり、
> 重い処理とバックグラウンド処理用で使い分けられるようになっています。
この辺りの制御に関してはOS任せが基本だと思います。
でないと最新インテル以外では動かないとなってしましますから。

スレッド プール
https://ufcpp.net/study/csharp/misc_task.html#thread_pool4

以前このサイトでも同じような質問がありました。
http://bbs.wankuma.com/index.cgi?mode=al2&namber=35545&KLOG=62

そこにも書かれていましたが基本的に「重い処理のCPU優先を与えるのは避ける」ほうが良いです。
でないと他の制御すべてに影響を受けて動かなくなります。
それより「効率的なロジックに変換」するか「進捗状況を表示するなどして実行状況を確認できるようにする」方が良いかと思います。

それでもしたい場合、下記資料が参考になるかと

関連付けられたプロセスの全体的な優先順位カテゴリを取得または設定します。
https://learn.microsoft.com/ja-jp/dotnet/api/system.diagnostics.process.priorityclass?view=net-7.0
このプロセスでのスレッドの実行をスケジュールできるプロセッサを取得または設定します。
https://learn.microsoft.com/ja-jp/dotnet/api/system.diagnostics.process.processoraffinity?view=net-7.0

【.NET C#】動作するCPU(プロセッサー)を指定してアプリを起動させる。その1
https://maasasa.hatenablog.com/entry/2017/07/01/011700

.NETアプリでマルチコアCPUを活かす
https://locaq.hatenablog.com/entry/2018/06/24/015114
https://learn.microsoft.com/ja-jp/dotnet/orleans/host/configuration-guide/configuring-garbage-collection
引用返信 編集キー/
■102262 / inTopicNo.3)  Re[2]: P/Eコアを選択する方法
□投稿者/ ひで (2回)-(2023/08/09(Wed) 15:54:24)
詳細なご回答ありがとうございます。

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -