如果一台计算机使用多个CPU进行计算,系统并不总是需要使用所有的CPU.
下面的图片显示了一个多CPU/线程工作方式的例子。
有些计算只由一个CPU/线程(母线程)执行。 在这段时间里,CPU的利用率很低。
有些部分需要多个CPU/线程(平行区域)。 在这段时间里,CPU的利用率很高。
如果在OpticStudio中为计算配置了N-cores,OpticStudio不会就获得N-cores。
这是因为操作系统决定了应用程序可以使用多少个内核。
OpticStudio将根据配置从Windows请求资源。
在大多数情况下,OpticStudio并不能获得所有的资源。
在计算方面,更多的内核并不意味着更快的计算。
这取决于你在做什么样的计算。 如果计算不需要这么多的资源,而且核心/线程的数量超过了需要,那么将数据分配给每个线程的时间会更长。
您可以设置OpticStudio在计算过程中可以使用的内核数量。 然而,如上所述,你将只得到所要求的一部分资源。
有一个平行计算的理论叫做阿姆达尔定律。
X轴代表处理器的数量。
Y轴代表加速。
不同的颜色代表方案/计算的视差部分的显示。
可以看出,使用2到32个内核可以提高速度,但使用更多的内核并不能提高很多速度。
就实际计算而言,它更为复杂。
可能影响速度的因素有:核心数量、光学系统(有多少种计算可以并行进行)、OpticStudio可以获得的资源数量,由操作系统决定硬件规格等。
以上只是可能影响速度的一般因素。