我已经使用openMP在C++中实现了一个凸包算法。
代码可以在这里找到:
Below are the results when tested in my Mac Book Pro:
Processor Name: Intel Core i5
Processor Speed: 2.5 GHz
Number of Processors: 1
Total Number of Cores: 2
L2 Cache (per Core): 256 KB
L3 Cache: 3 MB
Memory: 4
为了加快速度,我使用matlabpool open 8命令已经有一段时间了。然而,我只是尝试使用它,被拒绝了8个核心,现在限制到4个。
我的笔记本电脑是一个有4个内核但超线程的i7,这意味着我可以让matlab在8个虚拟内核上工作。
同时,我注意到以下警告消息:
Warning: matlabpool will be removed in a future release. Use parpool instead.
由于某些原因,MathsWorks似乎认为这是一个很好的更新。
你知道如何让我的代码再次在8核上运行吗?
注意:我一直在使用R2010b (我想),现在正在使用R2014b。
我有一个函数func,在单个核上运行时可能要花费50美元。现在我想在一个拥有192个核心CPU多次的服务器上运行它。但是,当我将工作进程添加到180时,每个核心的性能都会减慢。最糟糕的CPU需要花费100多秒来计算func。
有人能帮帮我吗?
这是伪代码
using Distributed
addprocs(180)
@everywhere include("func.jl") # defines func in every process
First try using only 10 workers
@sync @distributed for i in 1:10