我正在编写一个程序,它可以从并行运行多个进程中受益匪浅。我在拥有4个内核的i7 CPU上进行了测试,我发现单个2核机器的速度很快。
现在正在部署应用程序,本地IT人员正在考虑将具有2个CPU且每个具有4个核心的计算机组合在一起。这是一个.NET 4应用程序。你认为我基本上可以使用8个处理器还是只能使用4个处理器?
谢谢。
答案 0 :(得分:6)
如果使用并行扩展而不限制配置中的处理器数量,它应该透明地使用所有可用的处理器/核心。
该框架不区分多核CPU和物理CPU。
答案 1 :(得分:3)
八。每个核心都是一个逻辑处理器。该框架并不太清楚您是使用单核8处理器还是双核四核处理器。
答案 2 :(得分:1)
你没有提到你正在使用哪个特定的Core i7芯片,但afaik核心i7有双插槽型号,在这种情况下它实际上是两个双核处理器,使其总共有4个核心。 是的,使用.Net框架编写的任何实现都可以使用所有可用内核(甚至超线程),因为它是由OS自动控制的(除非您的应用程序指定内核如何固定到CPU并使用cpu掩码)基于处理器的物理ID。)
答案 3 :(得分:0)
唯一不同的是CPU的物理位置 - 它们是在同一片硅片上吗?
可能可以区分它是否正在使用超线程(四核cpu具有超线程,因此暴露8“cpu”),但即便如此我怀疑它,框架可能只是看到8个CPU。
具有超线程的双四核系统因此可能会暴露出16个CPU。