Heterogeneous Computing & GPU Introduction

Heterogeneous Computing (异构计算)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
DSP 数字信号处理器
FPGA 现场可编程门阵列
ASIC 专用集成电路
GPU 图形处理单元
Co-processor 英特尔至强融核

计算能力较弱
特殊的架构,限制很多,适应性不强
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
缺点: memory 是独立,数据指令需要copy

HSA
整合memory
让不同的processe 都可以访问 share memory
Gpu 完全不受cpu的管控
增加memory 的频宽
在这里插入图片描述
在这里插入图片描述

GPU

数据完全独立
SIMD
在这里插入图片描述
一个core 可以call多个线程
显示图形
一般计算
GPGPU 专门用来计算
配套的tools
在这里插入图片描述
在这里插入图片描述
最小化GPU内存的数据传输和数据使用至关重要
存储量的限制:
host的 memory 128十倍于GPU
GPU一次只能解决12G大小的问题,当host中的问题超出这个限制,就必须进行分解
跨GPU进行计算,多GPU
不仅仅只是计算效能的限制,还有 memory size

核心:
三层memory
很多processor 有自己的memory
一,同时还存在Globle memory ,上文中的35G的访问速度就是指processor内部的core访问Globle memory的速度 ;
二,在讲cuda 中的share 就是指每个SM中的memory,同一个processor中的core对这个memory 共享访问,
在processor内部,相当于cpu访问寄存器,速度非常之快
一,同时还存在Globle memory ,上文中的35G的访问速度就是指processor内部的core访问Globle memory的速度
三,每一个core还有register 不同于processor中的share memory ,register仅限指定的core访问
在这里插入图片描述
register 被切成两块: 一: local memory(第三层) 二: share memory(第二层)
在这里插入图片描述
32个core为一个单位: 说明在同一个processoe中会有多个单位,如果thread被分配到不同的单位,执行的开始时间也会不一致

HPC 讲求 精准 double precision tasla V/P series
Visualization (single precision) 单精度 GeForce 1000 series
在这里插入图片描述
GPU 不能直接与Main memory 沟通
必须通过CPU 进行
所以GPU同CPU之间的通信也至关重要
由于厂商的原因: NVIDIA实现了GPU与GPU之间的NV link 但是与CPU之间没有实现
在这里插入图片描述bandwidth: 带宽 就是与memory 之间通信的速度
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Heterogeneous Computing with OpenCL 2.0 teaches OpenCL and parallel programming for complex systems that may include a variety of device architectures: multi-core CPUs, GPUs, and fully-integrated Accelerated Processing Units (APUs). This fully-revised edition includes the latest enhancements in OpenCL 2.0 including: • Shared virtual memory to increase programming flexibility and reduce data transfers that consume resources • Dynamic parallelism which reduces processor load and avoids bottlenecks • Improved imaging support and integration with OpenGL Designed to work on multiple platforms, OpenCL will help you more effectively program for a heterogeneous future. Written by leaders in the parallel computing and OpenCL communities, this book explores memory spaces, optimization techniques, extensions, debugging and profiling. Multiple case studies and examples illustrate high-performance algorithms, distributing work across heterogeneous systems, embedded domain-specific languages, and will give you hands-on OpenCL experience to address a range of fundamental parallel algorithms. Updated content to cover the latest developments in OpenCL 2.0, including improvements in memory handling, parallelism, and imaging support Explanations of principles and strategies to learn parallel programming with OpenCL, from understanding the abstraction models to thoroughly testing and debugging complete applications Example code covering image analytics, web plugins, particle simulations, video editing, performance optimization, and more
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值