1、总体架构
费米架构的计算能力为2.0和2.1。G80/G92的设备为1.0,1.1,1.2。GT200架构为1.3。3.0以上的设备是开普勒架构的设备。在费米架构设备上,每个线程块至多可以容纳1024个线程。在每个线程块的线程不是很多时(小于等于192时),一个SM可以容纳8个线程块。
每个线程块中的线程数固定设置为192-768时。可以获得GPU的百分百利用率。
执行每个线程块的事件是不确定的。每个线程块只有全部指定都被执行完成,才会被从SM中被撤走。所以,如果一个线程块中的线程过多,所有的线程块中的其他线程束都被迫等待最后一个线程束执行完毕。所以,GPU因为这个原因被闲置了。另外,不要假定线程块的执行顺序,因为线程块根本不会按照我们预想的进行执行。线程块会被随机的负载均衡的分配到SM上。

2、内存
一般来讲,访问寄存器只需要消耗一个时钟周期,访问共享内存至多需要32个时钟周期。访问纹理内存,常量内存,和全局内存,则需要消耗400个到600个时钟周期,而且带宽也非常有限。寄存器一般而言是有限的,对于费米架构,如果每个线程块中包含256个线程,那么每个SM最多容纳6个线程块。此时,每个线程块只能使用16个寄存器。

共享内存实际上是手用户控制的一级缓存。在费米架构的设备上,共享内存的默认大小是48kb,可以调整为16kb。共享内存和一级缓存共享一个64kb的存储区域。共享内存每个SM只有一个。

常量内存其实只是全局内存的虚拟地址形式。并没有物理上的专门的常量内存块。常量内存相当于告诉缓存,同时有广播机制。
全局内存而言,GPU和CPU都可以对其进行读写操作。实际上,任何PCI-E总线上的设备都可以对全局内存进行读写。CPU主机可以通过以下三种方式对GPU上的内存进行访问
(1)显示的阻塞传输
(2)显示的非阻塞传输
(4)隐式的使用零内存复制

纹理内存:一般在计算力为1.x的设备上才被采用.纹理内存就是当访问存储单元时,允许GPU在某些硬件方面主动实现。

CUDA基础教程(2):费米架构相关推荐

  1. mysql核心数据库_从MySQL基础进军MySQL核心架构 178集MySQL数据库核心基础视频教程 MySQL基础案例教程...

    从MySQL基础进军MySQL核心架构 178集MySQL数据库核心基础视频教程 MySQL基础案例教程 课程目录 (1) 01MySQL基础_课程引入.avi (2) 02MySQL基础_为什么学习 ...

  2. Nvidia CUDA初级教程4 GPU体系架构概述

    Nvidia CUDA初级教程4 GPU体系架构概述 视频:https://www.bilibili.com/video/BV1kx411m7Fk?p=5 讲师:周斌 本节内容: 为什么需要GPU 三 ...

  3. ARM基础教程 | ARM与RISC-V架构的区别

    关注+星标公众号,不错过精彩内容 编排 | strongerHuang 微信公众号 | 嵌入式专栏 从2019年开始,RISC-V得到了越来越多的重视,原因有很多,ARM授权费高是关键的因素,下面就来 ...

  4. Nvidia CUDA初级教程2 并行程序设计概述

    Nvidia CUDA初级教程2 并行程序设计概述 视频:https://www.bilibili.com/video/BV1kx411m7Fk?p=3 讲师:周斌 本节内容: 为什么需要? 怎么做? ...

  5. Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现

    自Spring Cloud Alibaba发布第一个Release以来,就备受国内开发者的高度关注.虽然Spring Cloud Alibaba还没能纳入Spring Cloud的主版本管理中,但是凭 ...

  6. 深度学习之Pytorch基础教程!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:李祖贤,Datawhale高校群成员,深圳大学 随着深度学习的发展 ...

  7. AngularJs 基础教程​ —— Select(选择框)

    为什么80%的码农都做不了架构师?>>>    本文为 H5EDU 机构官方 HTML5培训 教程,主要介绍:AngularJs 基础教程 -- Select(选择框) Angula ...

  8. AngularJs 基础教程 —— 依赖注入

    为什么80%的码农都做不了架构师?>>>    本文为 H5EDU 机构官方 HTML5培训 教程,主要介绍:AngularJs 基础教程 -- 依赖注入 AngularJS 依赖注 ...

  9. OpenVAS漏洞扫描基础教程之连接OpenVAS服务

    OpenVAS漏洞扫描基础教程之连接OpenVAS服务 连接OpenVAS服务 当用户将OpenVAS工具安装并配置完后,用户即可使用不同的客户端连接该服务器.然后,对目标主机实施漏洞扫描.在本教程中 ...

  10. Spring Boot 2.x基础教程:使用Redis的发布订阅功能

    通过前面一篇集中式缓存的使用教程,我们已经了解了Redis的核心功能:作为K.V存储的高性能缓存. 接下来我们会分几篇来继续讲讲Redis的一些其他强大用法!如果你对此感兴趣,一定要关注收藏我哦! 发 ...

最新文章

  1. C++STL理论基础
  2. 计算机vfp考试题库二级,XYZ计算机等级考试题库系统(二级VFP)
  3. 是学习Java还是Python?一张图告诉你!
  4. python可以开发驱动吗_Python机器学习实践:测试驱动的开发方法
  5. 一 python编程基础
  6. 错误: 编码GBK的不可映射字符 - Android Studio 生成javadoc文档时报错
  7. 写了一套优雅接口之后,领导让我给大家讲讲这背后的技术原理
  8. Could not find com.android.support:appcompat-v7:25.3.1.
  9. vscode实现右键文件夹选择open with code
  10. python--图像分割GraphCut
  11. html怎么美化输入框,css 美化input输入框-美化按钮
  12. u-boot2020.04移植(1、u-boot的编译)
  13. 三角网格库Triangle的使用
  14. python控制程控电源_程控开关稳压电源的控制方式对比
  15. 指数函数----e是什么?
  16. 2022年深圳适合拍古风照的地方有哪些
  17. 用MySQL创建数据库和数据库表(linux终端操作)
  18. 成都地铁线路图高清大图
  19. Input输入框的验证
  20. 小程序的缓存数据什么情况会被清除

热门文章

  1. pscad仿真数据提取方法
  2. NOIP2017普及组复赛 解题分析
  3. Java指令编译java文件
  4. modelsim安装_Vivado联合ModelSim
  5. Matlab深度学习——入门
  6. VMP学习笔记之壳的重定位修复(五)
  7. uni-ap开发开发小程序 怎么使用阿里云播放器
  8. Git 客户端管理工具:Git Gui、TortoiseGit、GitHub Desktop
  9. css显示苹方字体,苹方字体的使用
  10. IDEA和MySQL数据库建立连接