走进并行时代(序)

     接触并行计算已经有一阵子了,最初的兴趣始于对GPU的好奇,G80这个NV为了GPU的
通用化走向的第一步,也慢慢揭开了以后GPU的一种趋势:多核通用化。不管以后是
CPU取代GPU,或者两者和谐共处,多核计算是不可阻挡的趋势。
    传统的单核体系结构的研究已经沉寂很久了,单核技术需要一种革命性的突破才能打
破这种沉寂。不管是学术界,还是工业界都热衷于在多核技术上,往一个die里面使劲的
塞U,当然比改进每个U的能力要来得方便。多核,并行时代的出现,挑战也必然随之而来
    挑战来自软硬两方面。硬件方面,多个核的拓扑结构的设计,核间互连技术,以及核
间的通信,Cache一致性等。软件方面,目前的编程模式都是基于串行的,要写出高效的
并行算法,对程序员的要求也比较高,所以设计一种高效的并行编程模型也是目前研究的
一个热点,比如Google的MapReduce,MIT的Cilk等,除了改进编程模型来写高效的
并行算法外,另一种途径就是通过编译器来做并行化,比如OpenMP等;另外就是多线程导
致的一个永恒的问题,共享变量的互斥访问,操作的原子性问题,Lock-free技术应运而
生,Transaction Memory就是其中的代表。
    在毕业之际,特地把并行计算的学习整理成笔记,以供日后参考。暂定目录如下

    目录:

    第一章  硬件体系结构的研究热点
            第一节 多核体系结构相关
            第二节 GPU硬件相关

    第二章  并行编程模型研究

    第三章  编译器相关研究

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在MATLAB中,cellfun函数可以根据指定的函数对一个或多个输入的cell数组执行相同的操作。平常cellfun函数是按照顺依次对每个元素进行计算,也就是串行执行。但是,如果想要并行执行cellfun函数,以提高计算速度,可以使用parallel computing toolbox中的parcellfun函数。 parcellfun函数与cellfun函数的语法几乎相同,可以使用相同的函数句柄和输入cell数组。不同之处在于,parcellfun函数可以让计算在多个处理器或多核中同时进行,从而加速计算。 要使用并行的cellfun函数,需要将MATLAB设置为在并行环境下运行。可以使用parpool函数创建一个并行池,指定在计算中使用的处理器或核心数量。然后,将parcellfun函数应用于输入cell数组,指定要执行的函数句柄和其他参数。 使用并行的cellfun函数时,需要注意以下几点: 1. 并行计算不一定在所有情况下都比串行计算更快。对于较小的输入cell数组,串行计算可能更高效。 2. 并行计算需要额外的计算资源,包括多个处理器或核心的使用权,以及额外的内存等。 3. 并行计算可能会引入额外的开销,如通信和数据复制。在性能方面,需要权衡处理器和核心的数量以及输入数据的大小。 总之,通过使用parallel computing toolbox中的parcellfun函数,可以在MATLAB中实现并行的cellfun计算。通过合理设置处理器或核心数量,可以提高计算速度并加快计算效率。但需要根据具体情况综合考虑并行计算的适用性和效益。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值