<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_33146555的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/qq_33146555</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; qq_33146555]]></copyright><item><title><![CDATA[【cutlass】cuTe layout操作]]></title><link>https://blog.csdn.net/qq_33146555/article/details/130658810</link><guid>https://blog.csdn.net/qq_33146555/article/details/130658810</guid><author>qq_33146555</author><pubDate>Sat, 17 Jun 2023 11:52:58 +0800</pubDate><description><![CDATA[cuTe提供了对Layout操作的算法，可以混合执行来构建更复杂的Layout操作，比如在其他layout之间切分和平铺layout上述打印示例中的“for”循环显示了CuTe如何用逻辑2-D坐标的column-major layout识别1-D坐标。从“i=0”到“size（Layout）”（即6）进行迭代，并用单个整数坐标“i”索引到我们的Layout中，以column-major 的方式遍历Layout，即使这是row-major的Layout。]]></description><category></category></item><item><title><![CDATA[【cutlass】layout]]></title><link>https://blog.csdn.net/qq_33146555/article/details/130613559</link><guid>https://blog.csdn.net/qq_33146555/article/details/130613559</guid><author>qq_33146555</author><pubDate>Sat, 13 May 2023 16:06:50 +0800</pubDate><description><![CDATA[这些可以定义可以在其上定义经典线性代数计算的二维矩阵，或者经常用于构造深度学习应用程序和框架所使用的数据的更高维对象。通过接受单个问题大小组件和每个操作数的“TensorRef”对象，其范围隐含为算子的先决条件，计算可以避免分配过多内存。通过避免扩展区数量的冗余存储，CUTLASS 最大限度地减少了宝贵资源（如常量内存）的容量利用率，这与 BLAS 的规则一致。这使得算法能够实现为通用模板，Tensor中的位置总是在逻辑空间中指定_Layout_objects将其映射到内存中的物理偏移。]]></description><category></category></item><item><title><![CDATA[【cutlass】cuTe 01 layout]]></title><link>https://blog.csdn.net/qq_33146555/article/details/130551201</link><guid>https://blog.csdn.net/qq_33146555/article/details/130551201</guid><author>qq_33146555</author><pubDate>Wed, 10 May 2023 08:41:51 +0800</pubDate><description><![CDATA[Layout将坐标映射到地址空间，其对阵列单元在内存中如何排布进行抽象，并提供了获取多维阵列的接口。用户可以以正常的方式（不需要做复杂的地址计算）写多维阵列存取代码，对于存取的不同方式可以改变Layout来实现，而不需要改代码。cuTe提供了对Layout的操作算法，这些方式可以组合/拆分以构建更复杂的layout。layout的shape定义了坐标空间每个layout都有一个一维的坐标空间。这个可以用来产生一个“通用colum-major”序列。]]></description><category></category></item><item><title><![CDATA[【Cutlass】tile iterator concept]]></title><link>https://blog.csdn.net/qq_33146555/article/details/130492104</link><guid>https://blog.csdn.net/qq_33146555/article/details/130492104</guid><author>qq_33146555</author><pubDate>Thu, 04 May 2023 21:19:54 +0800</pubDate><description><![CDATA[在Cutlass 2.x之前将matix或者tensor切分成固定尺寸的操作都是在tile iterator当中（Cutlass 3.0之后对于matrix和tensor的操作都放到了cute::Tensor里面）。tile_iterator_concept不同于c++20里面的concept，这里不使用concept作为key word，仅仅是对这些类型的需求。tile_iterator内部是几个概念的组合，tile iterator concept几乎涵盖了所有需求。struct定义。]]></description><category></category></item><item><title><![CDATA[排序算法整理]]></title><link>https://blog.csdn.net/qq_33146555/article/details/128784139</link><guid>https://blog.csdn.net/qq_33146555/article/details/128784139</guid><author>qq_33146555</author><pubDate>Sun, 29 Jan 2023 08:42:24 +0800</pubDate><description><![CDATA[排序算法]]></description><category></category></item><item><title><![CDATA[【Transformer】Attension梳理]]></title><link>https://blog.csdn.net/qq_33146555/article/details/128752499</link><guid>https://blog.csdn.net/qq_33146555/article/details/128752499</guid><author>qq_33146555</author><pubDate>Mon, 23 Jan 2023 14:04:50 +0800</pubDate><description><![CDATA[Attension梳理]]></description><category></category></item><item><title><![CDATA[《并行程序设计 课后作业 第二章》]]></title><link>https://blog.csdn.net/qq_33146555/article/details/128749676</link><guid>https://blog.csdn.net/qq_33146555/article/details/128749676</guid><author>qq_33146555</author><pubDate>Sun, 22 Jan 2023 18:02:31 +0800</pubDate><description><![CDATA[并行程序设计第二章课后作业]]></description><category></category></item><item><title><![CDATA[std namespace index]]></title><link>https://blog.csdn.net/qq_33146555/article/details/123633319</link><guid>https://blog.csdn.net/qq_33146555/article/details/123633319</guid><author>qq_33146555</author><pubDate>Mon, 21 Mar 2022 13:38:40 +0800</pubDate><description><![CDATA[std的一些用法backup]]></description><category></category></item><item><title><![CDATA[Computer Architectrure: Quantitative Approch 第二章Memory Hierarchy Design第四节]]></title><link>https://blog.csdn.net/qq_33146555/article/details/120333453</link><guid>https://blog.csdn.net/qq_33146555/article/details/120333453</guid><author>qq_33146555</author><pubDate>Thu, 16 Sep 2021 17:15:51 +0800</pubDate><description><![CDATA[Virtual Memory and Virtual Machines
虚拟机被视为真实机器的高效、隔离的副本。 我们通过虚拟机监视器 (VMM) 的概念来解释这些概念……VMM 具有三个基本特征。 首先VMM为程序提供与原始机器基本相同的环境； 其次，在这种环境中运行的程序在最坏的情况下只会表现出轻微的速度下降； 最后，VMM 完全控制系统资源。
附录 B 中的 B.4 节描述了虚拟内存中的关键概念。 回想一下，虚拟内存允许将物理内存视为二级存储（可以是磁盘或固态）的缓存。 虚拟内存在内存层次结构的两个级]]></description><category></category></item><item><title><![CDATA[GPGPU Achitectures阅读笔记2]]></title><link>https://blog.csdn.net/qq_33146555/article/details/120247600</link><guid>https://blog.csdn.net/qq_33146555/article/details/120247600</guid><author>qq_33146555</author><pubDate>Sun, 12 Sep 2021 11:07:48 +0800</pubDate><description><![CDATA[Chapter 2 Programming Model
本章的目标是提供足够的关于如何为非图形计算编程 GPU 的上下文，以便那些之前没有 GPU 经验的人可以遵循后面章节的讨论。 我们在这里关注基本材料，将更深入的报道留给其他参考文献（例如，[Kirk 和 Wen-Mei，2016]）。 存在许多可用于架构研究的 GPU 计算基准套件。 了解如何对 GPU 进行编程与对 GPU 计算感兴趣的计算机架构师相关，以便更好地了解硬件/软件接口，但如果您想探索对硬件/软件接口进行更改作为研究的一部分，它就变得必不]]></description><category></category></item><item><title><![CDATA[Computer Architectrure: Quantitative Approch 第二章Memory Hierarchy Design第三节]]></title><link>https://blog.csdn.net/qq_33146555/article/details/120131550</link><guid>https://blog.csdn.net/qq_33146555/article/details/120131550</guid><author>qq_33146555</author><pubDate>Mon, 06 Sep 2021 14:47:22 +0800</pubDate><description><![CDATA[Ten Advanced Optimizations of Cache Performance
前面的平均内存访问时间公式为我们提供了缓存优化的三个指标：命中时间、未命中率和未命中惩罚。 鉴于最近的趋势，我们将缓存带宽和功耗添加到此列表中。 我们可以根据这些指标将我们检查的 10 项高级缓存优化分为五类：

减少命中时间——小而简单的一级缓存和路预测。 这两种技术通常还可以降低功耗。
增加缓存带宽——流水线缓存、多组缓存和非阻塞缓存。 这些技术对功耗有不同的影响
减少未命中惩罚——关键字优先并合并写入缓冲区]]></description><category></category></item><item><title><![CDATA[GPGPU Achitectures阅读笔记 1]]></title><link>https://blog.csdn.net/qq_33146555/article/details/120117008</link><guid>https://blog.csdn.net/qq_33146555/article/details/120117008</guid><author>qq_33146555</author><pubDate>Sun, 05 Sep 2021 16:34:16 +0800</pubDate><description><![CDATA[Abstract
图形处理器单元 (GPU) 最初是为支持视频游戏而开发的，现在越来越多地用于从机器学习到加密货币挖掘的通用（非图形）应用程序。 与中央处理单元 (CPU) 相比，GPU 可以通过将大部分硬件资源专用于计算来实现更高的性能和效率。 此外，与特定领域的加速器相比，它们的通用可编程性使当代 GPU 对软件开发人员具有吸引力。 本书为那些对研究支持通用计算的 GPU 架构感兴趣的人提供了介绍。 它收集了目前只能在广泛的不同来源中找到的信息。 作者领导了 GPGPU-Sim 模拟器的开发，该模拟器广]]></description><category></category></item><item><title><![CDATA[Computer Architectrure: Quantitative Approch 第二章Memory Hierarchy Design第二节]]></title><link>https://blog.csdn.net/qq_33146555/article/details/120038450</link><guid>https://blog.csdn.net/qq_33146555/article/details/120038450</guid><author>qq_33146555</author><pubDate>Wed, 01 Sep 2021 14:03:42 +0800</pubDate><description><![CDATA[Memory Technology and Optimizations
使用 SRAM 可以满足最大限度地减少对高速缓存的访问时间的需求。 但是，当发生缓存未命中时，我们需要尽快将数据从主内存中移出，这需要高带宽内存。 这种高内存带宽可以通过将构成主内存的许多 DRAM 芯片组织到多个内存库中并通过使内存总线更宽，或同时进行两者来实现。
为了让内存系统跟上现代处理器的带宽需求，内存创新开始发生在 DRAM 芯片内部。 本节介绍内存芯片内部的技术以及那些创新的内部组织。 在描述技术和选项之前，我们需要介绍一些]]></description><category></category></item><item><title><![CDATA[Appendix B6 Review of Memory Hierarchy]]></title><link>https://blog.csdn.net/qq_33146555/article/details/119406356</link><guid>https://blog.csdn.net/qq_33146555/article/details/119406356</guid><author>qq_33146555</author><pubDate>Thu, 05 Aug 2021 08:29:45 +0800</pubDate><description><![CDATA[Pitfall Too small an address space
在 DEC 和卡内基梅隆大学合作设计新的 PDP-11 计算机系列仅仅五年后，很明显他们的创造有一个致命的缺陷。  IBM 在 PDP-11 之前 6 年宣布的架构仍在蓬勃发展，但在 25 年后进行了微小的修改。 因包含不必要的功能而受到批评的 DEC VAX 在 PDP-11 停产后销售了数百万台。 为什么？
相比之下，PDP-11 的致命缺陷是其地址的大小（16 位） IBM 360（24-31 位）和 VAX（32 位）的地址大小。]]></description><category></category></item><item><title><![CDATA[Appendix B5 Review of Memory Hierarchy]]></title><link>https://blog.csdn.net/qq_33146555/article/details/119203069</link><guid>https://blog.csdn.net/qq_33146555/article/details/119203069</guid><author>qq_33146555</author><pubDate>Thu, 29 Jul 2021 08:59:12 +0800</pubDate><description><![CDATA[Protection and Examples of Virtual Memory
并发运行的多个程序共享一台计算机的多道程序的发明导致了对程序间保护和共享的新需求。 这些需求与当今计算机中的虚拟内存密切相关，因此我们将在此处连同两个虚拟内存示例一起讨论该主题。
多道程序设计引出了进程的概念。 比喻地，进程是程序的呼吸空气和生存空间——也就是说，一个正在运行的程序加上继续运行它所需的任何状态。 分时是多道程序设计的一种变体，它与多个交互式用户共享处理器和内存。同时，给人一种所有用户都有自己的电脑的错觉。 因]]></description><category></category></item><item><title><![CDATA[Appendix B4 Review of Memory Hierarchy]]></title><link>https://blog.csdn.net/qq_33146555/article/details/118909297</link><guid>https://blog.csdn.net/qq_33146555/article/details/118909297</guid><author>qq_33146555</author><pubDate>Mon, 19 Jul 2021 18:39:32 +0800</pubDate><description><![CDATA[Virtual Memory
在任何时候，计算机都在运行多个进程，每个进程都有自己的地址空间。  （进程将在下一节中描述。​​）为每个进程分配一个完整的内存地址空间会很昂贵，特别是因为许多进程只使用它们地址空间的一小部分。 因此，必须有一种方法可以在许多进程之间共享更少量的物理内存。
一种方法是虚拟内存，将物理内存划分为多个块并将它们分配给不同的进程。 这种方法所固有的必须是一种保护方案，将进程限制为仅属于该进程的块。 大多数形式的虚拟内存还减少了启动程序的时间，因为在程序开始之前并非所有代码和数据都需要在]]></description><category></category></item><item><title><![CDATA[Appendix B3 Review of Memory Hierarchy]]></title><link>https://blog.csdn.net/qq_33146555/article/details/118353389</link><guid>https://blog.csdn.net/qq_33146555/article/details/118353389</guid><author>qq_33146555</author><pubDate>Wed, 30 Jun 2021 08:48:59 +0800</pubDate><description><![CDATA[Six Basic Cache Optimizations
普通内存访问时间公式给了我们一个框架，来提高缓存优化以提高缓存性能，因此，我们将六种缓存优化分为三类：
■ 降低未命中率——更大的块大小、更大的缓存大小和更高的关联性
■ 减少未命中惩罚——多级缓存并给予读优先于写
■ 减少命中缓存的时间——在索引缓存时避免地址转换B-40 页上的图 B.18 总结了这六种技术的实现复杂性和性能优势。

改进缓存行为的经典方法是降低未命中率，我们提出了三种技术来做到这一点。 为了更好地了解失误的原因，我们首先从一个]]></description><category></category></item><item><title><![CDATA[Appendix B2 Review of Memory Hierarchy]]></title><link>https://blog.csdn.net/qq_33146555/article/details/118207747</link><guid>https://blog.csdn.net/qq_33146555/article/details/118207747</guid><author>qq_33146555</author><pubDate>Fri, 25 Jun 2021 08:39:53 +0800</pubDate><description><![CDATA[Cache Performance
由于指令计数与硬件无关，因此很容易使用该数字来评估处理器性能。 这种间接的性能衡量方法让许多计算机设计者望而却步。 评估内存层次结构性能的相应模板是专注于未命中率，因为它也与硬件速度无关。 正如我们将看到的，未命中率可能与指令计数一样具有误导性。 内存层次结构性能的更好衡量标准是平均内存访问时间：


其中hit time是在缓存中命中的时间； 我们之前已经看过其他两个术语。 平均访问时间的组成部分可以用绝对时间（例如，命中时 0.25-1.0 ns）或处理器等待内存的时]]></description><category></category></item><item><title><![CDATA[ECC椭圆加密算法debug日常]]></title><link>https://blog.csdn.net/qq_33146555/article/details/118022773</link><guid>https://blog.csdn.net/qq_33146555/article/details/118022773</guid><author>qq_33146555</author><pubDate>Fri, 18 Jun 2021 12:17:08 +0800</pubDate><description><![CDATA[在文件列表里需要把.f文件放在.sv前面
always@(*) vcs会优化逻辑符号
vcs里面的parameter位数要和声明的位数一致
当FSM比较大的时候，需要把else里面的参数重新赋值，防止时序问题。


]]></description><category></category></item><item><title><![CDATA[Appendix B Review of Memory Hierarchy]]></title><link>https://blog.csdn.net/qq_33146555/article/details/117899306</link><guid>https://blog.csdn.net/qq_33146555/article/details/117899306</guid><author>qq_33146555</author><pubDate>Mon, 14 Jun 2021 11:31:30 +0800</pubDate><description><![CDATA[本附录是对内存层次结构的快速复习，包括缓存和虚拟内存、性能方程和简单的优化。 这第一部分回顾了以下 36 个术语：
如果此评论进行得太快，您可能需要查看计算机组织和设计中的第 7 章，这是我们为经验较少的读者编写的。
缓存是地址离开处理器后所遇到的最高或第一级内存层次结构的名称。 因为局部性原则适用于许多级别，并且利用局部性来提高性能很流行，所以现在只要使用缓冲来重用常见的项目，就会应用术语缓存。 示例包括文件缓存、名称缓存等。
当处理器在缓存中找到请求的数据项时，称为缓存命中。 当处理器在缓存中找不到它需]]></description><category></category></item></channel></rss>