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

原创 1、C++学习引言相关知识
3)使用抽象层或接口,通过使用抽象层或接口来隐藏底层的实现细节,从而使代码更容易移植到不同的平台。1)使用标准化的编程语言和库,选择使用广泛接受的编程语言和通用的库,减少特定平台的依赖性;2)避免平台特定的代码,尽量避免使用特定于某个操作系统或硬件平台的功能或特性。1、代码可移植性是更换平台后不会影响代码执行的特性。5)编写代码时,注意检查和处理平台相关的差异。4)遵循标准化的文件格式和协议。6)使用自动化构建和测试工具。
2024-01-18 15:07:48
385
原创 大模型相关知识
实现原理:将训练数据分割成多个子集,每个加速卡上都有完整的模型副本,各自处理不同的数据子集。模型参数:包含大量参数,如权重矩阵和偏置向量(协助实现负载均衡,γ 决定了偏置项的更新速度,α 主要用于衡量序列级平衡损失在整个模型训练损失中的重要程度。显存影响:由于将张量分到不同的加速卡中,减少单个卡张量大小,从而降低显存占用。显存影响:和张量并行类似,将序列数据分到不同加速卡,降低显存占用,增加通信和同步开销。显存影响:每个加速卡上都需要完整的模型参数,显存占用随加速卡数量增加而线性增加。
2025-04-02 15:15:51
296
原创 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
原创 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
原创 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
原创 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
原创 5、SystemC与VHDL/Verilog HDL常见语法对比
典型主设备包括处理器、DMA控制器等,典型从设备包括存储器、中断控制器、程控I/O和通用串口等。1、片上系统包括:主设备、从设备、仲裁器和总线。
2024-08-02 17:19:58
165
原创 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
原创 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
原创 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
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人