作者: Find

CUDA程序通用makefile文件模板

去掉了sdk里通用makefile的一些内容,比如交叉编译。 # Location of the CUDA Toolkit,默认的路径即可 CUDA_PATH ?= "/usr/local/cuda" # architecture HOST_ARCH := $(shell uname -m) TARGET_ARCH ?= $(HOST_ARCH) ifneq (,$(filter $(TARGET_ARCH),x86_64 aarch64 ppc64le armv7l)) i...

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

1. Introduction 本文介绍了使用virtualbox里的Ubuntu16.04作为Host来刷jetson tx2的jetpack3.2包的过程。 2. 环境介绍 PC的真正Host是Debian9 VirtualBox 虚拟机 VirtualBox里的Ubuntu16.04作为刷机的Host Jetson TX2开发套件 JetPack 3.2刷机包 3. 下载 3.1 jetpack包下载地址 https://developer.nvidia.com/embedded/jetp...

CUDA PTX手册的目录

为了便于搜索指令对应的章节,将ptx官方手册的目录提取出来。 ptx手册:http://docs.nvidia.com/cuda/parallel-thread-execution/index.html CUDA Toolkit v9.1.85 PTX ISA ▽1. Introduction 1.1. Scalable Data-Parallel Computing using GPUs 1.2. Goals of PTX 1.3. PTX ISA Version 6.1 1.4. Docum...

关于程序员眼睛和颈椎的保护

眼睛近视越来越严重,而且颈椎也貌似要出问题。 意识到可能的问题,就需要采取适当的措施。 我采取了以下措施: 将显示器垫高,垫了三本厚书 降低椅子高度, 开启显示器护眼模式 买了护眼仪 买了Boox N96电纸书看论文 有意识减少看屏幕的时间,不定期起身活动 偶尔看知乎一些关于颈椎,眼睛的知识 晚上爬上床尽量不看手机等电子设备 购买汤臣倍健的叶黄素等眼睛有关的,以及蛋白粉、维C等。 健身 1,2是针对坐姿,3是心理作用,实际上效果应该比较弱,4没能成功养成习惯,不过有这样一个工具可以强迫自己有10...

2017丁酉年

岁月如梭。 好像不知不觉,就要自己扛起大梁了,几口人的大梁。 小时候的年,特别有趣。 鞭炮有趣,年三十就有人家开始放,我便召集几个小伙伴,去燃烧的废墟里,寻找未燃尽的烟火气息。偶然点着一个,啪的一声,开心的不得了,好像整个年,都在那几声响里。 功名尘土,无论你如何贬低,都需要这些来更好的生活。 渴盼他人的认可和期寄,便立志发奋读书,然而大抵三天打鱼两天晒网,这些年能坚持下来,反倒依赖于父亲的责骂和望子成龙的侮辱。 中国的社会,大抵如此。 儿时给尽你希望,却也给尽你绝望。 这样一个社会变革的年代,...

解读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...