工作站虚拟化:RTX A5000的图形工作站实现多用户独立运行Siemens NX 设计软件

news2024/11/18 9:27:43

一、背景

Siemens NX 是由西门子数字工业软件(Siemens Digital Industries Software)开发的一款先进的集成计算机辅助设计(CAD)、计算机辅助制造(CAM)和计算机辅助工程(CAE)软件。它广泛应用于产品设计、工程分析和制造等领域。NX 的前身是 Unigraphics,是业界知名的三维设计和仿真软件。

公司设计部需要使用大型的CAD/CAM软件进行设计。运行 Siemens NX 、ZWCAD、Solidworks等大型设计软件。

高端的工作站配置了 i9 13900KF 和 NVIDIA RTX A5000显卡。终端的工作站,配置了 A2000的显卡。 还有一些相对老旧的工作站配置 Q2000/Q2200 的显卡。 实际工作中,设计师的工作是分阶段的。 有些设计任务需要高端的工作站,另一些任务,使用中低端的工作站也能胜任。

这些图形工作站的使用存在如下一些问题:

1、资源利用率低。 比如将最高配置的工作站分配给某些员工,并不能充分发挥设备的作用。设备的实际利用率很低。其他员工如果临时需要高性能的机器,很难进行资源的调配。

2、信息安全问题。 设计图纸是企业的关键核心资产。图纸的丢失和泄密,会给企业造成巨大的损失。直接让员工使用图形工作站,面临泄密和数据丢失的风险。

3、远程设计需求。公司希望员工离开办公室,也能进行远程设计。比如回家、出差时,也能进行设计。另外,设计图纸可能需要提供给供应商,或者提供给客户进行评审或者联合设计。 如果在本地工作站运行CAD/CAM 无法满足远程设计的业务需求。

二、工作站虚拟化介绍

ShareStation工作站虚拟化是利用最新的GPU虚拟化技术,让用户通过客户端连接工作站,实现多个用户共享使用图形工作站。满足远程设计需求和信息安全需求。

我们选择一台高配的工作站进行虚拟化改造。工作站配置如下:

CPU:intel i9:13900KF
内存:64G
显卡1:nvidia RTXA5000-24G
显卡2:A2000
硬盘:1TB NVME

上述工作站的成本接近3万元。

工作站虚拟化的软件系统采用 企业级 开源虚拟化平台 Proxmox VE 和 多平台、分布式、一体化的云桌面软件系统 DoraCloud 。

三、硬件安装和BIOS配置

为了正常启用显卡的虚拟化功能,硬件安装有如下要点:

1、A5000显卡不能接显示器。  A5000用作虚拟化显卡,不能用于输出,因此不能接显示器。这时需要有另一个显卡接显示器。

2、BIOS 开启 SR-IOV(也叫 VT-D),开启 Above 4G MMIO BIOS Assignment

四、工作站虚拟化的软件安装

1、安装Proxmox VE 7.x

安装Proxmox VE 7.x 参考 我之前的文章。《https://www.cnblogs.com/doracloud/p/17203221.html》

2、安装和配置NVIDIA GRID vGPU

RTX A5000 GPU有多种工作模式。默认情况下是支持显示输出的。为了启用vGPU,需要关闭显示输出功能。 使用 displaymodeselector 工具,可以对显卡进行配置。displaymodeselector的使用方法,也参见上面的文章。

如果 A5000 已经接了显示器,并且作为工作站的默认显示输出,此时再修改显示A5000的工作模式,就会工作站无法点亮显示器,无法正常进入本地操作。因此前面提到的硬件准备时,必须要有另外的显卡(独立显卡或者集成显卡)作为工作站的默认显示输出。

安装 NVIDIA的vGPU驱动,可以使用这个脚本。  https://gitee.com/deskpool/proxmox-vgpu

该命令的使用方法如下:

登陆 Proxmox VE的命令。 gpu01.sh 更新Proxmox VE的源。 gpu02.sh 启用 IOMMU。

apt install git-core -y
git clone https://gitee.com/deskpool/proxmox-vgpu
./proxmox-vgpu/nvidia/gpu01.sh
./proxmox-vgpu/nvidia/gpu02.sh

 Proxmox VE 系统会重启,重启后,先检查 IOMMU是否启用。

root@pvehost:~# dmesg |grep IOMMU
[    0.046588] DMAR: IOMMU enabled

 然后执行gpu03.sh,安装 grid 16.4的驱动。

./proxmox-vgpu/nvidia/gpu03.sh

 Proxmox VE 系统再次重启后,进入 Proxmox VE,通过 nvidia-smi 命令验证,可以看到显卡驱动已经安装。

root@pvehost:~# nvidia-smi
Fri May 24 16:20:22 2024       
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.161.05             Driver Version: 535.161.05   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 RTX A5000               On  | 00000000:01:00.0 Off |                    0 |
| 30%   46C    P8              29W / 230W |  22272MiB / 23028MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
|   1  NVIDIA RTX A2000 12GB          On  | 00000000:04:00.0 Off |                    0 |
| 30%   42C    P8              12W /  70W |      0MiB / 11514MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
                                                                                         
+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A    657157    C+G   vgpu                                       7424MiB |
|    0   N/A  N/A    657163    C+G   vgpu                                       7424MiB |
|    0   N/A  N/A    657623    C+G   vgpu                                       7424MiB |
+---------------------------------------------------------------------------------------+

接下来,你输入  mdevctl ,查看 vGPU 类型(vGPU Profile),如果是 Ampere架构之前的显卡,此时已经能够工作。 但是对Ampere架构的A5000显卡,还需要一步,通过命令开启SR-IOV。通过命令 sriov-manage -e 启用SR-IOV。比如笔者的显卡地址为  01:00.0,命令如下:

/usr/lib/nvidia/sriov-manage -e 0000:01:00.0


执行该命令之后,mdevctl types 命令可以输出 vGPU的类型,即表明vGPU 驱动已经配置成功。启用 SR-IOV 的命令在系统重启后,将失效。 因此需要创建一个 后台服务,在系统每次启动时,自动启用显卡的 SR-IOV。 脚本如下:

​
cat >/etc/systemd/system/sriov.service <<EOF
[Unit]
Description=Script to enable SR-IOV on boot

[Service]
Type=simple
#start SR-IOV
ExecStart=/usr/lib/nvidia/sriov-manage -e 0000:01:00.0
Restart=on-failure

[Install]
WantedBy=multi-user.target


EOF

systemctl daemon-reload

systemctl enable sriov.service

systemctl start sriov.service
​

然后重启服务器,如果可以通过 mdevctl types 查看到 vGPU的类型,即表明服务器配置好了vGPU。

 
​



root@pvehost:~# mdevctl types |more
0000:01:00.4
  nvidia-657
    Available instances: 0
    Device API: vfio-pci
    Name: NVIDIA RTXA5000-1B
    Description: num_heads=4, frl_config=45, framebuffer=1024M, max_resolution=5120x2880, max_instance=24
  nvidia-658
    Available instances: 0
    Device API: vfio-pci
    Name: NVIDIA RTXA5000-2B
    Description: num_heads=4, frl_config=45, framebuffer=2048M, max_resolution=5120x2880, max_instance=12
  nvidia-659
    Available instances: 0
    Device API: vfio-pci
    Name: NVIDIA RTXA5000-1Q
    Description: num_heads=4, frl_config=60, framebuffer=1024M, max_resolution=5120x2880, max_instance=24
  nvidia-660
    Available instances: 0
    Device API: vfio-pci
    Name: NVIDIA RTXA5000-2Q
    Description: num_heads=4, frl_config=60, framebuffer=2048M, max_resolution=7680x4320, max_instance=12
  nvidia-661
    Available instances: 0
    Device API: vfio-pci
    Name: NVIDIA RTXA5000-3Q
    Description: num_heads=4, frl_config=60, framebuffer=3072M, max_resolution=7680x4320, max_instance=8
  nvidia-662
    Available instances: 0
    Device API: vfio-pci
    Name: NVIDIA RTXA5000-4Q
    Description: num_heads=4, frl_config=60, framebuffer=4096M, max_resolution=7680x4320, max_instance=6
  nvidia-663
    Available instances: 0
    Device API: vfio-pci
    Name: NVIDIA RTXA5000-6Q
    Description: num_heads=4, frl_config=60, framebuffer=6144M, max_resolution=7680x4320, max_instance=4
....................................
....................................
​

3、安装和配置 DoraCloud 

DoraCloud for Proxmox VE的安装配置教程很多。可以参考官网的文档。
ShareStation工作站虚拟化部署

4、安装 CAD 软件

通过编辑DoraCloud桌面模板,安装  NX 软件,以及常用的办公软件。 

为了达到更好的视觉效果,在模板中安装朵拉云桌面协议 DDP Server。

模板制作完毕后,创建桌面池,把桌面池的vGPU类型设置成 8Q,这样工作站可以虚拟出三台 显存配置为8G的虚拟桌面。  桌面池协议可以选择 RDP 或者 DDP。

 根据桌面池,发放了3个桌面,每个桌面具有 8G 的显存。 

 五、应用测试 和 效果

可以通过多种客户端访问虚拟工作站。

1、DoraClient 应用程序。 包括 Windows 版本 和 Linux 版本。

2、朵拉云科技的云终端产品,比如 JC36云终端 、DC20 云终端。

3、x86 机器,安装 DoraOS 瘦客户机软件,改造成云终端。 

为了达到最佳效果,推荐采用支持 DDP 协议的云终端访问 DoraCloud。 目前只有 DoraOS 或者 x86 的云终端支持DDP 协议。

下图为云终端连接虚拟工作在的效果,桌面上运行了 Siemens PLM Software NX,以及中望CAD 2021 。

采用基于DoraCloud的工作站虚拟化方案 ,可以将图形工作站的专业显卡进行灵活的切分。 比如进行复杂项目时,一台工作站可以划分为3份,人均配置8G显存,满足大型应用的需求。进行一些简单的项目时,工作站可以切分为8份,人均配置3G显存,满足团队多个成员的设计需求。 既避免了资源的浪费,也解决了低端工作站性能不足的问题。

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

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

相关文章

Linux:Ubuntu修改root密码

Linux&#xff1a;Ubuntu修改root密码 修改默认grub配置文件 rootshanxin:~# vim /etc/default/grub# 主要修改内容如下&#xff1a;GRUB_DEFAULT0 #GRUB_TIMEOUT_STYLEhidden 注释这一行 GRUB_TIMEOUT5 # 将这一行的时间改为5秒进行开启启动的grub文件的复写 rootshanxin:~…

618精选编程书单推荐:优质知识提升你的代码力

前言 在这个快速发展的技术时代&#xff0c;不断学习和提升自己的编程技能是每位程序员的必修课。今天&#xff0c;我为大家精心挑选了一系列编程技术书籍&#xff0c;它们将是你技术成长道路上的宝贵财富。 文章目录 前言编程之路&#xff1a;为何阅读书籍是不可或缺的书籍的…

vue连接mqtt实现收发消息组件超级详细

基本概念&#xff1a; MQTT&#xff08;Message Queuing Telemetry Transport&#xff09;是一种基于发布/订阅模式的轻量级消息传输协议&#xff0c;专为低带宽、高延迟或不稳定的网络环境设计。以下是MQTT实现收发消息的基本原理&#xff1a; 客户端-服务器模型&#xff1a…

清华团队推出免费AI服务:与人类偏好对齐的大型语言模型

在人工智能领域&#xff0c;大型语言模型&#xff08;LLMs&#xff09;的迅猛发展极大地推动了机器在语言理解和生成方面的能力。然而&#xff0c;如何让这些模型更好地与人类偏好和价值观对齐&#xff0c;成为了一个重要而紧迫的课题。为此清华团队推出一项免费服务ChatGLM-RL…

EI会议的最佳论文奖是什么?如何申请?

EI会议的最佳论文奖通常是指在EI&#xff08;工程索引&#xff0c;Engineering Index&#xff09;收录的学术会议中&#xff0c;评选出的表现最优秀的论文奖项。以下是关于该奖项的一些基本信息及申请步骤&#xff1a; 最佳论文奖的含义 评选标准&#xff1a;最佳论文奖通常基…

Java-常见面试题收集(十六)

二十五 RocketMQ 1 消息队列介绍 消息队列&#xff0c;简称 MQ&#xff08;Message Queue&#xff09;&#xff0c;它其实就指消息中间件&#xff0c;当前业界比较流行的开源消息中间件包括&#xff1a;RabbitMQ、RocketMQ、Kafka。&#xff08;一个使用队列来通信的组件&…

【论文笔记】| 蛋白质大模型ProLLaMA

【论文笔记】| 蛋白质大模型ProLLaMA ProLLaMA: A Protein Large Language Model for Multi-Task Protein Language Processing Peking University Theme: Domain Specific LLM Main work&#xff1a; 当前 ProLLM 的固有局限性&#xff1a;&#xff08;i&#xff09;缺乏自然…

【竞技宝】欧洲杯:吉鲁退出法国队,欧洲杯后主动让贤

吉鲁是法国队功勋中锋&#xff0c;为球队立下过赫赫战功。法国队能在2018年拿到久违的世界杯冠军&#xff0c;吉鲁身为主力锋霸功不可没。每当&#xff0c;法国队在比赛中遇到僵局&#xff0c;吉鲁总会站出来&#xff0c;为球队做出应有的贡献。吉鲁在法国队的作用不仅仅体现在…

CPU进入内核,是什么意思?

知乎上有一个问题&#xff1a; 进入内核态究竟是什么意思&#xff1f; 暂且忘记这个问题&#xff0c;让我们从另一个问题出发&#xff0c;一步步引出这个问题的答案。 特权指令问题 现代计算机里面&#xff0c;同时运行了很多程序&#xff0c;比如Office软件、浏览器、QQ、还…

好书推荐|MATLAB科技绘图与数据分析

提升你的数据洞察力&#xff0c;用于精确绘图和分析的高级MATLAB技术 MATLAB科技绘图与数据分析——jd 本书内容 《MATLAB科技绘图与数据分析》结合作者多年的数据分析与科研绘图经验&#xff0c;详细讲解MATLAB在科技图表制作与数据分析中的使用方法与技巧。全书分为3部分&a…

Jetbrains插件AI Assistant,终于用上了

ai assistant激活成功后&#xff0c;如图 ai assistant获取&#xff1a;https://web.52shizhan.cn/activity/ai-assistant 主要功能如下

springboot集成达梦数据库8

springboot集成达梦数据库8 官方文档&#xff1a;[https://eco.dameng.com/document/dm/zh-cn/start/java-development.html](https://eco.dameng.com/document/dm/zh-cn/start/java-development.html) 引入maven依赖 <!--添加数据库驱动安装包--> <dependency> …

基于Matlab卷积神经网络(CNN)人脸识别系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景与意义 人脸识别技术作为计算机视觉领域的一个重要分支&#xff0c;已经广泛应用于安全监控、身份验证…

提供一个c# winform的多语言框架源码,采用json格式作为语言包,使用简单易于管理加载且不卡UI,支持“语言分级”管理

提供一个c# winform的多语言框架源码&#xff0c;采用json格式作为语言包&#xff0c;不使用resx资源&#xff0c;当然本质一样的&#xff0c;你也可以改为resx 一、先看下测试界面 演示了基本的功能&#xff1a;切换语言&#xff0c;如何加载语言&#xff0c;如何分级加载语…

Debezium+Kafka:Oracle 11g 数据实时同步至 DolphinDB 解决方案

随着越来越多用户使用 DolphinDB&#xff0c;各式各样的应用场景对 DolphinDB 的数据接入提出了不同的要求。部分用户需要将 Oracle 11g 的数据实时同步到 DolphinDB 中来&#xff0c;以满足在 DolphinDB 中实时使用数据的需求。本篇教程将介绍使用 Debezium 来实时捕获和发布 …

网络层协议——IP协议

1. 网络层 在学习TCP时&#xff0c;我们学习了TCP保证的是能将一个数据可靠的传输到另一个主机上。主要是数据的可靠传输。而网络层和数据链路层则是帮助我们如何将数据传输到另一台主机上。 我们在应用层给对方发数据时&#xff0c;数据并不是直接传输给对方的&#xff0c;而…

如何应对EI会议中的突发情况?

在参加EI会议时&#xff0c;难免会遇到一些突发情况&#xff0c;以下是几种常见的突发情况及应对策略&#xff1a; 突发情况及应对策略 1. 技术故障 投影设备故障&#xff1a;提前将演示文稿上传到会议主办方指定的平台&#xff0c;或带上多个版本&#xff08;如USB驱动器和云…

网络采集受限?如何解决指纹识别、IP封禁、验证码、账号多登等问题

网页采集是什么 网页采集&#xff0c;也常被称作网络采集、网络数据抓取&#xff0c;是一种通过自动化工具从网站上获取信息的技术。这些技术通过访问网页&#xff0c;解析页面上的内容&#xff0c;并提取出有价值的数据&#xff0c;如文本、图片、链接等。 网页采集通常用于…

大学计算机专业必看:大学编程相关的比赛或者证书,真正有用的是哪些?

前言 大学期间&#xff0c;会有各种各样的编程赛事&#xff0c;但是你知道真正对自己未来就业有帮助的比赛证书有帮助的是哪些吗&#xff1f; 有些小伙伴来面试时&#xff0c;会咔咔亮出一大堆的证&#xff0c;看起来挺唬人。 但真的有含金量吗&#xff1f;真的能为你的简历增…

A2B V2.0协议学习笔记(非正式版本)

一、说明 A2B全称是 Automotive Audio Bus 汽车音频总线,主要是解决传统音频总线线多、线重、成本贵等问题。 A2B V2.0总线相对V1.0主要变化点: 速率提升,高达98.304Mbps,全双工模式 编码方式,由之前的曼彻斯特编码变为QPSK(正交相移键控)编码,每个符合2bit数据,因此…