分类: 随意Coding

一个程序猿的成长

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

NVIDIA存储架构速度

GPU不同级别的存储架构有着不同的运行速度,下面是官方的ptx手册中的访问速度表格,比较粗略,以后想起来在哪篇论文里有更详细的再补充。 Space Time Notes Register 0   Shared 0   Constant 0 Amortized cost is low, first access is high Local > 100 clocks   Parameter 0   Immediate 0   Global &g...

使用GPGPU-SIM做实验

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

cuda寄存器限制launch_bound和maxrregcount

一个CUDA程序如果使用的寄存器数量过多,会导致在SM上同时驻留的线程和block数量减少,继而导致程序性能不足。 __launch_bounds__和maxrregcount都可以用来限制cuda程序的寄存器数量,但是两者是不同的机制。 __launch_bounds__ __global__ void __launch_bounds__(maxThreadsPerBlock, minBlocksPerMultiprocessor) MyKernel(…) { … } maxThrea...

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/。 执行: # 可从...

我的RSS订阅源分享

通常我获取新闻信息是通过RSS订阅、知乎、微博、v2ex论坛、推酷、即刻这几种渠道。 最常用的是RSS订阅和知乎。 RSS阅读器我一般用reabble.com,在掌阅电纸书上用浏览器访问即可,该网站是专门适配电纸书的RSS在线阅读工具,采用的源是inoreader.com。 下面是我的RSS订阅源: https://gist.github.com/FindHao/f9aced8fa438d6bf7667b5a3421e2b2c 主要有三个分类: Blogs Research news Blogs...

实验室旧机器改造

实验室项目入了一台矿机做研究之用。8块RX580,每块8G GDDR5。考虑到实验室目前的GPU分配情况以及矿机过高的功率,鞠总决定拿出两块,放实验室旧机器上。但是实验室目前的主流机器是Dell OptiPlex 7010,大概属于中塔类型,但是放不进去全尺寸的RX580,遂买了先马的大机箱,以及新配的安钛克的500w电源。在这个过程中,了解到了很多关于组装机器的知识,写本文以记录。 品牌机主板可能会比较奇葩,比如7010自带245w的电源,换成惠普品牌机的300w电源,无法开机,一直黄灯报警。...

Nvidia Jetson Tegra X系列CPU、GPU状态监测工具TX-Utils使用说明

1. Introduction 我写了一个简单的获取和分析nvidia tegra x系列板子运行状况的工具tx-utils。 2. Github项目地址 https://github.com/FindHao/tx-utils 3. 实现的功能 将tx自带的tegrastats工具的output加入时间戳并写入log文件 提取log文件中指定时间段的内容进行分析 提取log中的cpu频率、cpu利用率、ram、emc和gpu利用率 将6个核的cpu利用率和gpu利用率做成一个折线图 3.1 te...

Python多线程多进程中的几个坑

Introduction 本文系转载,原文:今天遇到的Python多线程、多进程中的几个坑   今天在写oj的判题端的时候犯了一个低级错误,就是为了加快判题速度,我就采用了多线程多组用例同时运行的方法,但是后来不经意的发现,明明跑的很快的程序到了我这实际运行时间就变成了好几倍,而cpu时间并没有太大的变化。 我开始怀疑是runner的问题,因为以前使用ptrace的runner的时候,ptrace会在进程用户态和内核态之间反复的检查,导致程序运行缓慢。但是我手动的使用命令行启动runn...