当前位置: 首页 > news >正文

CMP 40HX在PVE9.0配置vGPU

在PVE9.0下CMP 40HX使用NVIDIA vGPU19.0显卡虚拟化拆分技术

本文参考文章:https://yangwenqing.com/archives/2729/

最近看了很多vGPU的文章,心里面痒痒,就想搞一块矿卡来玩玩。在选择方面考虑了P106-100、CMP 30HX 、CMP 40HX,最终选则了CMP 40HX。
如果你需要玩vGPU,百元的情况下建议选择P106-100这个比较划算

特在此记录PVE9.0环境下安装vGPU的记录

显卡名称 显存大小 价格 备注
P106-100 6G 130元左右 锻炼时间过长
CMP 30HX 6G 180元左右 需要补电容
CMP 40HX 8G 300元左右 需要补电容

1.PVE系统信息

  • 内核版本为6.14.8.x
root@pve:~# uname -a
Linux pve 6.14.8-2-pve #1 SMP PREEMPT_DYNAMIC PMX 6.14.8-2 (2025-07-22T10:04Z) x86_64 GNU/Linux
root@pve:~#

2.硬件配置

事项 信息
系统 PVE 9.0.5
内核 6.14.8-2-pve
CPU AMD Ryzen 7 5700X (16) @ 4.6GHz
显卡 CMP 40HX
vGPU驱动 580.82.02

3.BIOS设置

提前在BIOS开启以下设置

  • 开启VT-d --必须开启,英特尔叫vt-d,AMD叫iommu
  • 开启SRIOV
  • 开启Above 4G
  • 关闭安全启动

4.屏蔽自带驱动

cat << EOF >> /etc/modprobe.d/pve-blacklist.conf
# 屏蔽NVIDIA显卡
blacklist nouveau
blacklist nvidia
# 允许不安全的设备中断
options vfio_iommu_type1 allow_unsafe_interrupts=1
EOF
  • 通过cat /etc/modprobe.d/pve-blacklist.conf检查文件是否写入
root@pve:~# cat /etc/modprobe.d/pve-blacklist.conf
# This file contains a list of modules which are not supported by Proxmox VE# nvidiafb see bugreport https://bugzilla.proxmox.com/show_bug.cgi?id=701
blacklist nvidiafb# 屏蔽NVIDIA显卡
blacklist nouveau
blacklist nvidia
# 允许不安全的设备中断
options vfio_iommu_type1 allow_unsafe_interrupts=1
root@pve:~#

5.加载内核模块

# 加载模块
cat << EOF >>/etc/modules
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
EOF# 更新update-initramfs
update-initramfs -u -k all
# 重启电脑
reboot
  • 检查文件是否写入和重启电脑
root@pve:~# cat /etc/modules
# /etc/modules is obsolete and has been replaced by /etc/modules-load.d/.
# Please see modules-load.d(5) and modprobe.d(5) for details.
#
# Updating this file still works, but it is undocumented and unsupported.vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
root@pve:~#
root@pve:~# update-initramfs -u -k all
root@pve:~# reboot

6.配置NVIDIA vGPU_Unlock 服务

# 创建vgpu_unlock文件夹
mkdir /etc/vgpu_unlock
# 创建profile_override.toml文件
touch /etc/vgpu_unlock/profile_override.toml
# 创建nvidia-vgpud.service.d,nvidia-vgpu-mgr.service.d启动服务
mkdir /etc/systemd/system/{nvidia-vgpud.service.d,nvidia-vgpu-mgr.service.d}
# 写入路径信息
echo -e "[Service]\nEnvironment=LD_PRELOAD=/opt/vgpu_unlock-rs/target/release/libvgpu_unlock_rs.so" > /etc/systemd/system/nvidia-vgpud.service.d/vgpu_unlock.conf
echo -e "[Service]\nEnvironment=LD_PRELOAD=/opt/vgpu_unlock-rs/target/release/libvgpu_unlock_rs.so" > /etc/systemd/system/nvidia-vgpu-mgr.service.d/vgpu_unlock.conf
# 重新加载服务
systemctl daemon-reload
# 查看配置是否写入成功
cat /etc/systemd/system/{nvidia-vgpud.service.d,nvidia-vgpu-mgr.service.d}/*
# vgpu_unlock补丁
mkdir -p /opt/vgpu_unlock-rs/target/release
cd /opt/vgpu_unlock-rs/target/release
wget -O libvgpu_unlock_rs.so https://yangwenqing.com/files/pve/vgpu/vgpu_unlock/rust/libvgpu_unlock_rs_vgpu19.so

7.安装NVIDIA vGPU_HOST 驱动

# 安装必要的组件
apt install -y build-essential dkms mdevctl pve-headers-$(uname -r)# 下载vGPU宿主机驱动
wget https://alist.homelabproject.cc/d/foxipan/vGPU/19.1/NVIDIA-Linux-x86_64-580.82.02-vgpu-kvm-custom.run# 安装vGPU宿主机驱动
chmod +x NVIDIA-Linux-x86_64-580.82.02-vgpu-kvm-custom.run
./NVIDIA-Linux-x86_64-580.82.02-vgpu-kvm-custom.run --dkms -m=kernel# 重启主机
reboot# 查看相关服务状态
systemctl status {nvidia-vgpud.service,nvidia-vgpu-mgr.service}
# 重新启动相关服务
systemctl restart {nvidia-vgpud.service,nvidia-vgpu-mgr.service}
# 停止相关服务
systemctl stop {nvidia-vgpud.service,nvidia-vgpu-mgr.service}
  • 检查驱动是否成安装
root@pve:~# nvidia-smi
Wed Sep 10 22:14:58 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 580.82.02              Driver Version: 580.82.02      CUDA Version: N/A      |
+-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA CMP 40HX                Off |   00000000:0B:00.0 Off |                  N/A |
| 16%   60C    P0              1W /  184W |      64MiB /   8192MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------++-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+
root@pve:~# nvidia-smi  vgpu
Wed Sep 10 22:15:04 2025
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 580.82.02              Driver Version: 580.82.02                 |
|---------------------------------+------------------------------+------------+
| GPU  Name                       | Bus-Id                       | GPU-Util   |
|      vGPU ID     Name           | VM ID     VM Name            | vGPU-Util  |
|=================================+==============================+============|
|  0   NVIDIA CMP 40HX            | 00000000:0B:00.0             |   0%       |
+---------------------------------+------------------------------+------------+
root@pve:~#
root@pve:~# systemctl status {nvidia-vgpud.service,nvidia-vgpu-mgr.service}
○ nvidia-vgpud.service - NVIDIA vGPU DaemonLoaded: loaded (/usr/lib/systemd/system/nvidia-vgpud.service; enabled; preset: enabled)Drop-In: /etc/systemd/system/nvidia-vgpud.service.d└─vgpu_unlock.confActive: inactive (dead) since Wed 2025-09-10 22:19:25 CST; 1min 57s agoInvocation: 08be57a37b8e43299ff934073c062fbdProcess: 793 ExecStart=/usr/bin/nvidia-vgpud (code=exited, status=0/SUCCESS)Main PID: 793 (code=exited, status=0/SUCCESS)Mem peak: 7.7MCPU: 815msSep 10 22:19:25 pve nvidia-vgpud[793]: Encoder Capacity: 0x64
Sep 10 22:19:25 pve nvidia-vgpud[793]: BAR1 Length: 0x100
Sep 10 22:19:25 pve nvidia-vgpud[793]: Frame Rate Limiter enabled: 0x1
Sep 10 22:19:25 pve nvidia-vgpud[793]: Number of Displays: 1
Sep 10 22:19:25 pve nvidia-vgpud[793]: Max pixels: 1310720
Sep 10 22:19:25 pve nvidia-vgpud[793]: Display: width 1280, height 1024
Sep 10 22:19:25 pve nvidia-vgpud[793]: Multi-vGPU Exclusive supported: 0x1
Sep 10 22:19:25 pve nvidia-vgpud[793]: License: GRID-Virtual-Apps,3.0
Sep 10 22:19:25 pve systemd[1]: nvidia-vgpud.service: Deactivated successfully.
Sep 10 22:19:25 pve systemd[1]: Finished nvidia-vgpud.service - NVIDIA vGPU Daemon.● nvidia-vgpu-mgr.service - NVIDIA vGPU Manager DaemonLoaded: loaded (/usr/lib/systemd/system/nvidia-vgpu-mgr.service; enabled; preset: enabled)Drop-In: /etc/systemd/system/nvidia-vgpu-mgr.service.d└─vgpu_unlock.confActive: active (running) since Wed 2025-09-10 22:19:25 CST; 1min 57s agoInvocation: 3377dc53456746aaafde059c016c88ccProcess: 1010 ExecStart=/usr/bin/nvidia-vgpu-mgr (code=exited, status=0/SUCCESS)Main PID: 1013 (nvidia-vgpu-mgr)Tasks: 1 (limit: 154297)Memory: 784K (peak: 2M)CPU: 417msCGroup: /system.slice/nvidia-vgpu-mgr.service└─1013 /usr/bin/nvidia-vgpu-mgrSep 10 22:19:25 pve nvidia-vgpu-mgr[1013]: NvA081CtrlVgpuConfigGetVgpuTypeInfoParams {vgpu_type: 436,vgpu_type_info: NvA081CtrlVgpuInfo {vgpu_type: 436,vgpu_name: "GRID RTX6000-2B",vgpu_class: "NVS",vgpu_signature: [],license: "GRID-Virtual-PC,2.0;Quadro-Virtual-DWS,5.0;GRID-Virtual-WS,2.0;GRID-Virtual-WS-Ext,2.0",max_instance: 12,num_heads: 4,max_resolution_x: 5120,max_resolution_y: 2880,max_pixels: 18432000,frl_config: 45,cuda_enabled: 0,ecc_supported: 0,gpu_instance_size: 0,multi_vgpu_supported: 0,vdev_id: 0x1e301438,pdev_id: 0x1e30,profile_size: 0x80000000,fb_length: 0x74000000,gsp_heap_size: 0x0,fb_reservation: 0xc000000,mappable_video_size: 0x400000,encoder_capacity: 0x64,bar1_length: 0x100,frl_enable: 1,adapter_name: "GRID RTX6000-2B",adapter_name_unicode: "GRID RTX6000-2B",short_gpu_name_string: "TU106-A",licensed_product_name: "NVIDIA Virtual PC",vgpu_extra_params: [],ftrace_enable: 0,gpu_direct_supported: 0,nvlink_p2p_supported: 0,multi_vgpu_exclusive: 1,exclusive_type: 0,exclusive_size: 0,gpu_instance_profile_id: 4294967295,},}
root@pve:~# mdevctl types
0000:0b:00.0nvidia-256Available instances: 24Device API: vfio-pciName: GRID RTX6000-1QDescription: num_heads=4, frl_config=60, framebuffer=1024M, max_resolution=5120x2880, max_instance=24nvidia-257Available instances: 12Device API: vfio-pciName: GRID RTX6000-2QDescription: num_heads=4, frl_config=60, framebuffer=2048M, max_resolution=7680x4320, max_instance=12nvidia-258Available instances: 8Device API: vfio-pciName: GRID RTX6000-3QDescription: num_heads=4, frl_config=60, framebuffer=3072M, max_resolution=7680x4320, max_instance=8nvidia-259Available instances: 6Device API: vfio-pciName: GRID RTX6000-4QDescription: num_heads=4, frl_config=60, framebuffer=4096M, max_resolution=7680x4320, max_instance=6nvidia-260Available instances: 4Device API: vfio-pciName: GRID RTX6000-6QDescription: num_heads=4, frl_config=60, framebuffer=6144M, max_resolution=7680x4320, max_instance=4nvidia-261Available instances: 3Device API: vfio-pciName: GRID RTX6000-8QDescription: num_heads=4, frl_config=60, framebuffer=8192M, max_resolution=7680x4320, max_instance=3nvidia-262Available instances: 2Device API: vfio-pciName: GRID RTX6000-12QDescription: num_heads=4, frl_config=60, framebuffer=12288M, max_resolution=7680x4320, max_instance=2nvidia-263Available instances: 1Device API: vfio-pciName: GRID RTX6000-24QDescription: num_heads=4, frl_config=60, framebuffer=24576M, max_resolution=7680x4320, max_instance=1nvidia-435Available instances: 24Device API: vfio-pciName: GRID RTX6000-1BDescription: num_heads=4, frl_config=45, framebuffer=1024M, max_resolution=5120x2880, max_instance=24nvidia-436Available instances: 12Device API: vfio-pciName: GRID RTX6000-2BDescription: num_heads=4, frl_config=45, framebuffer=2048M, max_resolution=5120x2880, max_instance=12nvidia-437Available instances: 24Device API: vfio-pciName: GRID RTX6000-1ADescription: num_heads=1, frl_config=60, framebuffer=1024M, max_resolution=1280x1024, max_instance=24nvidia-438Available instances: 12Device API: vfio-pciName: GRID RTX6000-2ADescription: num_heads=1, frl_config=60, framebuffer=2048M, max_resolution=1280x1024, max_instance=12nvidia-439Available instances: 8Device API: vfio-pciName: GRID RTX6000-3ADescription: num_heads=1, frl_config=60, framebuffer=3072M, max_resolution=1280x1024, max_instance=8nvidia-440Available instances: 6Device API: vfio-pciName: GRID RTX6000-4ADescription: num_heads=1, frl_config=60, framebuffer=4096M, max_resolution=1280x1024, max_instance=6nvidia-441Available instances: 4Device API: vfio-pciName: GRID RTX6000-6ADescription: num_heads=1, frl_config=60, framebuffer=6144M, max_resolution=1280x1024, max_instance=4nvidia-442Available instances: 3Device API: vfio-pciName: GRID RTX6000-8ADescription: num_heads=1, frl_config=60, framebuffer=8192M, max_resolution=1280x1024, max_instance=3nvidia-443Available instances: 2Device API: vfio-pciName: GRID RTX6000-12ADescription: num_heads=1, frl_config=60, framebuffer=12288M, max_resolution=1280x1024, max_instance=2nvidia-444Available instances: 1Device API: vfio-pciName: GRID RTX6000-24ADescription: num_heads=1, frl_config=60, framebuffer=24576M, max_resolution=1280x1024, max_instance=1
root@pve:~#

8.CMP 40HX配置

  • 配置CMP BAR1大小(CMP BAR1内存只有64MB,vGPU虚拟机创建的时候会申请256M,会导致虚拟机无法启动)
root@pve:~# cat /etc/vgpu_unlock/profile_override.toml
# 配置nvidia-259重写文件
[profile.nvidia-259]
# bar1_length为64MB
bar1_length = 0x40
# 开启cuda
cuda_enabled = 1
# 解除帧数限制
frl_enabled = 0
vgpu_type = "NVS"[profile.nvidia-257]
bar1_length = 0x40
cuda_enabled = 1
frl_enabled = 0
vgpu_type = "NVS"# 配置VMID101虚拟机显存大小为1G
[vm.101]
framebuffer = 939524096
framebuffer_reservation = 134217728
root@pve:~#
root@pve:~# qm start 100
swtpm_setup: Not overwriting existing state file.
kvm: -device vfio-pci,sysfsdev=/sys/bus/mdev/devices/00000000-0000-0000-0000-000000000100,id=hostpci0,bus=ich9-pcie-port-1,addr=0x0: vfio 00000000-0000-0000-0000-000000000100: error getting device from group 32: Input/output error
Verify all devices in group 32 are bound to vfio-<bus> or pci-stub and not already in use
stopping swtpm instance (pid 3782) due to QEMU startup errorwaited 10 seconds for mediated device driver finishing clean up
actively clean up mediated device with UUID 00000000-0000-0000-0000-000000000100
start failed: QEMU exited with code 1
root@pve:~#
root@pve:~#
我开启了还是这样
root@pve:~# systemctl status nvidia-vgpu-mgr
● nvidia-vgpu-mgr.service - NVIDIA vGPU Manager DaemonLoaded: loaded (/lib/systemd/system/nvidia-vgpu-mgr.service; enabled; preset: enabled)Drop-In: /etc/systemd/system/nvidia-vgpu-mgr.service.d└─vgpu_unlock.confActive: active (running) since Mon 2025-09-08 06:22:14 CST; 42s agoProcess: 1523 ExecStart=/usr/bin/nvidia-vgpu-mgr (code=exited, status=0/SUCCESS)Main PID: 1524 (nvidia-vgpu-mgr)Tasks: 1 (limit: 154384)Memory: 2.0MCPU: 8msCGroup: /system.slice/nvidia-vgpu-mgr.service└─1524 /usr/bin/nvidia-vgpu-mgrSep 08 06:22:28 pve nvidia-vgpu-mgr[1758]: notice: vmiop_log: (0x0): Virtual Device Id: 0x1e30:0x1437
Sep 08 06:22:28 pve nvidia-vgpu-mgr[1758]: notice: vmiop_log: (0x0): FRL Value: 45 FPS
Sep 08 06:22:28 pve nvidia-vgpu-mgr[1758]: notice: vmiop_log: ######## vGPU Manager Information: ########
Sep 08 06:22:28 pve nvidia-vgpu-mgr[1758]: notice: vmiop_log: Driver Version: 580.82.02
Sep 08 06:22:28 pve nvidia-vgpu-mgr[1758]: error: vmiop_log: (0x0): Guest BAR1 is of invalid length (g: 0x10000000, h: 0x04000000)
Sep 08 06:22:28 pve nvidia-vgpu-mgr[1758]: error: vmiop_log: (0x0): Failed to initialize plugin internal data for inst 0 with error 1 (Invalid BAR1 config)
Sep 08 06:22:28 pve nvidia-vgpu-mgr[1758]: error: vmiop_log: (0x0): Initialization: plugin internal data init failed error 1
Sep 08 06:22:28 pve nvidia-vgpu-mgr[1758]: error: vmiop_log: display_init failed for inst: 0
Sep 08 06:22:28 pve nvidia-vgpu-mgr[1758]: error: vmiop_env_log: (0x0): vmiope_process_configuration: plugin registration error
Sep 08 06:22:28 pve nvidia-vgpu-mgr[1758]: error: vmiop_env_log: (0x0): vmiope_process_configuration failed with 0x1f
root@pve:~#

9.搭建FASTAPI-DLS授权服务器

  • 环境要求:需要安装docker运行环境
  • 参考项目:(fastapi-dls)[https://github.com/starpsp/fastapi-dls]
WORKING_DIR=/opt/docker/fastapi-dls/cert
mkdir -p $WORKING_DIR
cd $WORKING_DIR
# create instance private and public key for singing JWT's
openssl genrsa -out $WORKING_DIR/instance.private.pem 2048 
openssl rsa -in $WORKING_DIR/instance.private.pem -outform PEM -pubout -out $WORKING_DIR/instance.public.pem
# create ssl certificate for integrated webserver (uvicorn) - because clients rely on ssl
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout  $WORKING_DIR/webserver.key -out $WORKING_DIR/webserver.crtdocker volume create dls-db
docker run -e DLS_URL=`hostname -i` -e DLS_PORT=443 -p 443:443 -v $WORKING_DIR:/app/cert -v dls-db:/app/database collinwebdesigns/fastapi-dls:latest

10.创建虚拟机

# 下载vGPU GRID驱动
https://alist.homelabproject.cc/d/foxipan/vGPU/19.1/NVIDIA-GRID-Linux-KVM-580.82.02-580.82.07-581.15.zip
# GRID补丁
https://alist.homelabproject.cc/d/foxipan/vGPU/19.1/Guest_Drivers_Patched/nvxdapix.dll
# FASTAPI-DLS下载授权文件
https://192.168.32.11/-/client-token
# 下载的授权文件放下面目录
C:\Program Files\NVIDIA Corporation\vGPU Licensing\ClientConfigToken
  • 虚拟机创建的配置

image

  • 授权补丁(补丁放置在Display.Driver内)

image

image

  • 驱动情况

image

相关文章:

CMP 40HX在PVE9.0配置vGPU

在PVE9.0下CMP 40HX使用NVIDIA vGPU19.0显卡虚拟化拆分技术 本文参考文章:https://yangwenqing.com/archives/2729/最近看了很多vGPU的文章,心里面痒痒,就想搞一块矿卡来玩玩。在选择方面考虑了P106-100、CMP 30HX 、CMP 40HX,最终选则了CMP 40HX。 如果你需要玩vGPU,百元…...

耶日奈曼:置信区间与假设检验的奠基者

img { display: block; margin-left: auto; margin-right: auto } table { margin-left: auto; margin-right: auto } 在20世纪统计学的发展历程中,耶日奈曼(Jerzy Neyman, 1894–1981)无疑是一位具有里程碑意义的人物。他不仅在理论层面上为数理统计学奠定了严格的推断体系…...

尚硅谷后台管理系统

尚硅谷后台管理系统商品添加业务逻辑添加品牌,是新的数据 请求url中,可以将添加品牌和编辑品牌放在同一个函数中,根据data.id判断是否是新数据<el-uploadclass="avatar-uploader"action="/api/admin/product/fileUpload":show-file-list="false…...

Web语音聊天室中录音无声问题分析与解决方案

问题背景 在开发Web端语音聊天室时,我们使用了声网RTC实现实时语音通信,同时需要在前端实现本地录音功能。在实际应用中,发现偶尔会出现录制的音频文件有时长但没有声音的问题。 问题现象聊天室正常使用声网RTC进行语音通信 前端使用原生JS的MediaRecorder API进行录音 录制…...

25.9.11随笔联考总结

考试 开考通读题面,感觉题目有点难啊。最后还是决定顺序开题。想了 5 min 确定 T1 是暴力容斥于是直接写,感觉要处理的东西不少,写了快半小时写了 3+KB。大样例没过,那我不炸了?唉清空数组的时候有个东西漏了,改了就过了。还真没炸。T2 感觉挺神秘的,我看了一眼会了暴力…...

sites(legal - Gon

杂(去除了一些应被和谐的**g++ new.cpp -o new && ./newtaskkill -f -im studentmain.execode ~/.bashrc alias clock=cd /home/gon_tata/下载/code && ./clock # source ~/.bashrchttps://www.cnblogs.com/zouwangblog/p/11541835.html //theme https://cn…...

vue3 使用 i18n-auto-extractor库 实现国际化

一、安装:npm i i18n-auto-extractor 二、更新国际化:npx i18n-auto-extractor;需要手动更新,会在文件中生成以下文件,也可以手动对文件翻译进行更改三、使用: import { $at } from "i18n-auto-extractor"; $at(nav.meta?.title || "");四、切换: …...

[题解]CF1404B Tree Tag

CF1404B Tree Tag ~ Codeforces 我们发现,若 \(db\le 2\times da\),则说明 Bob 不能跳到 Alice 控制范围的另一侧,只能被 Alice 不断逼近到某个叶子节点,从而输掉。 不过有些情况下,Bob 的最大移动距离不是 \(db\)。因为其移动会受制于树上最长的路径,即直径 \(D\)。 所以…...

20231314许城铭课上测试:Linux命令实践(AI)

ls:列出当前目录的文件和文件夹。 ls -l:以详细格式列出(显示权限、所有者、大小等)。 ls -a:列出所有文件,包括隐藏文件(以 . 开头)。ls -lh:以易读的格式(如 KB、MB)显示文件大小。 ls /home:列出指定目录(如 /home)的内容。 ls -t:按修改时间排序列出。 ls -…...

解决推理能力瓶颈,用因果推理提升LLM智能决策

从ChatGPT到现在的智能体AI这个跨越说明了一个关键转变。ChatGPT本质上是个聊天机器人,生成文本回应;而AI智能体能够自主完成复杂任务——销售、旅行规划、航班预订、找装修师傅、点外卖,这些都在它的能力范围内。 目前我们解决用户任务时,主要是让大语言模型(LLM)做任务…...

reLeetCode 热题 100-3 最长连续序列 - MKT

reLeetCode 热题 100-3 最长连续序列 自己 版本吧1 不合格 class Solution { public:int longestConsecutive(vector<int>& nums) {if (nums.empty()) return 0;//1 数组排序// 2 遍历 i 0-(length(num)-1)// num[i+1]-num[i]==1 创建map 添加到后面// 否则单独创…...

123

测试测试...

pdf在纯html5移动端下不显示

需要使用pdf.js插件 https://github.com/mozilla/pdf.jshtml部分<div class="pdf-container"><div class="viewer"><div class="loading text-center mb-4" id="loading">正在加载PDF文档...</div><div cl…...

面试记录

京东一面 1、leedcode俩个一组反转链表 2、介绍项目实时核算说说有啥技术难点 3、AOP用的多不多 4、反射对jvm的影响? 5、redis为啥很快 6、线程池参数,有一个任务阻塞了,再来一个线程 参数是cool 1 max 2 queue 1 7、mysql 索引 abc 是否走索引 覆盖索引 8、分布式id算法 携程…...

GitHub Copilot 代码评审:用于自动评审的独立存储库规则

GitHub Copilot 代码评审:用于自动评审的独立存储库规则现在可以使用自己的独立存储库规则启用自动 Copilot 代码评审。它今天普遍可供 Copilot 用户使用大家好,欢迎来到程序视点!我是你们的老朋友.小二! 现在可以使用自己的独立存储库规则启用自动 Copilot 代码评审。它今…...

树套树

P3380 【模板】树套树 这里采取的是线段树套平衡树(FHQ) 考虑树套树可以解决类似于在两维区间限制类似操作的问题 把线段树上每个节点维护一颗平衡树,维护的方法也非常简单,发现只要知道root,就能够访问平衡树,非常简单 考虑每个节点会被添加log次,所以平衡树要 nlogn 个…...

复制R包

复制R包点击查看代码for dir in $(ls /upan/project1/library/ ); doecho "$dir"[ ! -d "/root/miniconda3/envs/Rdoc/lib/R/library/$dir" ] && cp -r "$dir" /root/miniconda3/envs/Rdoc/lib/R/library/; done...

【Azure Developer】Java代码实现获取Azure 资源的指标数据却报错 invalid time interval input

问题描述 在使用 Java 代码调用虚拟机(VM)API获取指标数据时,出现时间格式解析错误。 错误信息:{ "code": "BadRequest", "message": "Detected invalid time interval input: 2024-03-13T13:33:05.123 15:00/2024-03-13T13:48:05.…...

小记基环树上的最大独立集

今天又一次碰到了这个问题,上一次是 [ZJOI2008] 骑士,这一次是 城市环路。 记录一下这个问题怎么搞。 我们选择把这个问题转化为在一棵正常的树上边做正常的最大独立集,同时有环上的两个相邻点 \(S,T\) 被规定不能选择相同的。 我们断掉 \(S,T\) 之间这一条边,选择在 \(S,T…...

张量链式法则(上篇):任意维度反向传播公式推导与常见算子解析

本文为常用算子反向传播公式的上篇,介绍了适用于任意张量函数的链式法则公式,使用该公式可以求出诸如reshape,broadcast_to这类会改变张量维度数量的算子的反向传播公式。本文同时给出了求常见算子反向传播公式的通用方法,并以几个简单的算子为例进行了演示。 本系列文章的…...

GAS_Aura-Aura Input Component

1...

CF739C Alyona and towers

比较套路的一个题。 首先你先想 DP 怎么做。 设 \(f_{i, 0/1}\) 表示到了 \(i\) 目前正在上升还是正在下降最长长度是多少,不难发现这个只和相邻两个数的大小关系有关。 发现区间加并不影响区间内相邻大小关系,只影响交界处的关系,所以这是一个单点改。 我们用一个矩阵维护 …...

bitset 相关记录

这里记录有关 \(bitset\) 的一些知识点和实用技巧。 可以引起 \(O(\frac{n}{w})\) 优化的原理和操作:原理:\(bitset\) 内置 \(long long\) 类型数组,每一位是一个 \(bit\)。因此实际操作时,若操作 \(n\) 位,则相当于只是对 \(\frac{n}{64}\) 个 \(longlong\) 类型的数字操…...

大学生开始学习编程

第一篇blog 各位厉害的编程大神们你们好呀! 我现在刚上大二,算法分析与设计老师要求我们开通这个网站的博客,然后在这个论坛学习。在很多帖子我看见很多人悉心请教,也有很多大佬乐于解答,是个氛围很好的社区呢!以后我会偶尔在这个网站上发博客,主要是关于我的近期学习成…...

2025京东方全球创新伙伴大会隆重举行 AI焕新驱动产业质变跃迁

9月11日,以“屏之物联 AI焕新”为主题的京东方全球创新伙伴大会2025(BOE IPC 2025)在北京中关村国际创新中心盛大开幕。作为BOE(京东方)面向全球显示及物联网生态合作伙伴举办的第八届行业盛会,本届IPC大会延续IPC WEEK的形式,呈现了十余场专业论坛以及投资者活动、电竞…...

VMware Workstation 17.5.2 Build 23775571

下载地址:https://www.filehorse.com/download-vmware-workstation/88268/ 激活码:JA09H-4V15H-M80V8-8A8Z4-2U8N4...

编程要求

1 接口写参数(Value1, Value2) 必须第一个参数,后面加一个空格,再写第二个参数 2 入参命名 In_Name,出参命名 Out_Name...

qoj1828 TraveLog

题意 给出一个有向带权图。 有一条 \(1\to n\) 的最短路。给出 \(1\) 到这条最短路上某些点的最短路长度,询问这条最短路是否无解,唯一解,多解,并输出唯一解的方案。 \(n\le 2\times 10^5,m\le 3\times 10^5\)。 思路 首先跑一遍 dij 求出 \(1\to i\) 的最短路长度,记为 \…...

CF827D Best Edge Weight

代码有点史,懒得写了。 你注意到一件事情就是,先随便拎出一棵最小生成树,我们将边分为在这棵树上的边和不在这棵树上的边,那么我们分别考虑。对于树边,考虑所有包含它的非树边最小的那一条就是其上界。 对于非树边,其两个端点之间的树边路径上边权最小的那一条就是其上界…...

基于 YOLOv8 和 Streamlit 搭建视频实时目标跟踪与分割 Web 应用的完整流程

计算机视觉技术的快速发展使得实时目标检测与分割在多个领域得到广泛应用。本文将详细解析如何结合 YOLOv8 算法与 Streamlit 框架,构建一个功能完善的视频实时目标跟踪与分割 Web 应用。通过这个方案,开发者可以快速实现从模型集成到 Web 界面开发的全流程,最终部署一个能够…...

win10休眠失败_自动启动 解决办法

************************************************** *********************** ***************** 每个文章内容都是测试有效的...

新人必看:入职第一个月,如何快速熟悉业务并开始测试?

作为一名刚加入团队的新人测试工程师,面对全新的工作环境、陌生的业务领域和复杂的技术栈,内心既充满期待又不免有些忐忑。如何高效地度过第一个月,快速熟悉业务并开始承担测试任务,是每个新人都在思考的问题。作为一名刚加入团队的新人测试工程师,面对全新的工作环境、陌…...

202210_QQ群_神秘的压缩包

ZIP,CRC碰撞Tags:ZIP,CRC碰撞 0x00. 题目 附件路径:https://pan.baidu.com/s/1GyH7kitkMYywGC9YJeQLJA?pwd=Zmxh#list/path=/CTF附件 附件名称:202210_QQ群_神秘的压缩包.zip 某地网安专责截获疑似攻击者用于传送秘密信息的压缩包,请协助该网安专责进行分析。flag格式为fla…...

人闲的时候

可以在猜盐中大展神威! #include<bits/stdc++.h> #include<windows.h> using namespace std; string fu[100100]={"sbdzb","b","p","m","f","d","t","n","l","g…...

第一周作业

第一周作业1.自我介绍 唐潇情 爱好:听歌 刷视频 2.现状、经验和计划 学习过C语言和Java 掌握的基础不扎实 计划是在课上认真听课,课下复习前面掌握不牢的知识,练习代码 目前不知道未来具体做什么工作,先把专业和基础知识学好,有考研的打算 代码量少,基本没有额外练习 在这…...

C# GC

C# GC...

CCPC 2024 郑州 个人题解

目前完成:A、B、C、J、L、M。 待补:D、E、F、G、I、K。比赛链接QOJ 链接题解完成情况A B C D E F G H I J K L M\(\Box\) \(\Box\) \(\Box\) 待补待补 待补\(\Box\) 待补 \(\Box\) \(\Box\)H 是个论文题。 L. Z-曲线 (Z-order Curve)点击查看题意简述 给定二维 Z 形曲线的一个…...

Pollard Rho 分解质因数

Miller_Rabin 判断素数 如果有 \(a^{p-1} \equiv 1(\bmod p)\) ,\(p\) 大概率为质数。但是人们发现有些合数无法被这个式子判掉。 有一个显然成立的式子: \(x^2 \equiv 1 (\bmod p) \rightarrow x^2-1\equiv 0 \rightarrow (x-1)(x+1) \equiv 0\)​ 当 \(p\) 是质数时,\(x\)…...

智慧消防大数据中心

在现代城市化进程不断加快的背景下,消防安全面临着日益复杂严峻的形势。传统消防模式难以满足大体量、多样化的消防需求。智慧消防大数据中心应运而生,它如同消防领域的 “智慧大脑”,正全方位革新消防工作模式,为生命财产安全筑牢坚实防线。一、建设内容 (一)数据采集层…...

GAS_Aura-Input Config Data Asset

1...

[杂谈] 关于听的音乐

持续更新中,应为开学较忙未能一次整理完。 防止有某些人攻击,叠甲。 以下所有内容仅代表个人观点,没有贬低某歌手或歌曲的意思,如果有不同意见欢迎在评论区讨论,但请保持良好的语言环境。 就是分享一下自己听的音乐吧,虽然Frums的歌手排行中第一是山茶花第二是静屋。 听歌…...

7777

tyyyy...

[豪の学习笔记] 软考中级备考 基础复习#7

基本概念、编译与解释、文法、语法推导树、有限自动机、正规式、表达式、传值与引用、各种程序语言特点跟学视频:学以致知Learning - 软件设计师 基础阶段|考点理论精讲 Chapter 7 - 程序设计语言基础知识 1 - 基本概念 低级语言和高级语言低级语言:通常称机器语言和汇编语言…...

经典面试题目:二叉树遍历

一、 核心定义与性质 二叉树(Binary Tree) 是一种每个节点最多有两个子节点的树形结构。这两个子节点通常被称为左子节点和右子节点。 关键术语:根节点(Root): 树的顶层节点,没有父节点。 叶子节点(Leaf): 没有子节点的节点。 深度(Depth): 从根节点到该节点所经历…...

十、微程序控制器是什么?

目录一言以蔽之一个精妙的比喻:做菜与菜谱核心组成部分(对照比喻)它为什么重要?有什么优点?总结一言以蔽之 微程序控制器是CPU的“灵魂指挥家”,它通过执行预先写好的“微程序”(一套精细的指令步骤)来指挥CPU的各个部件协同工作,从而完成一条条机器指令。一个精妙的比…...

2023CCPC秦皇岛站

define时间:#define itn int #define int long long #define ind long double #define yes cout << "Yes" #define no cout << "No" #define pii pair<long long, long long> #define pci pair<char, int> #define re return;QOJ…...

十一、微程序控制器的组成和工作过程

目录一、微程序控制器的核心思想二、微程序控制器的主要组成部分三、微程序控制器的工作过程(重中之重)四、一个简单的例子一、微程序控制器的核心思想 首先,再次强调其核心思想:将一条机器指令的执行,转化为一段由更简单的“微指令”组成的“微程序”的执行。 这些微程序…...

11

111...

六、数据通路的功能和基本结构

目录1. 数据通路的功能2. 数据通路的基本结构3. 工作流程示例(以加法指令 ADD Rd, Rs, Rt 为例)总结1. 数据通路的功能 数据通路(Data Path) 是中央处理器(CPU)的核心组成部分之一。它的主要功能是为指令的执行提供数字信号(数据、地址)的传输路径和加工场所。 具体来说…...

五、单周期CPU和多周期CPU

目录单周期CPU核心思想工作原理优点缺点多周期CPU核心思想工作原理优点缺点核心差异对比总结与发展计算机组成原理中的两个核心概念:单周期CPU和多周期CPU。 它们是实现CPU控制器的两种经典设计方法,各有其优缺点和设计哲学。单周期CPU 核心思想 单周期CPU的设计理念非常直观…...