自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(203)
  • 问答 (1)
  • 收藏
  • 关注

原创 NVDLA专题15:Runtime environment-核心模式驱动

NVDLA专题15:Runtime environment-核心模式驱动。

2024-09-11 15:29:29 661

原创 NVDLA专题14:Runtime environment-用户模式驱动

NVDLA专题14:Runtime environment-用户模式驱动。

2024-09-10 21:37:05 777

原创 NVDLA专题13:NVDLA软件部分设计和Compiler library

NVDLA软件部分设计和Compiler library介绍。

2024-09-10 13:47:50 515

原创 LLVM入门2:如何基于自己的代码生成IR-LLVM IR code generation实例介绍

LLVM入门2:如何基于自己的代码生成IR-LLVM IR code generation实例介绍。

2024-09-08 01:20:23 680

原创 llvm专题1:编译和安装之CMake配置

llvm专题1:编译和安装之CMake配置

2024-08-26 00:09:26 475

原创 NVDLA专题12:具体模块介绍——RUBIK

NVDLA专题12:具体模块介绍——RUBIK

2024-08-23 19:05:22 405

原创 NVDLA专题12:具体模块介绍——LUT Programming

NVDLA专题12:具体模块介绍——LUT Programming

2024-08-19 15:28:03 691

原创 NVDLA专题11:具体模块介绍——CROSS Channel Data Processor

NVDLA专题11:具体模块介绍——CROSS Channel Data Processor。

2024-08-19 13:47:50 277

原创 NVDLA专题10:具体模块介绍——Planar Data Processor

NVDLA专题10:具体模块介绍——Planar Data Processor。

2024-08-16 15:52:57 983

原创 NVDLA专题9:具体模块介绍——Single Point Data Processor

NVDLA专题9:具体模块介绍——Single Point Data Processor

2024-08-15 11:58:40 783

原创 NVDLA专题8:具体模块介绍——Convolution Accumulator

NVDLA专题8:具体模块介绍——Convolution Accumulator

2024-08-14 21:31:13 710

原创 NVDLA专题7:具体模块介绍——Convolution MAC

NVDLA专题6:具体模块介绍——Convolution MAC

2024-08-14 18:59:45 288

原创 NVDLA专题6:具体模块介绍——Convolution Sequence Controller

NVDLA专题6:具体模块介绍——Convolution Sequence Controller

2024-08-14 18:39:02 378

原创 NVDLA专题5:具体模块介绍——Convolution Buffer

NVDLA专题5:具体模块介绍——Convolution Buffer

2024-08-14 17:52:18 297

原创 NVDLA专题4:具体模块介绍——Convolution DMA

NVDLA专题4:具体模块介绍——Convolution DMA

2024-08-14 17:23:02 651

原创 NVDLA专题3:具体模块介绍——Convolution Pipeline

NVDLA专题3:具体模块介绍——Convolution Pipeline

2024-08-14 16:11:32 1162

原创 NVDLA专题2:具体模块介绍——Bridge DMA

NVDLA专题2:具体模块介绍——Bridge DMA。

2024-08-13 11:33:50 526 2

原创 NVDLA专题1:NVDLA框架介绍

NVDLA专题1,NVDLA框架总结和介绍。

2024-08-12 16:27:55 1178

原创 C++结构体对齐

对齐机制确保了结构体在内存中的布局是高效的,‌因为现代计算机的内存访问通常是对齐的,‌不对齐的访问可能会导致性能下降。‌此外,‌某些硬件平台对外设寄存器的访问有特定的对齐要求,‌不满足这些要求可能导致未定义的行为或性能问题。‌。

2024-08-09 19:28:12 230

原创 Verilator入门12:仿真玄铁coremark步骤详解

仿真玄铁coremark步骤详解,如何使用verilator编译RTL源代码,如何交叉编译逻辑程序,如何运行整个仿真。

2024-05-13 15:45:48 668

原创 gdb按照指定条件设置断点进行调试

gdb按照指定条件设置断点进行调试。

2024-05-13 11:10:45 500

原创 Verilator入门11:仿真玄铁测试case

使用verilator仿真玄铁测试case。

2024-04-03 23:15:06 689 1

原创 std::exit功能介绍和析构函数调用

std::exit功能介绍和析构函数调用,哪些析构函数会被调用。

2024-04-01 22:51:44 435

原创 C++实现直接使用初始化列表来实现成员变量初始化

在C++类初始化过程中,我们有的时候希望直接通过参数列表初始化所有的参数,或者像vector一样,我们直接通过vector<int> a{1,2,3,4,5}的方式初始化,那么这种方式是如何实现的呢?就这么简单,当然对于={1,2,3}这种操作也是类似的,只需要重载运算符同样这么传参就可以了。

2024-03-18 23:17:02 217

原创 g++和Makefile传递宏定义

g++和Makefile如何传递宏定义参数。

2024-03-07 15:56:37 399

原创 处理器分支预测(Branch predictor)原理和实现

处理器分支预测(Branch predictor)原理和实现,branch predictor算法实现。

2024-02-25 19:27:41 999

原创 C++类通过模板成员函数实现任意类实例的函数调用

C++类通过模板成员函数实现任意类实例的函数调用。

2024-01-04 16:42:07 604

原创 linux输出的重定向无效问题和解决

linux输出的重定无效问题和解决,明明重定向了为何终端还是有输出,本文会详细解决这个问题。

2023-11-22 12:03:47 1828

原创 C++类成员初始化顺序(声明初始化,初始化列表初始化和构造函数初始化)

C++类成员初始化顺序(声明初始化,初始化列表初始化和构造函数初始化)。

2023-10-24 10:37:38 1590

原创 C++中constexpr的用法

简单来说声明为constexpr的函数,那么在编译阶段就能得到其返回值,故编译器可以直接将对应位置的函数调用直接转换为函数的返回值,故其实现了和内联函数一样的功能

2023-09-16 16:47:57 318

原创 C++中std::enable_if和SFINAE介绍

C++中std::enable_if和SFINAE功能和原理介绍。

2023-09-08 16:41:41 914

原创 __builtin_expect, __builtin_unreachable和__builtin_prefetch

__builtin_expect, __builtin_unreachable和__builtin_prefetch用法。

2023-09-06 15:14:39 943

原创 openmpi入门之第一个程序

是默认的通信阈,如果不做其他声明,所有进程都属于这个通信阈,大多数情况下,这已足够用了。一个通信阈内的进程是有序的,每一个进程都有自己唯一的序号,对于有p个进程的通信阈,序号取值为0~p-1,通常我们通过这一序号来决定这个进程负责计算哪一部分任务,是MPI的初始化函数,其会完成所有初始化工作,以备后续MPI库的调用进行处理,该函数需要在调用其他MPI函数之前调用。函数,在MPI中,每一个活动的进程都是某个通信阈中的成员,这里-np 4表示运行时开启了4个进程。函数用来让系统释放分配给MPI的资源。

2023-09-03 22:00:10 351

原创 System Verilog中的packed array和unpacked array

System Verilog中的packed array和unpacked array.

2023-07-25 17:46:36 1125

原创 C++不定参数宏定义(#define XXX (...)表示什么意思)

如果遇到#define XXX (...)这样的宏定义,其实表示的是输入参数不定的情况,本节直接给出实例来说明。

2023-07-03 15:30:41 1398

原创 C++20中的协程(Coroutine)功能解析:co_await

C++20 协程的co_await实现

2023-06-25 00:49:47 2622

原创 std::this_thread::yield解析

如果调用std::this_thread::yield函数,当前线程会马上让出当前的CPU时间片,由运行态变为就绪态,但只是说明该线程当前的这次调度运行结束了,该线程会和其他线程一起共同由操作系统调度运行,至于该线程下次什么时候被调度运行,完全取决于系统的调度算法,yield函数并不会影响操作系统对该线程的下一次调度。其实和return效果类似,都是退出,但是对于一个线程来说,在该线程的回调函数调用return函数就会返回,该线程就会结束,而yield并不会,正因为此,yield函数有着特殊的用途。

2023-06-14 00:31:57 755

原创 EDA开源仿真工具verilator入门11: vcd波形文件分析

通过这个简单的例子,可以帮助我们很快的理解vcd波形文件的基本格式。当然还有很多其他的波形文件(fsdb、SHM、VPD等),目前verilator并不支持,如果感兴趣我们后面也可以讨论下,增加相应的内容。我们来看vcd文件的内容,首先会给出层次结构下的所有信号,每有一个新的层次结构都以。表示,且第一个时间戳会保存所有信号的值,之后的时间戳只保存变化的信号值,显然信号的。都是一个时间戳,表示一个新的cycle的开始,每个信号变量通过对应。每一个信号都有一个对应的。都是为了节省空间占用。

2023-06-11 10:59:51 1217 1

原创 perf火焰图的使用

可以看到,整个堆栈的调用关系以及耗时都很清楚地能看到。

2023-05-02 10:54:53 307 1

原创 perf record对C++程序耗时进行分析

本节将介绍如何使用perf工具的perf record对C++代码进行性能分析,一切操作都是在ubuntu 20下进行。

2023-05-01 23:11:18 3310

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除