结果实例: 一个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,一经查实,立即删除!

相关文章

教务系统一键评教

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

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

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

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

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

vue内容渲染

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

MySQL表的增删改查(初阶)

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

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

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

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

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

A01、关于JVM的GC回收

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

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

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

GD32F4中断向量查询

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

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

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

【Python】管理项目第三方包

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

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

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

c 实现jpeg中的ALI(可变长度整数转换)正反向转换

用于DC的ALI表:DIFF 就是前后两个8X8块DC的差值,ssss就是DIFF值用二进制表示的位数 亮度,与色度的DC都是这种处理的。两个相邻的亮度与亮度比差,色度与色度比差产生DIFF, 扫描开始DIFF等于0。 用于AC ALI表:表中的AC…

喜讯!聚铭网络入选国家信息安全漏洞库(CNNVD)技术支撑单位

近日,国家信息安全漏洞库(CNNVD)公示2023年度新增技术支撑单位名单。经考核评定,聚铭网络正式入选并被授予《国家信息安全漏洞库(CNNVD)三级技术支撑单位证书》。 国家信息安全漏洞库(CNNVD&am…

解决腾讯云CentOS 6硬盘空间不足问题:从快照到数据迁移

引言: 随着数据的不断增加,服务器硬盘空间不足变成了许多运维人员必须面对的问题。此主机运行了httpd(apache服务),提供对外web访问服务,web资源挂载在**/data/wwwroot目录下,http日志存放在/data/wwwlogs目录下&…

11 v-bind指令

概述 v-bind指令可以说是Vue3中最常用的指令之一,使用v-bind,我们几乎能够给任何实现动态的绑定比值。 这里,我们主要演示以下,通过v-bind动态绑定CSS样式。 基本用法 我们创建src/components/Demo11.vue,在这个组…

JS逆向实战——开发者工具检测

说明:仅供学习使用,请勿用于非法用途,若有侵权,请联系博主删除 作者:zhu6201976 一、背景 在JS逆向领域,Chrome开发者工具是核心,抓包、调试、看调用栈等都离不开它。可以说,逆向人…

C语言--字符函数与字符串函数

大家好,我是残念,希望在你看完之后,能对你有所帮助,有什么不足请指正!共同学习交流 本文由:残念ing 原创CSDN首发,如需要转载请通知 个人主页:残念ing-CSDN博客,欢迎各位…

Java 数据结构篇-实现二叉搜索树的核心方法

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 二叉搜索树的概述 2.0 二叉搜索树的成员变量及其构造方法 3.0 实现二叉树的核心接口 3.1 实现二叉搜索树 - 获取值 get(int key) 3.2 实现二叉搜索树 - 获取最小…