自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

宇之日记

宇之日记

  • 博客(70)
  • 收藏
  • 关注

原创 8、输入、输出和文件

1、程序是按照字节处理输入和输出的。

2024-01-26 15:07:17 322

原创 7、string、模板、线程和智能指针的用法

1、sting:+=将一个字符串加到另一个字符串后面;[]访问第几个字符;==字符串是否一样判断。

2024-01-26 15:06:12 190

原创 6、类和对象

1、::类作用域解析符。

2024-01-26 15:02:53 176

原创 5、命名空间和预编译

1、静态:全局+static;

2024-01-26 15:00:49 168

原创 4、函数相关知识点

1、函数声明提供了函数到编译器的接口,声明时将函数参数类型、个数和返回值类型告知编译器。

2024-01-26 14:58:08 115

原创 3、关系表达式和逻辑运算符

1、for(初始值设置;更新测试值(没有返回值,所以不需要加;)) {执行body;

2024-01-23 18:15:57 328

原创 2、数据类型和结构

1、ASCII是8bit,Unicode是16bit。

2024-01-23 18:07:22 499

原创 1、C++学习引言相关知识

3)使用抽象层或接口,通过使用抽象层或接口来隐藏底层的实现细节,从而使代码更容易移植到不同的平台。1)使用标准化的编程语言和库,选择使用广泛接受的编程语言和通用的库,减少特定平台的依赖性;2)避免平台特定的代码,尽量避免使用特定于某个操作系统或硬件平台的功能或特性。1、代码可移植性是更换平台后不会影响代码执行的特性。5)编写代码时,注意检查和处理平台相关的差异。4)遵循标准化的文件格式和协议。6)使用自动化构建和测试工具。

2024-01-18 15:07:48 385

原创 大模型相关知识

实现原理:将训练数据分割成多个子集,每个加速卡上都有完整的模型副本,各自处理不同的数据子集。模型参数:包含大量参数,如权重矩阵和偏置向量(协助实现负载均衡,γ 决定了偏置项的更新速度,α 主要用于衡量序列级平衡损失在整个模型训练损失中的重要程度。显存影响:由于将张量分到不同的加速卡中,减少单个卡张量大小,从而降低显存占用。显存影响:和张量并行类似,将序列数据分到不同加速卡,降低显存占用,增加通信和同步开销。显存影响:每个加速卡上都需要完整的模型参数,显存占用随加速卡数量增加而线性增加。

2025-04-02 15:15:51 296

原创 建模相关知识

1、cmodel在芯片开发过程中的流程和交互。

2025-03-27 15:15:27 80

原创 9、tlm 事务交互通信

1、TLM 定义了一种通过事务(Transaction)交换信息的通信方式,事务通常是对数据块的抽象。

2025-03-27 15:05:39 509

原创 12、算法

手动使用栈实现时,将节点压入栈中,然后从栈中弹出节点进行访问,并将其未访问的邻居节点压入栈中。广度优先搜索:从起始节点开始,首先访问它的所有邻居节点,然后按照这些邻居节点的顺序,依次访问它们的邻居节点,以此类推,一层一层地向外扩展。广度优先搜索:一般使用队列来实现。先将起始节点放入队列,然后从队列中取出节点进行访问,把该节点的未访问邻居节点依次加入队列,直到队列为空。深度优先搜索:沿着一条路径尽可能深地探索下去,直到达到叶子节点或者无法继续深入为止,然后回溯到上一个节点,继续探索其他分支。

2025-02-28 18:06:31 194

原创 6、systemC示例

@param {uint64_t} feature_map_data_in_64bit dacfifo_sort拼接成的64bit数据。* @return {uint64_t} 执行流程是否异常 {RT_ERROR = 0, RT_OK = 1}* @return {uint32_t} 执行流程是否异常 {RT_ERROR = 0, RT_OK = 1}* @return {uint32_t} 执行流程是否异常 {RT_ERROR = 0, RT_OK = 1}SC_HAS_PROCESS(Dcu);

2025-01-21 10:30:46 651

原创 2024.12.10

定义损失函数:选择一个合适的损失函数来衡量模型的预测值与真实值之间的差异。常见的损失函数有均方误差(MSE)、交叉熵损失(Cross-Entropy Loss)等。选择优化算法:选择一个优化算法来更新网络参数,使得损失函数逐渐减小。常见的优化算法有随机梯度下降(SGD)、Adam、RMSprop 等。准备数据:将数据集划分为训练集和测试集,对数据进行预处理(如归一化、标准化等)。更新参数:使用优化算法更新网络参数,使得损失函数逐渐减小。计算损失:使用损失函数计算预测值与真实值之间的差异。

2024-12-23 10:36:19 148

原创 6、linux环境搭建

wget https://cmake.org/files/v3.17/cmake-3.17.1.tar.gz(下载cmake-3.17压缩包)2、**切换到home目录下,并更新apt包,sudo apt update 更新apt包**sudo apt-get remove cmake (删除旧的cmake版本)3、**Ubuntu Linux安装工具链所需软件:**4、**Cmake安装**(在home目录下)5、**gtest安装**(在home目录下)6、**设置用户和密码**1、**连接外网**

2024-11-29 17:31:28 465

原创 11、项目构建知识点

1、环境A编译生成的库,拷贝到环境B,可能会由于不同环境中相关编译文件版本不同而导致无法使用。

2024-11-12 17:29:27 392

原创 8、Unicorn

QEMU 是一个全面的开源虚拟机管理程序,除了 CPU 仿真之外,它还提供了完整的虚拟化解决方案,可以模拟整个计算机系统,包括 CPU、存储、网络等。,并支持 Pharo,Crystal,Clojure,Visual Basic,Perl,Rust,Haskell,Ruby,Python,Java,Go,.NET,Delphi / Pascal 和 MSVC 的编译。QEMU 功能强大、灵活,但也相对复杂,尤其是在配置虚拟机时,它的资源消耗比较高,适合于需要完整系统模拟的应用场景。

2024-10-29 17:20:04 467

原创 5、环境变量相关用法

1、可以获取环境变量。

2024-10-29 17:14:55 143

原创 7、noxsim相关知识点

监测和统计模块:ConfigurationManager.h、DataStructs.h、GlobalStats.h、Stats.h、Utils.h、GlobalParams.h,GlobalTrafficTable.h ReservationTable.h。,其他架构模块Buffer.h、Router.h、LocalRoutingTable.h、Tile.h、NoC.h、GlobalRoutingTable.h、Power.h、ProcessingElement.h。

2024-10-15 20:02:15 591

原创 5、python基础语法

else (98 * row['output_c'] * row['output_w'] * row['output_h'] + 33.6666666666667 # 当 layer_type 为 'ACT_OP' 时的计算。3、get_column_letter只适合英文字母,有汉字进行excel表格宽度自适应获取的宽度会有问题。4、创建excel表格时,默认的Sheet1中的S是大写的。1、可以通过create_sheet方法在excel中创建一个新的sheet。6、if语句在后面。

2024-10-10 17:38:07 230

原创 2、python库相关用法

1)excel = pd.ExcelFile(path)读取path目录下的excel文件,并将相关文件相关信息存储到excel中,后续可以通过excel调用python中excel相关处理函数实现excel数据的处理。import pandas as pd 导入pandas库并起别名pd,方便调用pandas中的库函数,例如:pd.ExcelFile(path);2、os是python中的一个库文件,里面包含的函数主要作用是:文件操作、路径操作、环境变量、进程管理、权限管理和系统管理。

2024-09-19 14:28:06 272

原创 4、存储器管理

1、存储器管理主要是内存管理。几乎每一条指令都涉及存储器访问,所以需要存储器速度和处理机运行速度相匹配。2、存储器分为寄存器、主存(高速缓存、主存储器、磁盘缓存和固定磁盘)和辅存(可移动存储介质)。

2024-09-18 15:54:28 205

原创 gitlab搭建

然后一直回车,直到提示Registering runner... succeeded,后输入shell。1)下载gitlab-runner。2)安装gitlab-runner。3)注册runner。

2024-09-12 17:15:53 447

原创 3、处理机调度和死锁

6、sleep()会释放线程资源,但是不会释放锁资源,如果其他线程也需要这个锁资源,则会等待,不需要则可以执行。wait()会释放线程和锁资源,通过notify()重新获取获取线程资源。读写锁:可以把读锁同时分配给多个读线程,只对写线程进行锁互斥。自旋锁:获取锁资源失败时,占用资源忙等待,直到锁释放。乐观锁:先操作,后上锁,如果有冲突,再解决冲突。4、互斥锁:获取锁资源失败时,切换到其他线程执行。悲观锁:先上锁,后操作。

2024-09-12 14:46:57 172

原创 4、python基础数据结构

列表可以包含不同类型的元素,包括数字、字符串甚至是其他列表。4) 插入元素my_list.insert(2,'a') #在索引2的位置插入a。5)my_list.remove('a') #删除第一个出现的'a'3) 在最后添加元素my_list.append('a');del my_list[0] #删除索引0的元素。例子:my_list = [1,2,'a'];6)len(my_list) #输出列表长度。2)获取子列表,my_list[1,4];1)my_list[4],访问列表元素;

2024-09-03 14:23:16 156

原创 3、正则表达式

1、正则表达式是一种用于描述文本模式的工具。为高级的文本模式匹配、抽取、与/或 文本形式的搜索和替换功能提供了基础。

2024-09-03 10:37:19 816

原创 9、设计模式

这种实现方式的好处是不需要去delete它。策略模式是指定义一系列的算法,把它们单独封装起来,并且使它们可以互相替换,使得算法可以独立于使用它的客户端而变化,也是说这些算法所完成的功能类型是一样的,对外接口也是一样的,只是不同的策略为引起环境角色环境角色表现出不同的行为。对于复杂的系统,系统为客户端提供一个简单的接口,把负责的实现过程封装起来,客户端不需要连接系统内部的细节。比如创建对象时,构造函数的参数很多,而自己又不完全的知道每个参数的意义,就可以使用原型模式来创建一个新的对象,不必去理会创建的过程。

2024-09-02 09:58:51 1361

原创 模拟器相关知识

这种设计方法的核心思想是将电路的操作分解到每个开关周期的细节层面,从而更精确地控制电路的行为和性能。总的来说,cycle-by-cycle 设计方法通过在每个开关周期内精确控制和调整电路行为,使得电力电子设备能够在各种工作条件下稳定运行,并且具备更好的性能和可靠性。:通过在每个开关周期内监测和调整电路的状态,能够实现更精确的电流和电压控制,从而提高系统的稳定性和效率。:通过对每个周期的精细调整,可以优化电路的整体性能,减少能量损耗,提高系统效率。

2024-08-28 15:33:52 369

原创 罗技键盘使用方法

1、按fn+esc(fnlock)键锁定功能键,实现vscode单步调试功能。2、home键上边几个按键实现键盘和电脑的无线或者有线连接。

2024-08-21 14:35:42 2904

原创 1、操作系统相关概念

1、操作系统是计算机上的第一层软件,用于管理计算机硬件设备,提高他们的利用率和通吐量,并为用户和应用程序提供一个接口。

2024-08-05 06:58:47 155

原创 5、SystemC与VHDL/Verilog HDL常见语法对比

典型主设备包括处理器、DMA控制器等,典型从设备包括存储器、中断控制器、程控I/O和通用串口等。1、片上系统包括:主设备、从设备、仲裁器和总线。

2024-08-02 17:19:58 165

原创 4、SystemC端口和通道

1、通过端口,模块中的进程可以连接到通道并使用通道提供的方法。

2024-07-29 17:43:45 477

原创 3、进程和模块

SC_MOUDLE中的变量都是私有的,class/struct dcu::public sc_moudle{}中的变量都是公有的。sc_module中提供默认的析构函数。new sc_module实例时可以传入一个字符串参数,作为sc_module的名称。可以通过(*sc_module_ptr)(x,y,z)传入参数,称为位置关联,不建议用。//SC_METHON是一个宏,加在func之前,不是声明func(),而是声明模块成员函数作为一个进程。SC_THREAD和SC_CTHREAD是定义的线程方法。

2024-07-24 14:27:00 245

原创 2、SystemC数据类型

1、SC_CTOR可以在类的声明中使用,代替构造函数。

2024-07-15 17:28:18 302

原创 1、SystemC相关基础概念

2、SystemC可以从系统级建模,高层次描述硬件和软件系统,进行建模和验证。是系统级和交易级建模的最佳语言、同时可以很好得。5、典型的嵌入式系统包括:处理器核、片上存储器、中断控制器、定时器、通用IO、通用串口、操作系统、定制外设和应用软件。3、VerilogHDL和VHDL的区别:VHDL语句比较冗长和复杂、VerilogHDL语言比较简单,类似C语音;VHDL主要是结构级、行为级和数据流级。生成的vcd、wif和isdb格式文件可以协助硬件完成设计。4、集成电路开发步骤:设计、制造、封装和测试。

2024-07-15 15:42:44 399

原创 卷积相关知识

1、普通卷积:一个卷积核中的通道数据和input对应通道数据进行乘累加,然后将所有通道的数据再进行累加,得到最终输出结果。2、深度卷积:一个卷积核中的通道数据和input对应通道数据进行乘累加,得到多个通道数据。

2024-07-13 15:37:21 264

原创 6、linux命令

1、echo $POST_PATH //查看环境变量,export POST_PATH = 1//设置环境变量。

2024-07-11 18:00:11 419

原创 2、进程和线程相关知识

1、线程和进程的区别:根本区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位。在开销方面:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。所处环境:在操作系统中能同时运行多个进程(程序);而在同一个进程(程序)中有多个线程同时执行(通过CPU调度,在每个时间片中只有一个线程执行)内存分配方面:系统在运行的时候会为每

2024-07-11 16:13:41 447

原创 函数调用底层原理

然后接下来会进行s=x+y的操作,如蓝色框突出部分所示,这里的x所在地址实际上是ebp-8h,y所在地址是ebp-ch,显而易见,x即是上图中的参数a,y即是上图中的参数b,将这两个单元中的值求和后赋值给s即实现了s=x+y。然后再看后面紧接着的两句即是对main函数中的局部变量a,b赋值了,观察红色框突出的部分,可以发现此时a和b的地址已经是确定好的,分别是ebp-14h和ebp-20h,除此之外,再往下的sum也已经有确定的地址ebp-8h,此时就引起了我对两个问题的思考:这些变量是什么时候入栈的呢?

2024-07-11 14:38:29 597

原创 4、linux相关基础知识

1、

2024-07-09 10:23:43 122

空空如也

空空如也

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

TA关注的人

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