我在ubuntu上运行的应用程序如下:
"oni2avi --depth-peng=yes Captured.oni output.avi"
这台电脑有47个核心。如何在不对代码进行更改的情况下使用47个内核运行此应用程序?
谢谢,
答案 0 :(得分:1)
要在许多核心上运行程序,请编写一个简单的循环来启动程序的多个副本。
下一个示例运行一个程序,输出一个数字,等待一秒,然后退出:
for num in {1..3} ; do (echo $num ; sleep 1 ) & done
1
2
3
Linux倾向于在不同的核心上放置不同的进程。因此,对于您的示例,在47个核心上启动程序:
for num in {1..47} ; do (echo $num ; oni2avi --depth-peng=yes Captured.oni output.avi) & done
但是:你的程序运行速度不会快47倍;它相同的工作了47次。为了使您的程序运行更快,使用多个内核,您将不得不重写该程序。