分类: 学术

半精度浮点数Half

1. Introduction 本文介绍了半精度浮点数的基本概念以及f32到f16转换的截断法。 混合精度逐渐成为提升深度学习速度的一种有效方法,其本质上,是以运算的精度换速度,当然前提是精度需要在可接受的范围内,或者说应用本身具有容错性(error tolerant)。 在cuda中,half2以及tensorcore的应用,就是对于精度损失容忍性的体现。 在线进制转换工具 2. 半精度浮点数 2.1 位宽 一个float单精度浮点数一般是4bytes(32bit)来表示,由三部分组成:符号位...

PTXPlus笔记

修改ptxplus建议 在gpgpusim源码src/cuda-sim/ptx_loader.cc的函数 char *gpgpu_ptx_sim_convert_ptx_and_sass_to_ptxplus(const std::string ptxfilename, const std::string elffilename,const std::string sassfilename)中,std::ifstream fileStream(fname_ptxplus, std::ios::i...

使用GPGPU-SIM做实验

1. Introduction 本文说明了使用gpgpusim做实验需要注意的问题以及做出的修改。 强烈不推荐使用gpgpusim做实验。 如果是改SASS,建议maxas或者asfermi(尽管他们可能会有这样那样的问题,而且使用起来难度不小)。使用模拟器,是被reviewer攻击的常用点,除非你有足够强有力的解释,否则这会成为你论文的掣肘。 使用模拟器发的A,一般工作量会很多。 2. 环境搭建 2.1 编译运行环境 docker里跑gpgpusim gpgpusim runtime的dock...

paper阅读01-GPU Scheduling on the NVIDIA TX2: Hidden Details Revealed

以前读完论文并没有写keynotes的习惯,顶多在mendeley上做些标注,但是过段时间再看,还是需要花费一定的时间来理顺思路。所以准备从现在开始对阅读过的论文做一些自己认为重要的备注。 GPU Scheduling on the NVIDIA TX2: Hidden Details Revealed 2017 IEEE Real-Time Systems Symposium (RTSS) (2017) Paris, France Dec 5, 2017 to Dec 8, 2017 ISSN...

gpgpusim runtime的dockerfile

Introduction 之前写过一篇在docker里跑gpgpusim(下称参考文献1),今天花了一点时间,写了个完整的dockerfile,并上传到了docker hub上去。现在简化一下运行的步骤。 gpgpusim-runtime 在docker hub的地址: https://hub.docker.com/r/findhao/gpgpusim_runtime/ 运行 执行参考文献1的第4节 拷贝必须的文件到自己的目录,比如/home/find/e/gpgpusim/。 执行: # 可从...

在docker里跑gpgpusim

1. Introduction gpgpusim在虚拟机里跑起来非常慢,而自己配机器的环境又可能会出现这样那样的问题。本文给出了一种使用gpgpusim提供的vbox虚拟机进行编译,在host的docker环境下运行的方法。 2. 使用gpgpusim官方vbox虚拟机 gpgpusim官方提供了vbox虚拟机文件的下载,大概7G多, http://ece.ubc.ca/~taylerh/files/gpgpu-sim/gpgpu-sim.vm.tar.gz 直接从vbox里打开就行。里面的系统...

virutalbox虚拟机下使用jetpack3.2对jetson tx2刷机

1. Introduction 本文介绍了使用virtualbox里的Ubuntu16.04作为Host来刷jetson tx2的jetpack3.2包的过程。可有效解决Install JetPack 3.2 Failed "E: fopen failed with file local.db, errno = 2"的问题。 2. 环境介绍 PC的真正Host是Debian9 VirtualBox 虚拟机 VirtualBox里的Ubuntu16.04作为刷机的Host Je...

学术阅读 – SAGE笔记

1. Introduction 本文总结了Sage: Self-tuning approximation for graphics engines一文的主要观点,记录部分自己的思考。 作者是密歇根大学Mehrzad Samadi,发表在MICRO 2013上。 SAGE主要实现自动生成多种近似级别CUDA kernel函数的编译器,并在运行时选择可行的kernel函数来达到用户设定的目标输出质量(Target output quality, TOQ)。 它使用了三种优化技术: selective...

2017 Future Chips之旅

Introduction future chips首页 https://2017.futurechip.org/ 主办单位: 地点在清华大学。 今年的主题是: Smart Chips, Smar World. 邀请了很多学术界和工业界大牛来讨论前沿话题,包括芯片设计及其在人工智能上的应用。 12.18 caffe2作者贾扬清做了关于caffe2的介绍和演示等。 由于我们是临时改签车票走的,因此去的时候已经讲了一半。 分布式 随着数据量的增大,分布式在机器学习上将越来越广泛。 Batch Size...

Nvidia-docker 在docker里安装caffe2

Introduction 发现nvidia开始搞nvidia-docker! 如果GPU是共享资源,比如在服务器上,可能不同的用户需要不同的运行环境,但是像vbox这样的重量级虚拟机又过于笨重而且也不支持GPU的直接虚拟化。这时候,共享GPU的环境配置就成了一个大问题,尤其是在配置的应用可能会产生冲突的情况下。 nvidia-docker完美解决了这个问题! docker之前也写过一些简易的入门教程: Docker学习笔记目录 本文再记录下使用nvidia-docker,pull caffe2的...