GPU寄存器(一)

Introduction 本文将简单介绍GPU中的寄存器。 寄存器 寄存器是GPU片上高速缓存, 执行单元可以以极低的延迟访问寄存器。寄存器的基本单元式寄存器文件,每个寄存器文件大小为32bit。局部存储器对于每个线程,局部存储器也是私有的。如果寄存器被消耗完。数据将被存储在局部存储器中。如果每个线程使用了过多的寄存器,或声明了大型结构体或数据,或者编译器无法确定数据的大小,线程的私有数据就有可能被分配到local memory中,一个线程的输入和中间变量将被保存在寄存器或者是局部存储器中。局部存储器中的数据被保存在显存中,而不是片上的寄 more ...

GPU 共享内存bank冲突(shared memory bank conflicts)

Introduction 本文总结了GPU上共享内存的bank conflicts。主要翻译自Reference和简单解释了课件内容。 共享内存(Shared Memory) 因为shared mempory是片上的(Cache级别),所以比局部内存(local memory)和全局内存(global memory)快很多,实际上,shared memory的延迟要比没有缓存的全局内存延迟小100倍(如果线程之间没有bank conflicts的话)。在同一个block的线程共享一块shared memo more ...

nginx配置https

1. Introduction 前两天收到letsencrypt的邮件,说https快到期了,抓紧更新一下。我记得用linux的crontab开启自动更新https证书了,怎么还会收到?浏览器看了下证书日期,的确快要到期了,发现是nginx没有重启,证书缓存没有更新。 本文记录了使用LNMP搭建的博客添加https的过程,也可以参看uwsgi的配置。 more ...

Linux下Pycharm配置pyqt5开发环境

Introduction PyQt是Python语言的GUI编程解决方案之一。可以用来代替Python内置的Tkinter。其它替代者还有PyGTK、wxPython等。与Qt一样,PyQt是一个自由软件。 在Linux下使用pycharm写python是最舒服的。本文介绍了Linux下pycharm qt5开发环境的配置。 安装pyqt # 直接安装所有包即可,不大 more ...



zedboard运行linaro系统

1. Introduction FPGA入门教程。 本文只讲如果在zedboard上运行linaro,不深讲原理,只讲操作。 2. 环境 2.1 硬件环境 zedboard using the Xilinx Zynq®-7000 All Programmable SoC. AES-Z7EV-7Z020-G REV-D版本(!!始终没有弄好图形界面!!) more ...


CacheSim-1 Cache背景知识简介

Introduction CacheSim 简单的Cache模拟器 专辑目录 本文简要介绍Cache的背景知识,以及Cache结构的划分。 在计算机系统中,CPU高速缓存(英语:CPU Cache,在本文中简称缓存)是用于减少处理器访问内存所需平均时间的部件。在金字塔式存储体系中它位于自顶向下的第二层,仅次于CPU寄存器。其容量远小于内存,但速度却可以接近处理器的频率。 当处理器发出内存访问请求时,会先查看缓存内是否有请求数据 more ...

CacheSim-3 详细实现check_cache_hit等函数

Introduction CacheSim 简单的Cache模拟器 专辑目录 本文详细说明load_trace、check_cache_hit等函数。 1.程序入口 main.cpp主要针对一个测试文件,配置了不同cache line大小,不同组相联路数,不同的替换策略。默认使用写回法。默认cache大小32KB(0x8000 Bytes)。 在每次循环里, more ...