Intel Core2Duo ,例如应该有一个芯片但两个核心。
因此,应该可以控制在哪个内核上处理什么,这意味着可以指示我的算法并行使用两个内核。
问题是如何?
我是否需要在内核级别下才能执行此操作,还是有更简单的方法?更具体地说,实现双核合并排序需要什么?
最佳答案
从您过去的问题来看,我会说您希望用 C/C++ 实现,但我相信无论使用哪种语言,答案都大致相同。
如果要并行化任何操作,请将其设为多线程。您可以拥有与内核一样多的并行、并发线程。
这是一个相关的问题: How to implement divide and conquer algorithms in C# using multithreading?
据我了解,将特定线程绑定(bind)到核心或处理器称为 processor affinity .这通常不是一个好主意,因为操作系统的目的是在处理器之间兼顾线程。您不太可能在这方面做得比操作系统更好。
关于c - 如何在具有多个处理器的机器上并行化算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3587570/