1、 设备环境
1.1 硬件环境:
-
• NF5280M5 4路服务器
• NVIDIA Tesla V100
1.2软件环境:
-
• Ubuntu 16.04.5 LTS (GNU/Linux 4.15.0-36-generic x86_64)
• Openstack Queens版本
2、 配置操作系统
2.1 方法及步骤:
(1)BIOS中打开硬件辅助虚拟化功能
VT(VT-x)及VT-d支持,需要将相关支持设置为enable,默认开启
路径:Processor—IIO Configuration—Intel@ VT for Directed I/O(VT-d)
(2)配置intel_iommu=on
执行命令:sudo vi /etc/default/grub
在GRUB_CMDLINE_LINUX_DEFAULT字段添加 intel_iommu=on iommu=pt rd.driver.pre=vfio-pci
在GRUB_CMDLINE_LINUX字段添加 intel_iommu=on iommu=pt rd.driver.pre=vfio-pci
(3)修改内核模块文件/etc/modules
修改内核模块文件/etc/modules,里面列出的模块会在系统启动时自动加载。
执行命令:vi /etc/modules
添加以下内容:
pci_stub
vfio
vfio_iommu_type1
vfio_pci
kvm
kvm_intel
(4)更新grub.cfg文件
执行命令:sudo update-grub 或使用sudo grub-mkconfig -o /boot/grub/grub.cfg
(5)重启操作系统开启 Intel_iommu=on
(6)检查VT-d(AMD芯片时是 IOV)是否工作
执行命令:dmesg | grep IOMMU 或 dmesg | grep -e DMAR -e IOMMU 检查VT-d(AMD芯片时是 IOV)是否工作。若没有相应输出(IOMMU enabled 必须有),需要重新检查之前的步骤。
(7)添加黑名单
添加黑名单,使卡不被占用。
执行命令:sudo vim /etc/modprobe.d/blacklist.conf
最后添加内容:
#NVIDIA config
blacklist snd_hda_intel
blacklist amd76x_edac
blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist nvidiafb
blacklist rivatv
(8)设置vfio并隔离用于直通的GPU
在/etc/modprobe.d下添加文件vfio.conf
执行命令:
cd /etc/modprobe.d
touch vfio.conf (创建文档)(如果出现touch: cannot touch 'vfio.conf': Permission denied 先执行sudo chmod -R 777 /etc/modprobe.d )
文档内写入内容:options vfio-pci ids=10de:1db6 (其中10de:1db6由9得来)
(9)查看pci设备信息
使用命令:lspci -nn | grep NVIDIA
如果不是NVIDIA的显卡,可以换自己显卡的关键字查询。重查询结果上注意查看自己独立显卡(也就是要直通的显卡)的设备ID和地址,形如: [10de 1b80] 和 [10de 10f0], 01.00.0和01.00.1。(Gefore显卡一般会集成一个声卡芯片)
其中GPU设备各值含义:
3b:00.0 和 86:00.0 以 ”bus:slot.func“ 格式来唯一标识一个 PCI 设备
0302 设备模式 0300: Graphics -- 代表为图形模式 0302:Compute -- 则表明为计算模式
10de 厂商识别字段(Vendor ID),10de代表此设备来自NVIDIA公司
1db6 标明特定的设备,由厂商来分配
a1 设备的版本识别代码,其值由厂商提供
(10)查看pci设备驱动
执行命令:lspci -vv -s 3b:00.0 | grep driver
没有输出说明没有驱动.
如果有输出信息如下:
lspci -vv -s 3b:00.0 | grep driver
>Kernel driver in use: nouveau (ubuntu系统为显卡绑定的默认驱动)
lspci -vv -s 01:00.1 | grep driver
>Kernel driver in user: snd_hda_intel (显卡上附带的集成声卡的默认驱动)
(11)将PCI设备相关驱动解绑
如果(10)中出现执行后有输出,需进行设备解绑
执行命令:(每个卡都要解绑)
echo 0000: 3b:00.0 > /sys/bus/pci/devices/0000\:3b\:00.0/driver/unbind
echo 0000:01:00.1 > /sys/bus/pci/devices/0000\:01\:00.1/driver/unbind
(12)将PCI设备绑定到VFIO
引入VFIO 用户态驱动框架,向用户提供配置IOMMU接口,实现PCI设备在虚拟化场景透传。
解绑设备 (命令执行上面11),并绑定到VFIO:
加载VFIO执行命令:
sudo modprobe vfio
sudo modprobe vfio-pci
执行完重启系统,重新启动主机并检查GPU是否在不同的IOMMU组中隔离,以及
正在使用vfio驱动程序.
执行命令检查GPU是否在不同的IOMMU组中隔离:
find /sys/kernel/iommu_groups/*/devices/*
执行命令进行绑定:
echo 10de 1db6 > /sys/bus/pci/drivers/vfio-pci/new_id
查看驱动是否绑定(每个卡都要看一下),执行命令:
lspci -vv -s 3b:00.0 | grep driver
如果出现 Kernel driver in use : vfio-pci 说明绑定成功。
3、 配置openstack
3.1 方法及步骤:
(1)配置nova-scheduler (controller节点),编辑文件 /etc/nova/nova.conf
[scheduler] 没有修改,用的默认
scheduler_driver=nova.scheduler.filter_scheduler.FilterScheduler
[filter_scheduler] 默认有,此处没有修改
available_filters=nova.scheduler.filters.all_filters
available_filters=nova.scheduler.filters.pci_passthrough_filter.PciPassthroughFilter
[DEFAULT]修改此处
scheduler_default_filters=RamFilter,ComputeFilter,AvailabilityZoneFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,PciPassthroughFilter
(2)重启nova-scheduler 服务
执行命令:sudo service nova-scheduler restart
(3)配置nova-api (controller节点),编辑文件 /etc/nova/nova.conf:
[PCI] 添加内容
alias = {"name":"nvidia_v100","product_id":"1db6","vendor_id":"10de","device_type":"type-PCI"}
(4)重启nova-api服务
执行命令:sudo service nova-api restart
(5)配置nova-compute(compute 节点),编辑文件/etc/nova/nova.conf:
[PCI] 添加内容
passthrough_whitelist = { "vendor_id":"10de","product_id":"1db6" }
alias = {"name":"nvidia_v100","product_id":"1db6","vendor_id":"10de","device_type":"type-PCI"}
(6)重启nova-compute服务
执行命令:sudo service nova-compute restart
4、 创建GPU服务器验证绑定
4.1 方法及步骤:
(1)创建主机聚合
(2) 创建Flavor 添加属性
(3) 创建云服务器
执行命令: openstack server create --network vlan-161 --image ecs-ubuntu1604-x64-20181220 --flavor 513dfb0c-132b-4fb9-903a-ffd131cce6d7 test-gpu-1
(4)进入创建的GPU服务器验证挂载
执行命令:lspci -nn | grep NVIDIA
相关推荐
关于可以用于深度学习计算的GPU云服务器的相关配置和价格
GPU云服务器特性详细设计-直通型
kuang,需要的拿去吧
GPU虚拟化、GPU直通、GPU共享的区别.pdf
GPU云服务器在人工智能领域的应用.pdf
运营商在GPU云服务器下云游戏的发展研究.pdf
字符串匹配算法的实现:CPU vs.GPU vs.FPGA.pdf
CUDA.by.Example.An.Introduction.to.General-Purpose.GPU.Programming
桌面云GPU虚拟化与直通技术方案.pptx
桌面云GPU虚拟化与直通技术方案.pdf
GPU显卡驱动 适用于: GeForce RTX2080Ti linux-x86_64 版本: 470.103.01
CUDA编程圣经<CUDA.by.Example.An.Introduction.to.General-Purpose.GPU.Programming>的源代码,
Delve into the Broadcom VideoCore GPU used on the Raspberry Pi and master topics such as OpenGL ES and OpenMAX. Along the way, you’ll also learn some Dispmanx, OpenVG, and GPGPU programming. The ...
Explore GPU-enabled programmable environment for machine learning, scientific applications, and gaming using PuCUDA, PyOpenGL, and Anaconda Accelerate Key Features Understand effective ...
GPU服务器技术要求全文共2页,当前为第1页。GPU服务器技术要求全文共2页,当前为第1页。GPU服务器技术要求 GPU服务器技术要求全文共2页,当前为第1页。 GPU服务器技术要求全文共2页,当前为第1页。 GPU服务器 数量:...
首先,GPU云服务器分为简单深度学习模型和复杂深度学习模型~ 使用GPU云服务器为您的机器学习提供训练或者预测,我们的GPU云服务器带有强大的计算能力,可作为深度学习训练的平台,可直接与外界连接通信。...
5、解压后在 Stree_GPU 目录里,右键以管理员权限运行 stree_GPU.bat 注意观察,如果执行之后屏幕上没有提示错误提示,没有红色的提示,则表示 开始跑起来了,过一会才会有结果,比如会提示有 GPU0:xxxMh/s,这里...
GPU服务器技术要求 GPU服务器配置 "项目 "内容 " "参数要"机箱 " 4U 机架式 " "求 " " " " "CPU "Intel Xeon E5-2620V4,主频 2.1GHz " " " "CPU核心数 18核 缓存 45M Threads 36 " " " "数量 2 " " "内存 " 配置 8...
首先,GPU云服务器分为简单深度学习模型和复杂深度学习模型~ 使用GPU云服务器为您的机器学习提供训练或者预测,我们的GPU云服务器带有强大的计算能力,可作为深度学习训练的平台,可直接与外界连接通信。...
配置GPU常见丢失dll.zip配置GPU常见丢失dll.zip配置GPU常见丢失dll.zip配置GPU常见丢失dll.zip配置GPU常见丢失dll.zip配置GPU常见丢失dll.zip配置GPU常见丢失dll.zip配置GPU常见丢失dll.zip配置GPU常见丢失dll.zip...