0

我正在尝试在多个内核中运行我的程序。我的桌面有 12 个内核,希望计算机一个一个地使用 1,2,3,4,......,11,12,并想测试程序在不同数量的内核中的执行情况。我尝试在可执行文件之后使用 -t4 或 -t 4 。

./a.out -t4 

但我无法确定它是否正好使用 4。谁能帮我理解这一点或指出我正确的方向。

4

2 回答 2

3

您的程序必须是多线程的才能使用机器的多个内核。

这意味着程序的实际代码必须了解线程并有效地使用它们。

您不能简单地要求程序在给定数量的线程上运行。

您必须使用诸如 pthread 之类的线程库来生成线程并在它们上分配工作。

于 2013-02-01T00:36:26.320 回答
0

您应该查看 libnuma 库。

您可以以编程方式设置希望不同线程在哪些内核上运行,也可以使用命令行选项运行它。这是一些详细文档的链接:http ://www.halobates.de/numaapi3.pdf

于 2013-02-17T06:03:48.173 回答