摘要: 批量将z开头的文件名中的z去掉 Linux Shell: for i in $(ls z*); do mv $i ${i:1}; done PowerShell: foreach ($i in ls z*) { mv $i.name $i.name.substring(1) } 批量用ffmpeg将 阅读全文
posted @ 2020-06-09 10:49 YuanZiming 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 背景 最近做一个FPGA加速项目,懒得写RTL,所以又选择了HLS(High Level Synthesis,高层次综合)。之前的文章《Ultra96V2开发板简单使用》中介绍了如何用HLS写IP核并且在Ultra96V2开发板上通过Pynq环境跑起来,但是我现在用的是OpenSSD开发板,如《Sp 阅读全文
posted @ 2024-06-30 13:01 YuanZiming 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 背景 最近在做基于图的近似向量检索的实验,需要用到Faiss库和Rapids系列的Raft库,同时由于要统计一些算法内部的数据,因此不能直接使用它们预编译的Python库,而要手动从源码编译并通过C++调用,这里记录一下编译运行时遇到的一些问题和技巧,其中Raft的坑尤其多。 Faiss 编译 Fa 阅读全文
posted @ 2024-06-30 12:58 YuanZiming 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 概述 最近在实现一个通过PyTorch Extension扩展PyTorch算子的C++算法,需要分析代码的运行瓶颈进行针对性优化。Intel VTune就是一个能从汇编级和源码级分析CPU运行瓶颈的工具。由于不明原因我没在服务器上跑通命令行版的VTune,所以把程序搬到Windows下分析了,因此 阅读全文
posted @ 2024-06-30 12:53 YuanZiming 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 背景 最近帮老师做一个硬件项目,使用SpinalHDL实现。实际用起来还是觉得这玩意不错,它能够抽象到“生成Verilog代码”这一层面,通过程序简化生成的逻辑,可以减少很多直接用Verilog需要编写的重复代码。同时它声明的端口名称和硬件逻辑是能够直接对应到Verilog代码的,所以查看波形调试也 阅读全文
posted @ 2024-06-30 12:47 YuanZiming 阅读(40) 评论(0) 推荐(0) 编辑
摘要: ### 背景 在探索新的深度学习算法的时候,我们可能会遇到PyTorch提供的算子不能满足需求的情况,这时候就需要自定义PyTorch算子,将我们的算法集成到PyTorch的工作流中。同时,为了提高运算效率,算子往往都需要使用CUDA实现。所幸,PyTorch及很多其他Python库都提供了简化这一 阅读全文
posted @ 2023-09-03 15:50 YuanZiming 阅读(1671) 评论(0) 推荐(0) 编辑
摘要: 背景 我们实验室有两台服务器,其中一台无法从外网访问,另一台设置了内网穿透。我平常在无法从外网访问的那台服务器上做实验,所以如果在实验室外要连接那台服务器就需要将设置了内网穿透的服务器作为跳板,通过两次ssh登进实验服务器。 最近我的实验需要联网下载包,但是服务器要联网需通过登录认证服务网页进行认证 阅读全文
posted @ 2023-04-13 14:42 YuanZiming 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 背景 学校有一个网课系统,该系统的客户端是使用Silver light(一个.NET相关的技术框架,类似Flash)实现的,不支持跨平台。我对它的代码进行了分析,发现它会从服务器中接收H264格式的视频裸流和AAC格式的音频裸流,这两个裸流都不能用普通的播放器播放,所以我写了一个客户端将这两种裸流重 阅读全文
posted @ 2023-03-30 16:51 YuanZiming 阅读(395) 评论(0) 推荐(0) 编辑
摘要: 标题1 标题2 标题3 标题4 标题5 标题6 加粗 倾斜 code 删除 \(a_i\) markdown教程1 无序1 无序2 无序3 有序1 有序2 有序 引用 // multiline code import python print('hello world') \[ e^{\pi i}+ 阅读全文
posted @ 2022-02-25 11:15 YuanZiming 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 概述 最近向老师借了一块Ultra96 V2开发板学习FPGA。之前虽然也有接触过FPGA开发板,但第一次用的是只有一个FPGA核的Artix-7开发板,用的也是最传统的流程,即写好verilog模块,调一下网表文件,然后直接烧录到FPGA中;第二次用的是Zynq系的Pynq z2开发板了,但是也是 阅读全文
posted @ 2022-01-29 17:00 YuanZiming 阅读(861) 评论(1) 推荐(1) 编辑
摘要: 概述 本文涉及Stream、WavePlayer、UDP、Mandelbrot四个实验。实验地址 最后的这四个实验中的三个都和Stream类息息相关。Stream类最关键的是要掌握它的两个特性:需要握手和实时变化。 需要握手指的是Stream的传输数据需要其valid信号和ready信号均为真,而这 阅读全文
posted @ 2021-12-22 20:14 YuanZiming 阅读(470) 评论(0) 推荐(0) 编辑