在多核心计算平台上,matlab的parallel是极好的工具。

如在i7 8350H平台上,对BP神经网络多次训练,每次训练改变参数以寻找最优参数时,加速效果非常显著:

for循环:

S1从1到40四十个网络,训练某个模糊问题,总耗时 184.388629 秒。

parfor循环:

S1从1到40四十个网络,训练某个模糊问题,总耗时54.493658 秒。

资源利用很高效:

当然,这涉及任务调度、资源交换等问题,matlab多核心并行性能也做不到随核心数线性地提升。但是作为一项通用性较强的功能,已经非常不错。

如果有更强并行需求,应该考虑使用CUDA。

 

最后修改日期: 2018年10月14日

作者

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。