并行编程:
why?
因为现在处理器的主频基本上由于量子效应,不怎么提高了,而多核是常态。因此多核之间的编程就成就了并行编程。
什么是并行编程:https://computing.llnl.gov/tutorials/parallel_comp/
现有技术:
MPI标准
OpenMP:https://computing.llnl.gov/tutorials/openMP/
TBB(intel threading building block)
当然,其实在嵌入式上,也有多个协处理器,比如ti的8168处理器,有dsp,vpss M3,不过多核通讯通过syslink完成。
并行思维:
分解:分解任务
规模化(scaling),让处理器满负荷工作
线程(thread):底层实现
缓存,抽象和模式
并行方式:
数据并行:
任务并行:
流水线(数据和任务都并行):有两种方式,第一种没人从头到尾完成相同的工作,另外一种是模拟车间流水线,根据任务的耗时时间来安排资源。