当前位置:网站首页>并行及分布式框架
并行及分布式框架
2022-07-16 16:45:00 【墙缝里的草】
文章目录
并行及分布式框架
并行计算常用技术
共享内存系统和分布式内存系统概述



统一内存访问(UMA)系统或对称多处理器(smp)
在numa内多核cpu根据cpu的主频不一样其亲和性也会不一样,主频高的亲和性越高,低的功耗越小。
OPENMP技术
(Open Multi-Processing,开放多处理)
主要是为共享式存储计算机上的并行程序设计使用,支持多平台共享存储器多处理器编程的C/C++和Fortran语言的规范和API。
OPENMP提供对于并行描述的高层抽象,降低了并行百年城的难度和复杂度。
OpenMP编程模型
采取传统的fork-join模式,并行执行的控制流之间共享存储器。
OpenMP程序单线程执行开始,在parallel伪指令调用处,主线程产生多个子线程
缺点:不适合需要复杂的线程间通信。
不是很好在非共享内存系统上使用。
OPENMP API构成
编译伪指令
Pragma伪指令:通过通过标识引导编译器对相应代码段做处理,编译器根据指令自动将程序并行化,并加入同步互斥等手段。
eg:#pragma omp parallel
运行时函数
eg:int omp_get_num_threads();
环境变量
eg: export OMP_THREAD_LIMIT=8
OpenMP常用指令
prallel,用在一个代码段之前,表示这段代码将被多个线程并行执行
for,用于for循环之前, 将循环分配到多个线程中并行执行,必须保证每次循环之间无相关性。
prallfor,parallel 和for语句的结合,也是用在一个for循环之前,表示for循环的代码将被多个线程并行执行。
sections, 用在可能会被并行执行的代码段之前
pallel sctions, parallel和sections两 个语句的结合
citical,, 用在一段代码临界区之前
singe,用在一段只被单个线程执行的代码段之前,表示后面的代码段将被单线程执行。
brrier,用于并行区内代码的线程同步,所有线程执行到barrier时要停止,直到所有线程都执行到barrier时才续往下执行。
atomic,用于指定一块内存区域被制动更新
master,用于指定一段代码块由主线程执行
ordered,用于指定并行区域的循环按顺序执行
thedpivate,用于指定一个变量是线程私有的。
OpenMP常用函数
omp_ get_ num_ procs,返回运行本线程的多处理机的处理器个数。
omp get_ num_ threads,返回当前并行区域中的活动线程个数。
omp get. thread_ num, 返回线程号
omp_ set. nugn threads,设置并行执行代码时的线程个数
omp_ init Jock, 初始化一-个简单锁
omp_ set_ lock ,上锁操作
omp_ unset_ lock,解锁操作,要和omp_ set_ lock 函数配对使用。
omp_ destroy_ lock ,omp_ init_ _lock函数的配对操作函数,关闭一个锁
OpenMP 环境变量
●OMP NUM_ THREADS:指定执行并行区域时使用的默认线程数量。
●OMP_ PROC_ BIND:决定了是否允许线程迁移到其他的处理器上执行。设置为True时,运行时不会在处理器间迁移线程。
●OMP THREAD_ LIMIT:指定 了系统能够创建的OpenMP线程的最大值。
●OMP NESTED:决定了是否支持嵌套线程,True时支持。
MPI技术
●MPI是一个跨语言的通讯协议。支持点对点和广播。
●MPI是- -个信息传递应用程序接口,包括协议和和语义说明,他们指明其如何在各种实现中发挥其特性。
●MPI的目标是高性能,大规模性,和可移植性。
●与OpenMP并行程序不同,MPI是一种基于信息传递的并行编程技术。MPI标准定义了一组具有可移植性的编程接口。
MPI消息传递

MPI消息传递规程三个阶段:
1.消息装配将发送数据从发送缓冲区中取出加上消息信封等形成一个完整的消息
2.消息传递将装配好的消息从发送端传递到接收端
3.消息拆卸从接收到的消息中取出数据送入接收缓冲区
通信器
●通讯器定义了←组能够互相发消息的进程。在这组进程中,每个进程会被分配大个序号,称作秩(rank)-六进程间显性地通过指定秩来进行通信。
●通信的基础建立在不同进程间发送和接收操作。J–个进程可以通.过指定另一-个进程的秩以及一个独一无二的消息标签(tag) 来发送消息给另一个进程。接受者可以发送一个接收特定标签标记的消息的请求(或者也可以完全不管标签,接收任何消息),然后依次处理接收到的数据。类似这样的涉及一个发送者以及一个接受者的通信被称作,点对点(point-to-point) 通信。

Nvidia NCCL技术
●NCCL是Nvidia Collective multi-GPU Communication Library的简称,它是一个实现多GPU的collective communication通信(all-gather, reduce, broadcast)库,Nvidia做 了很多优化,以在PCle、Nvlink、 InfiniBand. 上实现较高的通信速度。




边栏推荐
- Horizon 8 test environment deployment (5): UAG deployment and load balancing configuration-1
- 1.4.2-SQL注入防御绕过-二次编码注入
- Musk's 76 year old father and stepdaughter have children. Huaqiangbei has another chip IPO. The former vice president of ant has joined AI pharmaceutical. Today, more big news is here
- Activity--startActivityForResult()-返回数据给上一个活动方法记录
- 8.岛问题
- 6.线程取消
- Equity distribution agreement (1)
- An Amway note taking tool -- Obsidian
- 5.线程分离
- Mental Poker Revisited学习笔记
猜你喜欢

VIVADO 以太网接口(SGMII转GMII接口)

死锁预防、死锁避免、死锁检测

电力系统经济调度(Matlab完整代码实现)

Full marks for all! The Chinese team IMO won four consecutive titles, leading the second place South Korea by a big score

Airtest+poco multi script, multi device batch run test cases automatically generate test reports

Full power travel Wang Ying: Escort smart travel with data security

安利一款笔记工具---Obsidian

Open source! Hong Kong Chinese, MIT and Fudan put forward the first RNA cornerstone model

5.线程分离

虚拟化架构
随机推荐
Vivado ROM IP核
Introduction and Simulation of memory function
SI24R2E_ Smart electronic student card 2.4GHz attendance scheme chip
罗永浩:或2年后举行首场发布会,2000人年代码量是护城河
Equity distribution agreement (2)
Mina中的树结构
Activity的生命周期
Qt中的单例模式:实现一个单例的界面类
3.终止线程
Logs issue 2022/07/16 | Huawei Noah laboratory Zhou Min: graph data modeling and analysis from the perspective of curvature
Share constantly, tread the waves | developers say · dtalk mid year appreciation
射频芯片ATE测试从入门到放弃之收发机
[Solved]splunk the captain dose not share common baseline with 1 instance
Part II FPGA digital signal processing_ Verilog design of parallel FIR filter
第二篇 FPGA数字信号处理_并行FIR滤波器Verilog设计
手撕ORM(泛型+注解+反射)
Unity 鼠标控制3d物体和UI的抓取移动(笔记)
Web. Set the file upload size limit and request data stream size settings in config.
低代码三部曲之起因
Sharing different, wonderful | developers say · mid year appreciation of dtalk