1.Fermi arch

因为在CC 2.x(Compute Capability NVIDIA 计算能力)时,L1 Data Cache 还是可用的,我们可以缓存 local 和 global 的数据,不管ld(load 读)或者st (store 写),其默认的操作参数都是cache all 的。ld.ca 和 st.wb 是 其默认指令。

但是这样的话,SM之间会出现 cache coherency 问题!

英伟达的策略是 对于global的写操作 不往 L1 cache 进行的,因此提了一个 local write back global write evict 的策略。。如果有写操作命中 时,就将命中的data 置失效,并且通知 其他 SM 同样失效这个data(但是还没有找的其真正是怎么实现的!)

2.Kepler arch

CC 3.X 中,新引入了 Read Only Data Cache,其他与上一代类似。

1)重点说一下这个 Read Only Data Cache,之前我们说,写操作已经完全不往 L1这层 caching 了,那么load 指令呢?还是要放的,但是还是会有cc问题 ,那么为了应对这个,就只caching 那些只读数据,因此加了这个 Read Only Data Cache!

2)但是往 Read Only Data Cache 缓存数据,还要在 cuda 代码中,用一个 ldg()函数来告诉编译器。
这个 LDG() 只支持 CC 3.5 以上的GPU

Note:这个__ldg()函数对应的ptx指令是 ld.global.nc

egT __ldg(const T* address);returns the data of type T located at address address, where T is char, short, int, long longunsigned char, unsigned short, unsigned int, unsigned long long, int2, int4, uint2, uint4, float, float2, float4, double, or double2. The operation is cached in the read-only data cacheRead more at: http://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#ixzz4UiAE527J
Follow us: @GPUComputing on Twitter | NVIDIA on Facebook

3.Maxwell

架构真正巨变的一代,从这一代开始,没有了 L1 Data cache 这个概念,只剩下:
a unified L1/texture cache of 24 KB used to cache reads from global memory

L1 / Texture 统一了,这就不好办了,,因为texture cache 是通过特殊 的 tex 模块来进行访问的,那该如何是好。
从这一代起,
Global memory accesses are only cached in L2

但是只读的数据还是可以通过 ldg()来缓存到L1/texture cache 中的,并且还需要通过关键字进行 限制 const 和 _restrict 。

Data that is not read-only for the entire lifetime of the kernel cannot be cached in the unified L1/texture cache for devices of compute capability 5.0. For devices of compute capability 5.2, it is, by default, not cached in the unified L1/texture cache, but caching may be enabled using the following mechanisms:
Perform the read using inline assembly with the appropriate modifier as described in the PTX reference manual;

Compile with the -Xptxas -dlcm=ca compilation flag, in which case all reads are cached, except reads that are performed using inline assembly with a modifier that disables caching;

Compile with the -Xptxas -fscm=ca compilation flag, in which case all reads are cached, including reads that are performed using inline assembly regardless of the modifier used.

When caching is enabled using some the three mechanisms listed above, devices of compute capability 5.2 will cache global memory reads in the unified L1/texture cache for all kernel launches except for the kernel launches for which thread blocks consume too much of the multiprocessor’s resources. These exceptions are reported by the profiler.

How to caching Global data in on-chip (level 1) cache in Morden GPU相关推荐

  1. 浪潮业务稳定连续性获Global Data唯一“Leader”评级 蝉联数据中心整体能力“Very Strong”评级

    近日,国际咨询机构Global Data更新了关于数据中心的厂商评估报告,浪潮业务稳定连续性获得最高"Leader"评级.数据中心整体能力蝉联 "Very Strong& ...

  2. VERITAS存储管理产品:Global Data Manager

    V ERITAS存储管理产品:Global Data ManagerTM for NetBackup适用于需对多个分布式NetBackup存储域进行集中管理的机构,可帮助系统和数据库管理员管理大型企业 ...

  3. 【MM配置】Global Data 全局数据相关配置

    一.针对国家的设置 1.定义国家(定义 mySAP 系统中的国家),这里正常不需要进行任何修改,唯一需要关注的就是显示习惯设定,比如下图中的"日期格式"和"十进制格式&q ...

  4. GPU Architect Functional Verification

    GPU Architect "Functional Verification" 要做什么: 1.研究下一代GPU架构和最先进的新计算特性. 2.使用随机方法在全芯片级验证并验证新的 ...

  5. Use Data Caching Techniques to Boost Performance and Ensure Synchronization(转)

    原文地址 Level of Difficulty 1 2 3 SUMMARY Performance is an important concern for any application, but ...

  6. Hi-C data analysis tools and papers

    Hi-C data analysis tools and papers 全文链接如下: https://github.com/mdozmorov/HiC_tools Tools are sorted ...

  7. The Pathologies of Big Data(大数据病理)

    论文目录 大数据病理(The Pathologies of Big Data) 处理大数据(Dealing with Big Data) 硬件限制(Hard Limits) 分布式计算作为大数据策略( ...

  8. maven整合@data注解_springboot整合spring Cache(redis)

    前言 前面有介绍过spring整合redis和redis的一些注意点,在实际开发中,spring cache方便简化的缓存操作的大部分内容.通过注解的方式实现缓存. 缓存抽象的核心是将缓存应用于Jav ...

  9. 课堂笔记——Data Mining(1)

    一.Introduction -- 1.Major Issues in Data Mining User Interaction Presentation and visualization of d ...

最新文章

  1. 每日一剂《适配器刷新报错》
  2. java add offer_图解Java中的5大队列!(干货收藏)
  3. ElasticSearch 5.5 离线环境的完整安装及配置详情,附kibana、ik插件配置及安装包下载路径...
  4. K8S configmap详解:从文件创建、从文件夹创建及以volume、env环境变量的方式在pod中使用
  5. 深度学习(2)回归问题
  6. 消解原理推理_什么是推理统计中的Z检验及其工作原理?
  7. 如何将maven项目打包成可执行的jar
  8. MacBook配置快捷轻量的C/C++环境
  9. 31.卷1(套接字联网API)---流
  10. 数据机房温湿度检测物联网以太网传感器解决方案
  11. 【竞赛篇-国创(大创)结题】国创(大创)立项后的基本流程、需要用什么结题、如何快速结题
  12. 超级计算机神威太湖之光储蓄量,中国超级计算机神威太湖之光世界最快,且总量排名榜单第一...
  13. springboot配置logback
  14. java403forbidden_Spring Cloud出现Options Forbidden 403问题解决方法
  15. 手机连接笔记本开启的WiFi一直显示正在获取IP中
  16. revo uninstaller pro 长期试用的正确姿势!!
  17. 【Android】【TP】TP开发常见问题分析
  18. 华为日志服务器文档,华为日志服务器配置
  19. Gantt(甘特图)与PERT(项目计划评审技术)图
  20. 揭秘微信对方正在输入……到底表示什么意思?

热门文章

  1. 如何解决PS“不能完成请求,因为意外的遇到文件尾”?
  2. 家乐福中国:曾经的零售之王走上资本运作之路
  3. java ftp主动模式和被动模式_什么是ftp主动模式和被动模式
  4. HTML网页版雷电游戏
  5. SiC功率半导体产业高峰论坛成功举办
  6. 嵌入式C语言编程中经验教训总结(二)LDS链接文件解析
  7. 第1章 Kali Linux入门 一篇就够了
  8. 如何更好的建设标准化数字化智慧工地?
  9. Centos8安装完mysql
  10. Java丨即时聊天程序的实现