服务器:
>运行ubuntu服务器>拥有40个Intel cpu
我对多cpu编程一无所知.我想到的第一个想法是运行40个应用程序然后将它们的结果粘合在一起.这是有可能的,但我想更多地了解我的机会.
>如果我通过它的gcc编译器在服务器上编译我的代码,结果应用程序是否利用了多cpu?>如果#1答案取决于,我该如何检查?
谢谢!
>基本上,操作系统会自动分散核心上的线程.你不需要做任何事情.>一旦你使用C 11,你就可以调用std :: thread :: get_id()并识别不同的线程,但是你无法识别你正在使用的核心.为此,直接使用pthreads“cpu affinity”.
您可以谷歌搜索“cpu亲和力”,了解有关如何控制它的更多详细信息.如果你想要这种精确度.您可以识别核心以及选择核心…您可以从这开始:http://man7.org/linux/man-pages/man3/pthread_setaffinity_np.3.html