结果实例: 一个cpu的parsec结果

简介

限于篇幅限制,很多教程和论文只展示部分结果。我们这里展示非常细节的结果,包括输出的许多命令行结果。

运行命令行 的shell窗口

./build/X86/gem5.opt -d m5out/onlyoneCPUkvmCheckPointDifferRCS20231218restore \configs/deprecated/example/fs.py --script=configs/yz2023Nov/small_n2/yzfs_canneal.script \--kernel=/home/yz/.cache/gem5/x86-linux-kernel-4.19.83 \--disk=/home/yz/.cache/gem5/x86-parsec --checkpoint-dir=m5out/onlyoneCPUkvmCheckPointDifferRCS20231218    -r 1  \--restore-with-cpu=X86KvmCPU  --cpu-type=TimingSimpleCPU   --num-cpus=1 \--script=configs/yz2023Nov/yzfs_parsec.script

运行m5term 的shell窗口

#base) [ 11:31AM ]  [ yz@yz-office:~/myprojects/2024GEM5/parsec-tests/yzmodifiedgem5 ]
./util/term/m5term 3456

结果: 运行命令行 的shell窗口

gem5 Simulator System.  https://www.gem5.org
gem5 is copyrighted software; use the --copyright option for details.gem5 version 23.0.1.0
gem5 compiled Oct 22 2023 10:25:41
gem5 started Dec 18 2023 11:31:54
gem5 executing on yz-office, pid 39538
command line: ./build/X86/gem5.opt -d m5out/onlyoneCPUkvmCheckPointDifferRCS20231218restore configs/deprecated/example/fs.py --script=configs/yz2023Nov/small_n2/yzfs_canneal.script --kernel=/home/yz/.cache/gem5/x86-linux-kernel-4.19.83 --disk=/home/yz/.cache/gem5/x86-parsec --checkpoint-dir=m5out/onlyoneCPUkvmCheckPointDifferRCS20231218 -r 1 --restore-with-cpu=X86KvmCPU --cpu-type=TimingSimpleCPU --num-cpus=1 --script=configs/yz2023Nov/yzfs_parsec.scriptwarn: The `get_runtime_isa` function is deprecated. Please migrate away from using this function.
warn: The fs.py script is deprecated. It will be removed in future releases of  gem5.
warn: The `get_runtime_isa` function is deprecated. Please migrate away from using this function.
warn: The `get_runtime_isa` function is deprecated. Please migrate away from using this function.
yzzz print we are using  root = Root(full_system=True, system=test_sys) Global frequency set at 1000000000000 ticks per second
warn: system.workload.acpi_description_table_pointer.rsdt adopting orphan SimObject param 'entries'
warn: No dot file generated. Please install pydot to generate the dot file and pdf.
src/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 Mbytes) does not match the address range assigned (512 Mbytes)
src/sim/kernel_workload.cc:46: info: kernel located at: /home/yz/.cache/gem5/x86-linux-kernel-4.19.83
src/base/statistics.hh:279: warn: One of the stats is a legacy stat. Legacy stat is a stat that does not belong to any statistics::Group. Legacy stat is deprecated.0: system.pc.south_bridge.cmos.rtc: Real-time clock set to Sun Jan  1 00:00:00 2012
system.pc.com_1.device: Listening for connections on port 3456
system.remote_gdb: Listening for connections on port 7000
src/mem/coherent_xbar.cc:140: warn: CoherentXBar system.membus has no snooping ports attached!
src/dev/intel_8254_timer.cc:128: warn: Reading current count from inactive timer.
Switch at curTick count:10000
src/cpu/kvm/base.cc:169: info: KVM: Coalesced MMIO disabled by config.
src/arch/x86/cpuid.cc:180: warn: x86 cpuid family 0x0000: unimplemented function 2
src/arch/x86/cpuid.cc:180: warn: x86 cpuid family 0x0000: unimplemented function 3
src/arch/x86/cpuid.cc:180: warn: x86 cpuid family 0x0000: unimplemented function 4
src/arch/x86/cpuid.cc:180: warn: x86 cpuid family 0x0000: unimplemented function 5
src/arch/x86/cpuid.cc:180: warn: x86 cpuid family 0x0000: unimplemented function 6
src/sim/simulate.cc:194: info: Entering event queue @ 11768729380500.  Starting simulation...
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x3a) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0xd90) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x48) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x309) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x30a) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x30b) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x38d) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x38e) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x38f) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x390) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0xc1) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0xc2) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0xc3) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0xc4) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x186) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x187) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x188) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x189) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x12) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x11) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x4b564d01) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x4b564d00) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x40000000) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x40000001) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x40000020) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x40000021) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x40000022) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x40000023) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x40000100) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x40000101) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x40000102) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x40000103) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x40000104) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x40000105) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x40000003) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x40000002) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x40000010) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x40000080) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x400000b0) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x40000073) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x40000106) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x40000107) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x40000108) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x400000ff) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x400000f1) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x400000f2) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x400000f3) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x400000f4) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x400000f5) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x4b564d02) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x4b564d03) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x4b564d04) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x4b564d06) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x4b564d07) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x3b) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x6e0) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x10a) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x345) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x1a0) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x4d0) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x9e) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x34) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0xce) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x140) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x1fc) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x8b) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x480) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x48d) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x48e) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x48f) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x490) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x485) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x486) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x488) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x48a) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x48b) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x48c) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x491) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0xc0010015) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x4b564d05) unsupported by gem5. Skipping.
Switched CPUS @ tick 11768729390500
switching cpus
src/sim/simulate.cc:194: info: Entering event queue @ 11768729390500.  Starting simulation...
src/sim/power_state.cc:105: warn: PowerState: Already in the requested power state, request ignored
**** REAL SIMULATION ****
src/sim/simulate.cc:194: info: Entering event queue @ 11769812739000.  Starting simulation...
src/dev/x86/pc.cc:117: warn: Don't know what interrupt to clear for console.
build/X86/arch/x86/generated/exec-ns.cc.inc:27: warn: instruction 'verw_Mw_or_Rv' unimplemented
build/X86/arch/x86/generated/exec-ns.cc.inc:27: warn: instruction 'verw_Mw_or_Rv' unimplemented
src/arch/generic/debugfaults.hh:145: warn: MOVNTDQ: Ignoring non-temporal hint, modeling as cacheable!
build/X86/arch/x86/generated/exec-ns.cc.inc:27: warn: instruction 'fwait' unimplemented
build/X86/arch/x86/generated/exec-ns.cc.inc:27: warn: instruction 'verw_Mw_or_Rv' unimplemented
11825043705000: system.pc.com_1.device: attach terminal 0
Exiting @ tick 143338763627000 because m5_exit instruction encountered

结果: 运行m5term的窗口

(base) [ 11:31AM ] [ yz@yz-office:~/myprojects/2024GEM5/parsec-tests/yzmodifiedgem5 ]
$ ./util/term/m5term 3456
==== m5 terminal: Terminal 0 ====
o it.

The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

yzzzz42Checkpointing simulation…
yzzzz44CheckpointingDone
yzzzzzz47oading old script…
#!/bin/sh

This is YZ’s modifed version of hack_back_ckpt.rcs originaly by Joel Hestness, hestness@cs.utexas.edu.

#I modified it to be able to run with new different script after restoring from a checkpoint.
#The key idea is to “m5read file” twice and “bash” rather than “exec” the script

Demo econd new script: cd /home/gem5/parsec-benchmark; source env.sh; parsecmgmt -a run -p blackscholes -c gcc-hooks -i simsmall -n 2; sleep 5; m5 exit;

You should observe via m5term 3456: First: old script, showing the content of this scipt. Second: new script, show the contents of cd /home/gem5/parsec-benchmark; source env.sh; parsecmgmt -a run -p blackscholes -c gcc-hooks -i simsmall -n 2; sleep 5; m5 exit;

#author: Yizhi Chen: yizhic@kth.se 2023-Dec-18th

Test if the RUNSCRIPT_VAR environment variable is already set

if [ “${RUNSCRIPT_VAR+set}” != set ]
then
# Signal our future self that it’s safe to continue
export RUNSCRIPT_VAR=1
else
# We’ve already executed once, so we should exit
echo “yzzzWe’ve already executed once, so we should exit”
sleep 2
/sbin/m5 exit
fi

Checkpoint the first execution

echo “yzzzz42Checkpointing simulation…”
/sbin/m5 checkpoint
echo “yzzzz44CheckpointingDone”

Test if we previously okayed ourselves to run this script

if [ “$RUNSCRIPT_VAR” -eq 1 ]
then

# Signal our future self not to recurse infinitely
export RUNSCRIPT_VAR=2# Read the script for the checkpoint restored execution
echo "yzzzzzz47oading old script..."
/sbin/m5 readfile > /tmp/runscript
cat /tmp/runscript 
echo "yzzzzzz54oading second new script..."
/sbin/m5 readfile > /tmp/runscript
cat /tmp/runscript
echo "yzzzzz59runing second new script..."
chmod 755 /tmp/runscript# Execute the new runscript
if [ -s /tmp/runscript ]
thenecho "yzzzzzz54execute newscrpt..."#exec /tmp/runscriptbash /tmp/runscript
elseecho "yzzzzz56Script not specified. Dropping into shell..."/bin/bash
fi

fi
sleep 1;
echo “yzzzzzz62Fell through script. Exiting…”
sleep 3;
/sbin/m5 exit

yzzzzzz54oading second new script…
cd /home/gem5/parsec-benchmark; source env.sh; echo " YZZZ source done "; parsecmgmt -a run -p blackscholes -c gcc-hooks -i simsmall -n 1; sleep 5; m5 exit;
yzzzzz59runing second new script…
yzzzzzz54execute newscrpt…
YZZZ source done
[PARSEC] Benchmarks to run: parsec.blackscholes

[PARSEC] [========== Running benchmark parsec.blackscholes [1] ==========]
[PARSEC] Setting up run directory.
[PARSEC] Unpacking benchmark input ‘simsmall’.
in_4K.txt
[PARSEC] Running ‘time /home/gem5/parsec-benchmark/pkgs/apps/blackscholes/inst/amd64-linux.gcc-hooks/bin/blackscholes 1 in_4K.txt prices.txt’:
[PARSEC] [---------- Beginning of output ----------]
PARSEC Benchmark Suite Version 3.0-beta-20150206
[HOOKS] PARSEC Hooks Version 1.2
Num of Options: 4096
Num of Runs: 100
Size of data: 163840
[HOOKS] Entering ROI
[HOOKS] Leaving ROI
[HOOKS] Total time spent in ROI: 16.646s
[HOOKS] Terminating

real 0m22.939s
user 0m22.105s
sys 0m0.326s
[PARSEC] [---------- End of output ----------]
[PARSEC]
[PARSEC] BIBLIOGRAPHY
[PARSEC]
[PARSEC] [1] Bienia. Benchmarking Modern Multiprocessors. Ph.D. Thesis, 2011.
[PARSEC]
[PARSEC] Done.

分析:

概况

stats.txt里是4570s,也就是76分钟,用的cputype是timing simple。如果用kvm只需要几秒。
在这里插入图片描述

分析窗口 1

在命令行窗口 1 里 显示了“ Entering event queue @ 11769812739000. Starting simulation…”,这里意味着checkpoint (在这里是11769812739000 ticks)之前的仿真被跳过。
Exiting @ tick 143338763627000 because m5_exit instruction encountered 代表 143338763627000时收到了 m5 exit 命令,仿真结束。

分析窗口2

自带的开头

在这里插入图片描述

下面是我的脚本内容。我的脚本script会读取m5readfile 两次,下面是第一次的脚本内容

yzzzz42Checkpointing simulation...
yzzzz44CheckpointingDone
yzzzzzz47oading old script...
。。。。跳过一些
sleep 3; 
/sbin/m5 exit

下面是第二次的内容,第二次的内容是我–script指定的,与checkpoint时指定不同的脚本文件,内容如下/

yzzzzzz54oading second new script...
cd /home/gem5/parsec-benchmark; source env.sh;  echo " YZZZ source done ";  parsecmgmt -a run -p blackscholes  -c gcc-hooks -i simsmall  -n 1; sleep 5; m5 exit; 

我的脚本会cat这两个内容,还是执行(bash) 这个新的脚本文件的内容。
也就是说,我的脚本会让gem5运行一个bash,跳入 /home/gem5/parsec-benchmark路径,这个路径是disk自带的。然后source当前路径下的一个文件,env .sh,这也是disk自带的。 然后shell print一个我自定义的字符串,是为了检查这个脚本有在运行。然后是运行这个disk自带的benchmark,运行完后等待一会,退出。

下面可以看出,我的echo " YZZZ source done "有成功运行,接下来的漫长等待(1小时)就不担心了。
在这里插入图片描述
然后是 parsecmgmt -a run -p blackscholes -c gcc-hooks -i simsmall -n 1的结果。
这个很慢,地球时间需要一些时间。运行完成后的结果是:
在这里插入图片描述
至此,两个命令行窗口的全部结果都显示完了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/232876.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

剑指offer题解合集——Week1day3

剑指offerWeek1 周三:二维数组中的查找 题目链接:二维数组中的查找 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数…

教务系统一键评教

利用浏览器的开发者模式实现“一键评教”,本教程针对金智教务系统 步骤 1、打开教务系统的评教页面。 2、按下键盘快捷键 F12,或者点击鼠标右键打开浏览器的开发者工具,然后选择控制台(Console)。 3、复制以下 Java…

大数据机器学习-梯度下降:从技术到实战的全面指南

大数据机器学习-梯度下降:从技术到实战的全面指南 文章目录 大数据机器学习-梯度下降:从技术到实战的全面指南一、简介什么是梯度下降?为什么梯度下降重要? 二、梯度下降的数学原理代价函数(Cost Function)…

[德人合科技]——设计公司 \ 设计院图纸文件数据 | 资料透明加密防泄密软件

国内众多设计院都在推进信息化建设,特别是在异地办公、应用软件资产规模、三维设计技术推广应用以及协同办公等领域,这些加快了业务的发展,也带来了更多信息安全挑战,尤其是对于以知识成果为重要效益来源的设计院所,防…

vue内容渲染

内容渲染指令用来辅助开发者渲染DOM元素的文本内容。常用的内容渲染指令有3个 1.v-text 缺点:会覆盖元素内部原有的内容 2.{{}}:插值表达式在实际开发中用的最多,只是内容的占位符,不会覆盖内容 3.v-html:可以把带有标…

LeetCode-28. 找到字符串中第一个匹配项的下标

文章目录 KMP 算法基本概念next 数组含义及计算匹配过程 LeetCode-28.找到字符串中第一个匹配项的下标题目描述程序代码 KMP 算法 基本概念 S:文本串P:模式串next 数组:next[i]表示当模式串中第 i 个字符与文本串中某个字符不匹配时&#x…

MySQL表的增删改查(初阶)

CRUD 即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)四个单词的首字母缩写。且增删改查(CRUD,create,retrieve,update,delete)数据库的核心模块。 1. 新增(Create) 实…

【数据结构】二叉树的模拟实现

前言:前面我们学习了堆的模拟实现,今天我们来进一步学习二叉树,当然了内容肯定是越来越难的,各位我们一起努力! 💖 博主CSDN主页:卫卫卫的个人主页 💞 👉 专栏分类:数据结构 👈 &…

vscode ssh连接不上服务器的各种解决办法

超时 可能是因为服务器太慢,等太久而报错,可以将超时时间设置长一些。步骤如下图,我将超时时间改成了60(或者更大,有时候服务器巨卡)。 参考: https://www.jianshu.com/p/0a995acf1a2e 超时&a…

操作系统的界面

(1) 请说明系统生成和系统引导的过程。 解: 系统的生成过程:当裸机启动后,会运行一个特殊的程序来自动进行系统的生成(安装),生成系统之前需要先对硬件平台状况进行检查,或者从指定文件处读取…

CogVLM与CogAgent:开源视觉语言模型的新里程碑

引言 随着机器学习的快速发展,视觉语言模型(VLM)的研究取得了显著的进步。今天,我们很高兴介绍两款强大的开源视觉语言模型:CogVLM和CogAgent。这两款模型在图像理解和多轮对话等领域表现出色,为人工智能的…

A01、关于JVM的GC回收

引用类型 对象引用类型分为强引用、软引用、弱引用,具体差别详见下文描述: 强引用:就是我们一般声明对象是时虚拟机生成的引用,强引用环境下,垃圾回收时需要严格判断当前对象是否被强引用,如果被强引用&am…

35道HTML高频题整理(附答案背诵版)

1、简述 HTML5 新特性 &#xff1f; HTML5 是 HTML 的最新版本&#xff0c;它引入了很多新的特性和元素&#xff0c;以提供更丰富的网页内容和更好的用户体验。以下是一些主要的新特性&#xff1a; 语义元素&#xff1a;HTML5 引入了新的语义元素&#xff0c;像 <article&g…

GaN图腾柱无桥 Boost PFC(单相)九-EMI 滤波器容性电流影响分析

前言 为了防止 PFC 变换器中高频开关谐波对电网产生影响&#xff0c;同时抑制电网中的高频干扰对变换器运行的影响&#xff0c;一般通过在 PFC 变换器与交流电源之间加入EMI 滤波器消除共模干扰和差模干扰&#xff0c;使变换器满足相应的 EMI 标准。在基于GaN 功率器件的图腾柱…

GD32F4中断向量查询

中断向量表 中断向量对应函数 __Vectors DCD __initial_sp ; Top of StackDCD Reset_Handler ; Reset HandlerDCD NMI_Handler ; NMI HandlerDCD HardFault_Handler ;…

管理类联考——数学——真题篇——按题型分类——充分性判断题——蒙猜C

老规矩&#xff0c;先看目录&#xff0c;平均每个3-4C&#xff08;C是月饼&#xff0c;月饼一般分为4块&#xff09; C是什么&#xff0c;是两个都不行了&#xff0c;但联合起来可以&#xff0c;联合的英文是combined&#xff0c;好的&#xff0c;我知道这个英文也记不住&#…

【Python】管理项目第三方包

我们在开发python项目时&#xff0c;如果代码每移植到到其他机器上&#xff0c;就手动 pip install XXX 安装一次&#xff0c;这样手动介入 是不是不太方便&#xff1f; 那么&#xff0c;python有像java一样的maven管理包的工具吗&#xff1f;只需要一个类似pom的文件&#xff…

学成在线bug纪录

p26&#xff1a;No converter found for return value of type: class com.xuecheng.base.model.PageResult 解决&#xff1a;给PageResult添加getter和setter方法 Illegal DefaultValue null for parameter type integer 解决&#xff1a;将swagger-spring-boot-starter依赖…

Excel怎样统计一列中不同的数据分别有多少个?

文章目录 1.打开Excel数据表2.选择“插入”&#xff0c;“数据透视表”3.选择数据透视表放置位置4.将统计列分别拖到“行”和“数值”区间5.统计出一列中不同的数据分别有多少个 1.打开Excel数据表 2.选择“插入”&#xff0c;“数据透视表” 3.选择数据透视表放置位置 4.将统计…

数据结构【1】:数组专题

一、定义 数组是编程中一种强大的数据结构&#xff0c;它允许您存储和操作相同类型元素的集合。在 Python 中&#xff0c;数组是通过数组模块创建的&#xff0c;该模块提供了一个简单的接口来创建、操作和处理数组。 二、创建数组 在 Python 中&#xff0c;可以使用内置的 a…