在GNAT中为任务设置特定的cpu核心

时间:2011-05-02 18:48:58

标签: multicore ada gnat

我正在使用Gnat并希望为其中一个任务设置特定的执行核心。问题是我找不到任何关于此的文档。尽管添加了System.Multiprocessor,如提到的herehere,编译器仍然说它不是预定义的库单元。即使我添加-gnat12标志,也会发生这种情况。关于如何使用该功能的任何建议?“

2 个答案:

答案 0 :(得分:2)

Gnat提供特定于编译器的Task_Info pragma,它将Task_Info_Type数据块与给定任务相关联。该数据块的字段中有一个用于设置处理器无穷大。 System.Task_Info.Task_Info_Type的确切定义因平台而异,因此您需要查看运行可执行文件的平台的System.Taskinfo包。

(显然这不是便携式解决方案,Ada 2012即将推出。)

无耻插件:请参阅SourceForge上托管的Magpie框架,以便在多核CPU之间分配工作,以获取设置处理器亲和力的示例。

答案 1 :(得分:1)

您必须等到编译器支持该软件包。