matlab 并行计算 自动关闭,Matlab 的并行计算

本文介绍了Matlab从7.3版开始如何自动利用多核CPU进行并行计算,特别是针对BLAS的多线程支持。讨论了哪些函数和操作会自动使用多线程,如三角函数、指数运算、矩阵乘法等,并提醒用户注意parfor循环的使用条件和限制。此外,还提及了Parallel Computing Toolbox在编写并行程序中的作用。
摘要由CSDN通过智能技术生成

1.并行计算

以下对并行计算的个人理解受到较多质疑,删除之。

~~1、并行计算是指将计算任务分成几块,分别让多个 CPU 同时跑,这样运行时间就能缩短若干倍。在一个多核的电脑上,要想看计算是不是并行的,只需看 CPU 占用是不是 100%。如果两个 CPU ,串行的任务至多占用 50%的 CPU。~~

~~2、如果并行计算用到的 CPU 属于不同的服务器时,有另一个称呼——分布式计算。~~

~~3、要让多线程并行计算效率更高,电脑的 CPU 必须在物理上是多核的,单核 CPU 搞多线程,只不过在线程之间跳来跳去,不会算得更快(单核的多线程技术只要是让用户体验更好)。~~

~~4、如果任务可以分为独立的几块,将任务并行化和分布式化都是不难的。但如果任务块之间存在数据交换,那么将任务并行化需要很多干预,因为有些任务计算地快、有些计算慢,这样任务之间需要互相等待对方的数据。~~通信复杂性理论的起源之一就是从并行计算任务之间调度数据的优化。

2.Matlab 自动使用多核 CPU

从 MATLAB 7.3 (R2006b)开始,不需要用户干涉, Matlab 的某些矩阵操作会自动使用多个 CPU ,主要是 Matlab 所采用的 BLAS (Basic Linear Algebra Subroutines)开始支持多线程。BLAS 里的操作包括矩阵乘法、求特征根等。

从 MATLAB 7.4 (R2007a)开始, Matlab 开始提供对某些操作的多线性支持,主要是 element-wise 的数值计算,比如 sin(A)、A.*log(A)。

3.什么函数和操作会自动使用多线程

1、任务可以被分解为若干可同时计算的任务块,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值