Gnatを使用していて、タスクの1つに特定の実行コアを設定したいと思います。問題は、そのドキュメントが見つからなかったことです。こことここで述べたように、System.Multiprocessorが追加されているにもかかわらず、コンパイラは、それが事前定義されたライブラリユニットではないと言い続けます。-gnat12
これは、フラグを追加しても発生します。その機能をどのように使用できるかについての提案はありますか? `
2 に答える
2
Gnatは、コンパイラ固有のTask_Infoプラグマを提供します。これは、データのTask_Info_Typeブロックを特定のタスクに関連付けます。そのデータブロックのフィールドの中には、プロセッサの無限大を設定するために使用されるものがあります。System.Task_Info.Task_Info_Typeの正確な定義はプラットフォームによって異なるため、実行可能ファイルが実行されているプラットフォームのSystem.Taskinfoパッケージを確認する必要があります。
(明らかに、これはAda 2012に付属しているポータブルソリューションではありません。)
恥知らずなプラグイン:プロセッサアフィニティの設定例については、マルチコアCPU間で作業を分散するためにSourceForgeでホストされているMagpieフレームワークを参照してください。
于 2011-05-04T00:44:51.753 に答える
1
コンパイラがパッケージをサポートするまで待つ必要があります。
于 2011-05-03T06:38:12.377 に答える