AMD OpenCL大学课程(7)

简介: 6、Nvdia GPU Femi架构 GTX480-Compute 2.0 capability: 有15个core或者说SM(Streaming Multiprocessors )。

6、Nvdia GPU Femi架构

image

image

GTX480-Compute 2.0 capability:

  • 有15个core或者说SM(Streaming Multiprocessors )。
  • 每个SM,一般有32 cuda处理器。
  • 共480个cuda处理器。
  • 带ECC的global memory
  • 每个SM内的线程按32个单位调度执行,称作warp。每个SM内有2个warp发射单元。
  • 一个cuda核由一个ALU和一个FPU组成,FPU是浮点处理单元。

SIMT和SIMD

SIMT是指单指令、多线程。

  • 硬件决定了多个ALU之间要共享指令。
  • 通过预测来处理多个线程间的Diverage(是指同一个warp中的指令执行路径产生不同)。
  • NV把一个warp中执行的指令当作一个SIMT。SIMT指令指定了一个线程的执行以及分支行为。

SIMD指令可以得到向量的宽度,这点和X86 SSE向量指令比较类似。

SIMD的执行和管线相关

  • 所有的ALU执行相同的指令。
  • 根据指令可以管线分为不同的阶段。当第一条指令完成的时候(4个周期),下条指令开始执行。

image

Nvida GPU内存机制:

image

  • 每个SM都有L1 cache,通过配置,它可以支持shared memory,也可以支持global memory。
  • 48 KB Shared / 16 KB of L1 cache,16 KB Shared / 48 KB of L1 cache
  • work item之间数据共享通过shared memory
  • 每个SM有32K的register bank
  • L2(768K)支持所有的操作,比如load,store等等
  • Unified path to global for loads and stores 

image

和AMD GPU类似,Nv的GPU 内存模型和OpenCL内存模型的对应关系是:

  • shared memory对应local memory
  • 寄存器对应private memory

7、Cell Broadband Engine

image

由索尼,东芝,IBM等联合开发,可用于嵌入式平台,也可用于高性能计算(SP3次世代游戏主机就用了cell处理器)。

  • Bladecenter servers提供OpenCL driver支持
  • 如图所示,cell处理器由一个Power Processing Element (PPE) 和多个Synergistic Processing Elements (SPE)组成。
  • Uses the IBM XL C for OpenCL compiler 11
  • Cell Power/VMX CPU 的设备类型是CL_DEVICE_TYPE_CPU,Cell SPU 的设备类型是CL_DEVICE_TYPE_ACCELERATOR。
  • OpenCL Accelerator设备和CPU共享内存总线。
  • 提供一些扩展,比如Device Fission、Migrate Objects来指定一个OpenCL对象驻留在什么位置。
  • 不支持OpenCL image对象,原子操作,sampler对象以及字节内存地址。

8、OpenCL编译系统

image

  • LLVM-底层的虚拟机
  • Kernel首先在front-end被编译成LLVM IR
  • LLVM是一个开源的编译器,具有平台独立性,可以支持不同厂商的back_end编译,网址:http://llvm.org

9、Installable Client Driver

  • ICD支持不同厂商的OpenCL实施在系统中共存。
  • 代码紧被链接接到libOpenCL.so
  • 应用程序可在运行时选择不同的OpenCL实施(就是选择不同platform)
  • 现在的GPU驱动还不支持跨厂商的多个GPU设备同时工作。
  • 通过clGetPlatformIDs() 和clGetPlatformInfo() 来检测不同厂商的OpenCL平台。

image

相关实践学习
基于阿里云DeepGPU实例,用AI画唯美国风少女
本实验基于阿里云DeepGPU实例,使用aiacctorch加速stable-diffusion-webui,用AI画唯美国风少女,可提升性能至高至原性能的2.6倍。
相关文章
|
4月前
|
缓存 安全 程序员
【ARM学习】Cortex- A系列程序员学习指南
【ARM学习】Cortex- A系列程序员学习指南
105 0
|
存储 安全 固态存储
Intel TME和MKTME技术解析
# 市场需求 人们对透明全内存加密这个功能的需求主要来自对机密和敏感数据的保护。普通RAM里面储存的数据,在掉电之后,一般都以为是彻底消失了。但其实在一些复杂的离线攻击下,这些数据仍然是能被恢复出来并导致泄密;而持久性存储器(即外存,包括磁盘、SSD、eMMC等)的数据更加容易泄露。这些设备可能有硬件锁机制的保护,但是用户其实希望的是更细粒度的保护,比如per进程/容器/VM级的。 Int
4299 0
Intel TME和MKTME技术解析
|
12月前
|
开发工具 芯片 开发者
|
12月前
|
芯片 开发者
玄铁RISC-V处理器入门与实战-平头哥玄铁CPU IP-玄铁CPU课程学习
玄铁RISC-V处理器入门与实战-平头哥玄铁CPU IP-
154 0
|
12月前
|
芯片 开发者
玄铁RISC-V处理器入门与实战-RISC-V 未来探索-高校合作
玄铁RISC-V处理器入门与实战-RISC-V 未来探索-
103 0
|
12月前
|
Android开发