详细解析GPU的算法的3大优势以及并行化的研究问题

gpu计算的目的即是计算加速。相比于cpu,其具有以下三个方面的优势:
1
并行度高:gpu的core数远远多于cpu,从而gpu的任务并发度也远高于cpu;
2
内存带宽高:gpu的内存系统带宽几十倍高于cpu;
3
运行速度快:gpu在浮点运算速度上较之cpu也具有绝对优势。
另一方面,gpu采用的simd(single instruction multiple data)架构,这决定了其对执行的任务具有特定的要求(如不适合判断逻辑过多的任务,数据大小不可控的任务等)。而且,应用程序在gpu上也需有特定的实现,包括算法的gpu并行化,程序的定制等。因此,针对gpu并行处理的研究成为一大研究热点。
现有gpu采用simd方式执行,即所有线程块在同一时刻执行相同的程序,从而若这些线程块处理的数据量相差大,或计算量分布不均,便会带来线程块的负载不均,进而影响整个任务执行效率。这类问题实则常见的skew handling或load inbalance问题。
应用算法的gpu并行化之所以成为一个研究问题而不仅仅是工程问题,这其中的主要的问题在于
1gpu不支持内存的动态分配,从而对于输出结果大小不确定的任务是一个极大的挑战;2gpu的simd特性使得很多算法不易很好实现,即如何充分利用gpu线程块的并行度;3共享数据的竞争读写,共享数据的锁机制带来大量的等待时间消耗。
gpu作为一种协处理器,其的执行受cpu调度。在实际应用中,gpu更多的也是配合cpu工作,从而基于cpu/gpu异构系统的统一任务调度更具实用意义,也是有关gpu的重要研究方面。
gpu采用simd架构,各线程块在同一时刻执行相同的instruction,但对应的是不同的数据。但事实上,gpu线程块具有如下特征:
每个线程块只对应于一个的流处理器(sm),即其只能被该对应的sm执行,而一个sm可以对应多个线程块;sm在执行线程块时,线程块中的线程以warp(每32个线程)为单位调度及并行执行;
线程块内的线程可同步,而不同线程块的同步则只能由cpu调用同步命令完成;
不同线程块的运行相互独立。
因此,为不同的线程块分配不同的任务,使得gpu做到任务并行,最大化gpu的利用成为可能并具有重要的研究意义。

MSO9404A混合信号示波器4+16通道
广明源LED草莓种植灯采用专用种植草莓的光谱培养优质草莓
曲面电视新颖,高价有点唬人 仍然很小众
防逆流逆功率保护装置在光伏系统的实际应用
人工智能真会抢走我们的饭碗?
详细解析GPU的算法的3大优势以及并行化的研究问题
Ubuntu下面更改MySQL数据库数据存储目录遇到的问题
Mate 30系列的热点和Wi-Fi功能可同时进行使用
卫生巾吸收速度测试仪介绍
Power Link转Modbus网关:半导体生产线自动化的数据桥梁
光电传感器工作原理
本田携手阿里巴巴人工智能 老牌车企驶入新赛道
2023热门投影仪测评 看完就知道为什么国产投影仪越来越受欢迎了
印度与爱立信续签合同为Bharti Airtel提供和部署5G
PCB MIG(离子迁移)与CAF(玻纤纱阳极性漏电)现象分析
苹果13系统发布日期是什么时候
总结了美国四种常见的“零售+医疗”模式
WinCC和三菱Q系列以太网通讯的组态步骤
超华科技与振烨国际集团共同开创全新战略合作模式
中科曙光工业数智底座平台在宁夏亮相 助力工业数智化