FindHao 博客

解读CUDA汇编PTX(二) SASS nvdisasm工具

Introduction 解读CUDA汇编PTX–目录 NVIDIA CUDA的NVCC编译过程之前已经介绍过了,编译ptx后,会生成cubin文件。 cubin文件是包含了CUDA执行代码节的ELF格式文件。类似于我们常见运行文件。而官方提供了两个工具来反编译cubin文件到sass文件(类似常见的汇编),官方使用文档,由于我目前重点使用的nvdisasm,因此本文只介绍nvdisasm的使用,nvdisasm处理数据的功能更多。 nvdisasm nvdisasm只接受cubin...

C语言内核深度解析 – 读书笔记1

Introduction 《C语言内核深度解析》的读书笔记 ISBN:978-7-115-43294-0 主要内容系摘录。 1. C语言与内存 32位的系统中可用内存是小于等于4G的,这里涉及了三总线的概念:地址总线、数据总线和控制总线。比如我们现在要向内存中写入一个数据,控制总线上传输写指令,地址总线上传输内存地址,而数据总线则传输要写入内存的数据。 我们说的多少位CPU,指的是数据总线的位数。数据线越多,一次处理的数据就越多,性能就越好。 内存位宽(内存数据线的数量)是指在一个时钟周期内所能...

Nsight编译器设置保留编译过程

Introduction 之前记录过NVCC编译过程,但是在修改独立makefile时,可能会比较麻烦,而且如果是nsight里的项目,每次build makefile都会被重置。 但实际上nsight有设置编译参数的选项。 (本文将不定期更新,以完善nsight的build设置说明) 编译器设置 在项目上右键,弹出菜单的最后一个即为properties。 展开Build–》Settings,即可看到各种参数设置。 keep keep的含义: Keep all intermediat...

学术阅读 – SAGE笔记

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

GPU benchmark说明

Introduction 本文内容主要系摘录翻译自Ang Li的博士毕业论文。 1.Perfect Power Efficiency Revolution for Embedded Computing http://hpc.pnl.gov/PERFECT/ Application Domains Kernels PERFECT Application 1 Discrete Wavelet Transform   2D Convolution   Histogram Equal...

GPU基础知识

Introduction 本文内容主要系摘录翻译自Ang Li博士的毕业论文。 1. GPU历史 Arch. Release Year Compute Capability Process Most highlighted Features Flagship GTX/Tesla/Jetson GPUs Tesla 2008 1.0, 1.1, 1.2, 1.3 65 nm GPU baseline architecture GTX8800, GTX9800, GTX280,Tesla1060 F...

解决Mendeley Linux下无法输入中文

Introduction 本文介绍了快捷修复mendeley Linux下无法输入中文的问题解决方案。 问题描述 Mendeley是一款协助学术研究的工具,可以作为自己的论文阅读库,方便整理读过的论文,同时它自带的阅读标注工具也还算好用。 但是在Linux下,Fcitx输入法框架支持的搜狗输入法则无法输入中文标注。 查阅是由于mendeley使用的qt库没有添加fcitx的输入法支持库。 解决方案 这里仅说明最简单的利用别人编译好的库的方法。如果下面没有自己的系统,则参考reference里自己...

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的...

图像的SNR信噪比

1.灰度值 图像灰度值的概念是什么?灰度也可以认为是亮度,简单说就是色彩的深浅程度。 所谓颜色或灰度级指黑白显示器中显示像素点的亮暗差别,在彩色显示器中表现为颜色的不同,灰度级越多,图像层次越清楚逼真。灰度级取决于每个像素对应的刷新存储单元的位数和显示器本身的性能。如每个象素的颜色用16位二进制数表示,我们就叫它16位图,它可以表达2的16次方即65536种颜色。如每一个象素采用24位二进制数表示,我们就叫它24位图,它可以表达2的24次方即16777216种颜色。 灰度就是没有色彩,RGB色彩...