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

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

在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里打开就行。里面的系统是ubuntu more ...



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

NVIDIA CUDA的NVCC编译过程之前已经介绍过了,编译ptx后,会生成cubin文件。 cubin文件是包含了CUDA执行代码节的ELF格式文件。类似于我们常见运行文件。而官方提供了两个工具来反编译cubin文件到sass文件(类似常见的汇编),官方使用文档。 nvdisasm n more ...

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

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

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

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