镜像文件扩容简记
最近有遇到对镜像文件(.img)进行扩容的需求,踩了一些坑,在此记录一下。背景是要在仿真器上跑一个在挂载额外disk.img的全系统测试,需要用到很大的数据。但是一开始用的磁盘镜像空间不够大,所以需要扩容然后才够放下数据。一种类似的场景是,在虚拟机上启动,挂载某个disk.img作为linux启动之后的rootfs,disk.img内有自己的分区表和文件系统。这种需求不能仅仅只扩大外部host的i
最近有遇到对镜像文件(.img)进行扩容的需求,踩了一些坑,在此记录一下。背景是要在仿真器上跑一个在挂载额外disk.img的全系统测试,需要用到很大的数据。但是一开始用的磁盘镜像空间不够大,所以需要扩容然后才够放下数据。一种类似的场景是,在虚拟机上启动,挂载某个disk.img作为linux启动之后的rootfs,disk.img内有自己的分区表和文件系统。这种需求不能仅仅只扩大外部host的i
在某些Benchmark或者计算Kernel的性能测试场景下,需要对绑定执行的CPU核进行锁频,以获得可以复现(reproducible)的结果,更好地实现横向对比,排除CPU频率动态调度对于性能表现的影响。当然这也只是我个人的一个猜想,对于锁频应该还有一些其他的需求,比如节能。不过在最近,我在测试的时候遇到了一个频率没能锁住的“问题”。测试服务器CPU是Intel(R) Xeon(R) Gold
前几天,在进行C++机试的时候遇到一些小问题和小技巧,在这里记录一下。getline()和cin>>ACM模式的机试需要自己从标准输入stdin读入,从标准输出stdout输出结果。在涉及到字符串读入的时候,遇到了cin>>和getline()交替的情况,但是没有符合预期的输入输出,代码如下:#include <iostream> int main() {
#pragma是程序员和编译器之间通话的重要途径,通过它可以更好地指导编译器对代码进行优化,从某种程度上说也是程序员对编译器的主权体现。#pragma unroll (n) 是能够利用编译器对循环(for、while、do)进行展开,n表示展开的程度,不加表示完全展开。这是在LLVM的框架下,在GNU下则要是#pragma GCC unroll n。具体的使用说明可以见GCC的Loop-Speci
原文:Microbenchmarking Nvidia’s RTX 4090 作者:clamchowderNVIDIA RTX4090,架构代号Ada Lovelace,采用台积电4nm技术,核心代号AD102。RTX4090除了NV官方大肆宣扬的光追性能外,拥有128个SMs(实际上AD102有144个,GA102有84个)。此文中的对比试验主要是来自OpenCL写的Microbenchmark
图神经网络(Graph Neural Network, GNN)是一种建立在神经网络理论之上对图数据进行分析、学习的模型。其核心是图信号处理,包括对图信号的卷积滤波等等。从任务的角度,对图数据的学习可以实现:节点层面:节点标签的分类、引文网络分类、恶意账户检测;边层面:社交网络中边预测、推荐系统;图层面:对图的整体结构进行分类、表示、生成,药物分子的分类、酶的分类;本文希望对图神经网络需求的计算模
FILIPPONE S, CARDELLINI V, BARBIERI D, 等. Sparse Matrix-Vector Multiplication on GPGPUs[J/OL]. ACM Transactions on Mathematical Software, 2017, 43(4): 1-49. DOI:10.1145/3017994.本篇文章为2017年的工作,主要讨论SpMV在
本文记录在尝试测试AMD上某个AVX2 benchmark过程中遇到的问题和一些值得吐槽的点。跑这个测试的一个主要的目标是,将支持AVX512的kernel降级成支持AVX2的,然后在AMD平台上测试性能。Intel Intrinsics AVX是Intel设计并推行的多媒体SIMD指令集,同时提供了一系列内建函数可以供给高级语言(C/C++)使用。这