Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build AMD MxGPU and package them #200

Open
olivierlambert opened this issue Jun 17, 2019 · 46 comments
Open

Build AMD MxGPU and package them #200

olivierlambert opened this issue Jun 17, 2019 · 46 comments
Assignees

Comments

@olivierlambert
Copy link
Member

https://github.com/GPUOpen-LibrariesAndSDKs/MxGPU-Virtualization

AMD already build some RPMs for XS, and the package is free, but it seems it's only built for 4.4 kernel (see mxgpu-4.4.0+10-modules-1.0.5.amd-1.x86_64.rpm)

So we should be able to package that ourselves.

@stormi stormi self-assigned this Jun 17, 2019
@stormi stormi added this to the XCP-ng 8.0 milestone Jun 17, 2019
@stormi stormi added this to To Do in Team board via automation Jun 17, 2019
@stormi
Copy link
Member

stormi commented Jun 19, 2019

I can't find the source RPM so I'll have to try to build things manually from that github repo and see if it matches the contents of the RPM.

@olivierlambert
Copy link
Member Author

The RPM is not in Citrix ISO but on AMD website, in the driver page, you'll have a "XenServer driver download". You can find the RPMs in there.

@stormi
Copy link
Member

stormi commented Jun 19, 2019

I had found it but there is no source RPM, only the binary one.

@olivierlambert
Copy link
Member Author

Indeed, no SRPM. Maybe there's one for KVM.

@armouredking
Copy link

Was able to manually build the Github repo on XCP-ng with current kernel in v8 and load the gim module. I get the proper lspci output with the card showing all the virtual interfaces on PCI. But the control interfaces don't seem to know how to use it? I can't attach the GPUs to the VM in XOA or in Center, it just tells me I can passthrough the entire card but not the virtual adapters (Virtual GPU type in Center is just "Passthrough whole GPU").

@stormi stormi removed this from the XCP-ng 8.0 milestone Sep 4, 2019
@stormi
Copy link
Member

stormi commented Dec 2, 2019

@armouredking sorry for late answer. I haven't had the opportunity to test myself yet so I don't know what to expect.

@stormi
Copy link
Member

stormi commented Dec 2, 2019

Bookmark for myself: latest officially built MxGPU GIM (for XS >= 7.4 and < 8 ): https://www.amd.com/en/support/kb/release-notes/rn-pro-mxgpu-gim-1-05

@stormi
Copy link
Member

stormi commented Dec 2, 2019

@armouredking did you follow the deployment guide from the page linked above?

@stormi
Copy link
Member

stormi commented Dec 2, 2019

The mxgpu RPM that AMD distributed for XS 7.4+ contains more than what the github repository has:

.
|-- etc
|   |-- gim_config
|   `-- mxgpu-whitelist
|-- lib
|   `-- modules
|       `-- 4.4.0+10
|           `-- updates
|               |-- gim-api.ko
|               `-- gim.ko
`-- opt
    `-- xensource
        `-- bin
            `-- gimtool

Two configuration files, a tool named gimtool (with no headers saying what the license is, though the RPM License tag is GPLv2 so we can consider it's free).

I don't know what gim-api.ko is.

In https://github.com/GPUOpen-LibrariesAndSDKs/MxGPU-Virtualization master builds fine with our kernel in XCP-ng 8.0, but this pull request may improve the compatibility. I'm not able to evaluate it and haven't the hardware to test. Edit: actually the pull request seems not necessary anymore. The code since this commit takes kernel >= 4.14 into account. There's an open pull request for kernel >= 5 though, but we aren't there yet.

@stormi stormi moved this from To Do to Standby in Team board Dec 4, 2019
@stormi stormi moved this from Standby to To Do in Team board Dec 4, 2019
@Arvee42
Copy link

Arvee42 commented Dec 4, 2019

Confirmed. Can compile the github drivers on XCP-NG 8.0. Modprobe seems happy but can only pass through the GPU on an S7150x2. Had to yum install gcc git and kernel-devel to allow the gim.sh script to run.

@Arvee42
Copy link

Arvee42 commented Dec 5, 2019

Compared lspci output from 8.0 and 7.6. 7.6 shows a lot more GPU devices versus only 2 "Tonga XT GL" GPUs on 8.0.

Dunno if that helps.

@Arvee42
Copy link

Arvee42 commented Feb 20, 2020

Made some progress in 8.0. I now have the GUI showing 16 slices per GPU and they can be assigned to a VM. Upon starting the VM if fails with Failure "Call to gimtool failed". Gimtool is a python script so perhaps that wouldn't be too bad to modify if i knew what was wrong or how it is supposed to work.

/var/log/xensource shows the gimtool command that was called. Entering that command into the command line yields a bit more descriptive error:

INFO 2020-02-20 13:43:37,955 Calling PF reconfigure on 23:00.00 to 16 VFs with 480 FB size
Traceback (most recent call last):
File "/opt/xensource/bin/gimtool", line 93, in
main(sys.argv[1:])
File "/opt/xensource/bin/gimtool", line 86, in main
ret = fcntl.ioctl(gim_fd, RECONFIGURE_PF, gim_ioctl_reconfig_pf)
IOError: [Errno 25] Inappropriate ioctl for device

What i did to get where I am now was: (paraphrased)

Install XCP-NG 8.0 from disc.
Enable centos base repo in /etc/yum.repos.d/CentOS-Base.repo
yum install gcc git kernel-devel
git clone https://github.com/GPUOpen-LibrariesAndSDKs/MxGPU-Virtualization/
change to MxGPU-Virtualization directory
./gim.sh

edit /etc/gim_config

fb_option=0
sched_option=0
vf_num=0
pf_fb=0
vf_fb=0
sched_interval=7
sched_interval_us=0
fb_clear=1
meout=100
max_quanta=1000
self_switch=500
exclusive=1600
fair_scheduling=0
debug_level=3
clear_fb_on_flr=0
clear_fb_on_free_vf=1

edit (add) /etc/mxgpu-whitelist (this changes the GPU GUI thing from passthrough to shareable for lack of a better explanation)

6929 experimental=0 name='MxGPU.1' framebuffer_sz=7904 vgpus_per_pgpu=1
6929 experimental=0 name='MxGPU.2' framebuffer_sz=3952 vgpus_per_pgpu=2
6929 experimental=0 name='MxGPU.4' framebuffer_sz=1968 vgpus_per_pgpu=4
6929 experimental=0 name='MxGPU.8' framebuffer_sz=976 vgpus_per_pgpu=8
6929 experimental=0 name='MxGPU.10' framebuffer_sz=784 vgpus_per_pgpu=10
6929 experimental=0 name='MxGPU.16' framebuffer_sz=480 vgpus_per_pgpu=16

add /etc/modules-load.d/gim.conf (load gim at boot)

gim

Copy gimtool from working 7.6 server to /opt/xensource/bin/

@stormi
Copy link
Member

stormi commented Feb 21, 2020

Thanks, keep us posted! Next I'd try to understand where that "Inappropriate ioctl for device" comes from (related to the RECONFIGURE_PF ioctl if I understand correctly).

@sotiris-bos
Copy link

INFO 2020-02-20 13:43:37,955 Calling PF reconfigure on 23:00.00 to 16 VFs with 480 FB size
Traceback (most recent call last):
File "/opt/xensource/bin/gimtool", line 93, in
main(sys.argv[1:])
File "/opt/xensource/bin/gimtool", line 86, in main
ret = fcntl.ioctl(gim_fd, RECONFIGURE_PF, gim_ioctl_reconfig_pf)
IOError: [Errno 25] Inappropriate ioctl for device

Hello! Any progress on this? Did you try to patch the kernel as in
https://github.com/GPUOpen-LibrariesAndSDKs/MxGPU-Virtualization/blob/master/patch/0002-add-pci-io-access-cap-for-ubuntu-4.4.0-75-generic.diff

? (Line 8).

@Arvee42
Copy link

Arvee42 commented Apr 28, 2020

I don't believe I ran that patch. It is all getting a bit beyond my skills. I also had to put the test box into production as a VMware box for now due to the pandemic.

Hopefully after things get close to normal I can return to this.

@sotiris-bos
Copy link

OK thanks! Please do update if you happen to try it again!

@jcdick1
Copy link

jcdick1 commented Jun 19, 2020

What would be a good way to DM someone regarding this?

@jcdick1
Copy link

jcdick1 commented Jun 24, 2020

I'm not a developer by any means, so if there's someone who can work with me on the nuts and bolts, I have a fresh 8.1 install with a Radeon Pro W5500 that can be used for getting mxgpu working.

@dynodix
Copy link

dynodix commented Jul 26, 2020

AMD has released a new iso with xenserver 8.1 compatibility found on a following link:

https://www.amd.com/en/support/professional-graphics/firepro/firepro-s-series/firepro-s7150-x2

Just testing

@dynodix
Copy link

dynodix commented Jul 26, 2020

Eny hint on how to deal with gim 0000:07:00.0: not enough MMIO resources for SR-IOV
`

dmesg | grep gim

[ 9.176818] gim_api: loading out-of-tree module taints kernel.
[ 9.180943] gim: module license 'Proprietary' taints kernel.
[ 9.189926] gim info:(gim_init:197) *******AMD GIM init
[ 9.189930] gim info:(print_gim_version:62) GPU IOV MODULE (GIM) - version 2.00.0000
[ 9.189931] gim info:(gim_init:200) Copyright (c) 2014-2016 AMD Corporation.
[ 9.190150] gim error:(gim_probe:123) gim_probe(07:00.0)
[ 12.520642] gim 0000:07:00.0: not enough MMIO resources for SR-IOV
[ 12.520669] gim error:(EnableSriov:410) Fail to enable sriov, status = fffffff4
[ 12.520677] gim error:(SetNewAdapter:1263) Failed to properly enable SRIOV(map_image) !!!!
[ 12.633285] gim error:(gim_probe:126) Failed to create new adapter
[ 12.633306] gim: probe of 0000:07:00.0 failed with error -1
[ 12.633322] gim error:(gim_probe:123) gim_probe(09:00.0)
[ 15.892534] gim 0000:09:00.0: not enough MMIO resources for SR-IOV
[ 15.892548] gim error:(EnableSriov:410) Fail to enable sriov, status = fffffff4
[ 15.892556] gim error:(SetNewAdapter:1263) Failed to properly enable SRIOV(map_image) !!!!
[ 16.004496] gim error:(gim_probe:126) Failed to create new adapter
[ 16.004517] gim: probe of 0000:09:00.0 failed with error -1
`

@sotiris-bos
Copy link

sotiris-bos commented Jul 26, 2020

Eny hint on how to deal with gim 0000:07:00.0: not enough MMIO resources for SR-IOV
`

dmesg | grep gim

[ 9.176818] gim_api: loading out-of-tree module taints kernel.
[ 9.180943] gim: module license 'Proprietary' taints kernel.
[ 9.189926] gim info:(gim_init:197) *******AMD GIM init
[ 9.189930] gim info:(print_gim_version:62) GPU IOV MODULE (GIM) - version 2.00.0000
[ 9.189931] gim info:(gim_init:200) Copyright (c) 2014-2016 AMD Corporation.
[ 9.190150] gim error:(gim_probe:123) gim_probe(07:00.0)
[ 12.520642] gim 0000:07:00.0: not enough MMIO resources for SR-IOV
[ 12.520669] gim error:(EnableSriov:410) Fail to enable sriov, status = fffffff4
[ 12.520677] gim error:(SetNewAdapter:1263) Failed to properly enable SRIOV(map_image) !!!!
[ 12.633285] gim error:(gim_probe:126) Failed to create new adapter
[ 12.633306] gim: probe of 0000:07:00.0 failed with error -1
[ 12.633322] gim error:(gim_probe:123) gim_probe(09:00.0)
[ 15.892534] gim 0000:09:00.0: not enough MMIO resources for SR-IOV
[ 15.892548] gim error:(EnableSriov:410) Fail to enable sriov, status = fffffff4
[ 15.892556] gim error:(SetNewAdapter:1263) Failed to properly enable SRIOV(map_image) !!!!
[ 16.004496] gim error:(gim_probe:126) Failed to create new adapter
[ 16.004517] gim: probe of 0000:09:00.0 failed with error -1
`

https://support.citrix.com/article/CTX250121 ?
I suppose you have SR-IOV enabled on the motherboard and OS, correct?

@dynodix
Copy link

dynodix commented Jul 26, 2020

Modifying BIOS: (This is a WS460 Gen 8 BLADE with Expansion) SR_IOV was enabled had to enable Additional params.

lspci | grep VGA
01:00.1 VGA compatible controller: Matrox Electronics Systems Ltd. MGA G200EH 07:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XT GL [FirePro S7150] 07:02.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V] 07:02.1 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V] 07:02.2 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V] 07:02.3 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V] 07:02.4 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V] 07:02.5 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V] 07:02.6 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V] 07:02.7 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V] 07:03.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V] 07:03.1 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V] 07:03.2 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V] 07:03.3 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V] 07:03.4 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V] 07:03.5 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V] 07:03.6 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V] 07:03.7 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V] 09:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XT GL [FirePro S7150] 09:02.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V] 09:02.1 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V] 09:02.2 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V] 09:02.3 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V] 09:02.4 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V] 09:02.5 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V] 09:02.6 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V] 09:02.7 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V] 09:03.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V] 09:03.1 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V] 09:03.2 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V] 09:03.3 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V] 09:03.4 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V] 09:03.5 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V] 09:03.6 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V] 09:03.7 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V]

@dynodix
Copy link

dynodix commented Jul 27, 2020

The card is visible shareable, configurable, but cannot configure it with drivers, the drivers fail to load, trying to get rid of:
`dmesg | grep gim
[ 7.608797] gim_api: loading out-of-tree module taints kernel.
[ 7.612106] gim: module license 'Proprietary' taints kernel.
[ 7.620859] gim info:(gim_init:197) *******AMD GIM init
[ 7.620863] gim info:(print_gim_version:62) GPU IOV MODULE (GIM) - version 2.00.0000
[ 7.620866] gim info:(gim_init:200) Copyright (c) 2014-2016 AMD Corporation.
[ 7.621069] gim error:(gim_probe:123) gim_probe(07:00.0)
[ 11.099027] gim error:(gim_probe:123) gim_probe(09:00.0)

`
gim_probe fails

@rushikeshjadhav
Copy link

rushikeshjadhav commented Jul 29, 2020

Posting some intermediate results and error that I see.
XCP-NG 8.1 with AMD provided CH8.1 drivers

# lspci | grep VGA
01:00.1 VGA compatible controller: Matrox Electronics Systems Ltd. MGA G200EH
26:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Device 7341

# lsmod | grep gim
gim                  1351680  0 
gim_api                20480  1 gim

# cat /etc/mxgpu-whitelist 
6929 experimental=0 name='MxGPU.1' framebuffer_sz=7904 vgpus_per_pgpu=1
6929 experimental=0 name='MxGPU.2' framebuffer_sz=3952 vgpus_per_pgpu=2
6929 experimental=0 name='MxGPU.4' framebuffer_sz=1968 vgpus_per_pgpu=4
6929 experimental=0 name='MxGPU.8' framebuffer_sz=976 vgpus_per_pgpu=8
6929 experimental=0 name='MxGPU.10' framebuffer_sz=784 vgpus_per_pgpu=10
6929 experimental=0 name='MxGPU.16' framebuffer_sz=480 vgpus_per_pgpu=16

# cat /etc/gim_config 
fb_option=0
sched_option=0
vf_num=0
pf_fb=0
vf_fb=0
sched_interval=7
fb_clear=1
hang_detect_timeout=100
max_quanta=1000
self_switch=500
exclusive=1600
fair_scheduling=0
debug_level=3
clear_fb_on_flr=0
clear_fb_on_free_vf=1

# xe pgpu-list uuid=640ff2bd-effc-4833-9f1b-bc7f4805aadd 
uuid ( RO)              : 640ff2bd-effc-4833-9f1b-bc7f4805aadd
       vendor-name ( RO): Advanced Micro Devices, Inc. [AMD/ATI]
       device-name ( RO): Device 7341
    gpu-group-uuid ( RW): 36e2c2d1-27df-7c45-edc0-cfd3a34672b4

# xe pgpu-param-get uuid=640ff2bd-effc-4833-9f1b-bc7f4805aadd param-name=pci-id 
0000:26:00.0

# gimtool --bdf 0000:26:00.0 --num_vfs 4 --vf_fb_size 1968 
INFO 2020-07-29 00:53:39,551 Calling PF reconfigure on 26:00.00 to 4 VFs with 1968 FB size
INFO 2020-07-29 00:53:39,552 PF reconfigure complete

# dmesg | tail
[ 3620.781888]        gim error:(BdfToAdapter:184) WARNING: bdf 0x2600 cannot be found on any adapter
[ 3620.781929]        gim error:(gim_ioctl:428) Invalid BDF

XCP-NG 8.1 with https://github.com/GPUOpen-LibrariesAndSDKs/MxGPU-Virtualization

# gimtool --bdf 0000:26:00.0 --num_vfs 4 --vf_fb_size 1968 
INFO 2020-07-29 01:26:39,292 Calling PF reconfigure on 26:00.00 to 4 VFs with 1968 FB size
Traceback (most recent call last):
  File "/opt/xensource/bin/gimtool", line 93, in <module>
    main(sys.argv[1:])
  File "/opt/xensource/bin/gimtool", line 86, in main
    ret = fcntl.ioctl(gim_fd, RECONFIGURE_PF, gim_ioctl_reconfig_pf)
IOError: [Errno 25] Inappropriate ioctl for device

@dynodix
Copy link

dynodix commented Aug 6, 2020

I can confirm that a fresh installation of xcp-ng 8.1 and AMD iso from
https://www.amd.com/en/support/professional-graphics/firepro/firepro-s-series/firepro-s7150-x2
works, the only thing is gim "modprobe gim " must be done manually , the automatic start procedure from the upper instaructions would never sucessfully start the server (not exiting boot maineteinance mode)

@rushikeshjadhav
Copy link

@dynodix can you share # lspci -k from your working setup? I'm interested in which driver is controlling the gpu.

Regarding having to load gim manually, you can create # echo gim > /etc/modules-load.d/gim.conf which will autoload it on next boot.

@dynodix
Copy link

dynodix commented Aug 9, 2020

here my lspci -k

00:00.0 Host bridge: Intel Corporation Xeon E5/Core i7 DMI2 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
00:01.0 PCI bridge: Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 1a (rev 06)
	Kernel driver in use: pcieport
00:01.1 PCI bridge: Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 1b (rev 06)
	Kernel driver in use: pcieport
00:02.0 PCI bridge: Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 2a (rev 06)
	Kernel driver in use: pcieport
00:02.1 PCI bridge: Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 2b (rev 06)
	Kernel driver in use: pcieport
00:02.2 PCI bridge: Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 2c (rev 06)
	Kernel driver in use: pcieport
00:02.3 PCI bridge: Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 2d (rev 06)
	Kernel driver in use: pcieport
00:03.0 PCI bridge: Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 3a in PCI Express Mode (rev 06)
	Kernel driver in use: pcieport
00:03.1 PCI bridge: Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 3b (rev 06)
	Kernel driver in use: pcieport
00:03.2 PCI bridge: Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 3c (rev 06)
	Kernel driver in use: pcieport
00:03.3 PCI bridge: Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 3d (rev 06)
	Kernel driver in use: pcieport
00:04.0 System peripheral: Intel Corporation Xeon E5/Core i7 DMA Channel 0 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
	Kernel driver in use: ioatdma
00:04.1 System peripheral: Intel Corporation Xeon E5/Core i7 DMA Channel 1 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
	Kernel driver in use: ioatdma
00:04.2 System peripheral: Intel Corporation Xeon E5/Core i7 DMA Channel 2 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
	Kernel driver in use: ioatdma
00:04.3 System peripheral: Intel Corporation Xeon E5/Core i7 DMA Channel 3 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
	Kernel driver in use: ioatdma
00:04.4 System peripheral: Intel Corporation Xeon E5/Core i7 DMA Channel 4 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
	Kernel driver in use: ioatdma
00:04.5 System peripheral: Intel Corporation Xeon E5/Core i7 DMA Channel 5 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
	Kernel driver in use: ioatdma
00:04.6 System peripheral: Intel Corporation Xeon E5/Core i7 DMA Channel 6 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
	Kernel driver in use: ioatdma
00:04.7 System peripheral: Intel Corporation Xeon E5/Core i7 DMA Channel 7 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
	Kernel driver in use: ioatdma
00:05.0 System peripheral: Intel Corporation Xeon E5/Core i7 Address Map, VTd_Misc, System Management (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
00:05.2 System peripheral: Intel Corporation Xeon E5/Core i7 Control Status and Global Errors (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
00:05.4 PIC: Intel Corporation Xeon E5/Core i7 I/O APIC (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
00:11.0 PCI bridge: Intel Corporation C600/X79 series chipset PCI Express Virtual Root Port (rev 05)
	Kernel driver in use: pcieport
00:1a.0 USB controller: Intel Corporation C600/X79 series chipset USB2 Enhanced Host Controller #2 (rev 05)
	Subsystem: Hewlett-Packard Company Device 18a9
	Kernel driver in use: ehci-pci
	Kernel modules: ehci_pci
00:1c.0 PCI bridge: Intel Corporation C600/X79 series chipset PCI Express Root Port 1 (rev b5)
	Kernel driver in use: pcieport
00:1c.7 PCI bridge: Intel Corporation C600/X79 series chipset PCI Express Root Port 8 (rev b5)
	Kernel driver in use: pcieport
00:1d.0 USB controller: Intel Corporation C600/X79 series chipset USB2 Enhanced Host Controller #1 (rev 05)
	Subsystem: Hewlett-Packard Company Device 18a9
	Kernel driver in use: ehci-pci
	Kernel modules: ehci_pci
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev a5)
00:1f.0 ISA bridge: Intel Corporation C600/X79 series chipset LPC Controller (rev 05)
	Kernel driver in use: lpc_ich
	Kernel modules: lpc_ich
01:00.0 System peripheral: Hewlett-Packard Company Integrated Lights-Out Standard Slave Instrumentation & System Support (rev 05)
	Subsystem: Hewlett-Packard Company iLO4
01:00.1 VGA compatible controller: Matrox Electronics Systems Ltd. MGA G200EH
	Subsystem: Hewlett-Packard Company iLO4
01:00.2 System peripheral: Hewlett-Packard Company Integrated Lights-Out Standard Management Processor Support and Messaging (rev 05)
	Subsystem: Hewlett-Packard Company iLO4
	Kernel driver in use: hpilo
	Kernel modules: hpilo
01:00.4 USB controller: Hewlett-Packard Company Integrated Lights-Out Standard Virtual USB Controller (rev 02)
	Subsystem: Hewlett-Packard Company iLO4
	Kernel driver in use: uhci_hcd
	Kernel modules: uhci_hcd
03:00.0 RAID bus controller: Hewlett-Packard Company Smart Array Gen8 Controllers (rev 01)
	Subsystem: Hewlett-Packard Company P220i
	Kernel driver in use: hpsa
	Kernel modules: hpsa
04:00.0 Ethernet controller: Broadcom Inc. and subsidiaries NetXtreme II BCM57810 10 Gigabit Ethernet (rev 11)
	Subsystem: Hewlett-Packard Company Flex-10 10Gb 2-port 530FLB Adapter [Meru]
	Kernel driver in use: bnx2x
	Kernel modules: bnx2x
04:00.1 Ethernet controller: Broadcom Inc. and subsidiaries NetXtreme II BCM57810 10 Gigabit Ethernet (rev 11)
	Subsystem: Hewlett-Packard Company Flex-10 10Gb 2-port 530FLB Adapter [Meru]
	Kernel driver in use: bnx2x
	Kernel modules: bnx2x
05:00.0 PCI bridge: PLX Technology, Inc. PEX 8747 48-Lane, 5-Port PCI Express Gen 3 (8.0 GT/s) Switch (rev ca)
	Kernel driver in use: pcieport
06:08.0 PCI bridge: PLX Technology, Inc. PEX 8747 48-Lane, 5-Port PCI Express Gen 3 (8.0 GT/s) Switch (rev ca)
	Kernel driver in use: pcieport
06:10.0 PCI bridge: PLX Technology, Inc. PEX 8747 48-Lane, 5-Port PCI Express Gen 3 (8.0 GT/s) Switch (rev ca)
	Kernel driver in use: pcieport
07:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XT GL [FirePro S7150]
	Subsystem: Dell Device 1d35
	Kernel driver in use: gim
07:02.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V]
	Kernel driver in use: pciback
07:02.1 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V]
07:02.2 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V]
07:02.3 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V]
07:02.4 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V]
07:02.5 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V]
07:02.6 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V]
07:02.7 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V]
07:03.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V]
07:03.1 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V]
07:03.2 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V]
07:03.3 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V]
07:03.4 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V]
07:03.5 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V]
07:03.6 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V]
07:03.7 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V]
09:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XT GL [FirePro S7150]
	Subsystem: Dell Device 1d35
	Kernel driver in use: gim
09:02.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V]
	Kernel driver in use: pciback
09:02.1 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V]
	Kernel driver in use: pciback
09:02.2 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V]
09:02.3 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V]
09:02.4 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V]
09:02.5 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V]
09:02.6 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V]
09:02.7 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V]
09:03.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V]
09:03.1 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V]
09:03.2 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V]
09:03.3 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V]
09:03.4 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V]
09:03.5 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V]
09:03.6 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V]
09:03.7 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tonga XTV GL [FirePro S7150V]
1f:08.0 System peripheral: Intel Corporation Xeon E5/Core i7 QPI Link 0 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:08.2 Performance counters: Intel Corporation Device 3c41 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:08.3 System peripheral: Intel Corporation Xeon E5/Core i7 QPI Link Reut 0 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:08.4 System peripheral: Intel Corporation Xeon E5/Core i7 QPI Link Reut 0 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:08.6 System peripheral: Intel Corporation Device 3c86 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:09.0 System peripheral: Intel Corporation Xeon E5/Core i7 QPI Link 1 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:09.2 Performance counters: Intel Corporation Device 3c42 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:09.3 System peripheral: Intel Corporation Xeon E5/Core i7 QPI Link Reut 1 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:09.4 System peripheral: Intel Corporation Xeon E5/Core i7 QPI Link Reut 1 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:09.6 System peripheral: Intel Corporation Device 3c96 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:0a.0 System peripheral: Intel Corporation Xeon E5/Core i7 Power Control Unit 0 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:0a.1 System peripheral: Intel Corporation Xeon E5/Core i7 Power Control Unit 1 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:0a.2 System peripheral: Intel Corporation Xeon E5/Core i7 Power Control Unit 2 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:0a.3 System peripheral: Intel Corporation Xeon E5/Core i7 Power Control Unit 3 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:0b.0 System peripheral: Intel Corporation Xeon E5/Core i7 Interrupt Control Registers (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:0b.3 System peripheral: Intel Corporation Xeon E5/Core i7 Semaphore and Scratchpad Configuration Registers (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:0c.0 System peripheral: Intel Corporation Xeon E5/Core i7 Unicast Register 0 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:0c.1 System peripheral: Intel Corporation Xeon E5/Core i7 Unicast Register 0 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:0c.2 System peripheral: Intel Corporation Xeon E5/Core i7 Unicast Register 0 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:0c.3 System peripheral: Intel Corporation Xeon E5/Core i7 Unicast Register 0 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:0c.6 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller System Address Decoder 0 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:0c.7 System peripheral: Intel Corporation Xeon E5/Core i7 System Address Decoder (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:0d.0 System peripheral: Intel Corporation Xeon E5/Core i7 Unicast Register 0 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:0d.1 System peripheral: Intel Corporation Xeon E5/Core i7 Unicast Register 0 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:0d.2 System peripheral: Intel Corporation Xeon E5/Core i7 Unicast Register 0 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:0d.3 System peripheral: Intel Corporation Xeon E5/Core i7 Unicast Register 0 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:0d.6 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller System Address Decoder 1 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:0e.0 System peripheral: Intel Corporation Xeon E5/Core i7 Processor Home Agent (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:0e.1 Performance counters: Intel Corporation Xeon E5/Core i7 Processor Home Agent Performance Monitoring (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:0f.0 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Registers (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:0f.1 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller RAS Registers (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:0f.2 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 0 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:0f.3 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 1 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:0f.4 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 2 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:0f.5 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 3 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:0f.6 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 4 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:10.0 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Channel 0-3 Thermal Control 0 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:10.1 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Channel 0-3 Thermal Control 1 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:10.2 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller ERROR Registers 0 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:10.3 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller ERROR Registers 1 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:10.4 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Channel 0-3 Thermal Control 2 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:10.5 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Channel 0-3 Thermal Control 3 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:10.6 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller ERROR Registers 2 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:10.7 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller ERROR Registers 3 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:11.0 System peripheral: Intel Corporation Xeon E5/Core i7 DDRIO (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:13.0 System peripheral: Intel Corporation Xeon E5/Core i7 R2PCIe (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:13.1 Performance counters: Intel Corporation Xeon E5/Core i7 Ring to PCI Express Performance Monitor (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:13.4 Performance counters: Intel Corporation Xeon E5/Core i7 QuickPath Interconnect Agent Ring Registers (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:13.5 Performance counters: Intel Corporation Xeon E5/Core i7 Ring to QuickPath Interconnect Link 0 Performance Monitor (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
1f:13.6 System peripheral: Intel Corporation Xeon E5/Core i7 Ring to QuickPath Interconnect Link 1 Performance Monitor (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
20:00.0 PCI bridge: Intel Corporation Xeon E5/Core i7 DMI2 in PCI Express Mode (rev 06)
	Kernel driver in use: pcieport
20:01.0 PCI bridge: Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 1a (rev 06)
	Kernel driver in use: pcieport
20:01.1 PCI bridge: Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 1b (rev 06)
	Kernel driver in use: pcieport
20:02.0 PCI bridge: Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 2a (rev 06)
	Kernel driver in use: pcieport
20:02.1 PCI bridge: Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 2b (rev 06)
	Kernel driver in use: pcieport
20:02.2 PCI bridge: Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 2c (rev 06)
	Kernel driver in use: pcieport
20:02.3 PCI bridge: Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 2d (rev 06)
	Kernel driver in use: pcieport
20:03.0 PCI bridge: Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 3a in PCI Express Mode (rev 06)
	Kernel driver in use: pcieport
20:03.1 PCI bridge: Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 3b (rev 06)
	Kernel driver in use: pcieport
20:03.2 PCI bridge: Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 3c (rev 06)
	Kernel driver in use: pcieport
20:03.3 PCI bridge: Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 3d (rev 06)
	Kernel driver in use: pcieport
20:04.0 System peripheral: Intel Corporation Xeon E5/Core i7 DMA Channel 0 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
	Kernel driver in use: ioatdma
20:04.1 System peripheral: Intel Corporation Xeon E5/Core i7 DMA Channel 1 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
	Kernel driver in use: ioatdma
20:04.2 System peripheral: Intel Corporation Xeon E5/Core i7 DMA Channel 2 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
	Kernel driver in use: ioatdma
20:04.3 System peripheral: Intel Corporation Xeon E5/Core i7 DMA Channel 3 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
	Kernel driver in use: ioatdma
20:04.4 System peripheral: Intel Corporation Xeon E5/Core i7 DMA Channel 4 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
	Kernel driver in use: ioatdma
20:04.5 System peripheral: Intel Corporation Xeon E5/Core i7 DMA Channel 5 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
	Kernel driver in use: ioatdma
20:04.6 System peripheral: Intel Corporation Xeon E5/Core i7 DMA Channel 6 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
	Kernel driver in use: ioatdma
20:04.7 System peripheral: Intel Corporation Xeon E5/Core i7 DMA Channel 7 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
	Kernel driver in use: ioatdma
20:05.0 System peripheral: Intel Corporation Xeon E5/Core i7 Address Map, VTd_Misc, System Management (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
20:05.2 System peripheral: Intel Corporation Xeon E5/Core i7 Control Status and Global Errors (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
20:05.4 PIC: Intel Corporation Xeon E5/Core i7 I/O APIC (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:08.0 System peripheral: Intel Corporation Xeon E5/Core i7 QPI Link 0 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:08.2 Performance counters: Intel Corporation Device 3c41 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:08.3 System peripheral: Intel Corporation Xeon E5/Core i7 QPI Link Reut 0 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:08.4 System peripheral: Intel Corporation Xeon E5/Core i7 QPI Link Reut 0 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:08.6 System peripheral: Intel Corporation Device 3c86 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:09.0 System peripheral: Intel Corporation Xeon E5/Core i7 QPI Link 1 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:09.2 Performance counters: Intel Corporation Device 3c42 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:09.3 System peripheral: Intel Corporation Xeon E5/Core i7 QPI Link Reut 1 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:09.4 System peripheral: Intel Corporation Xeon E5/Core i7 QPI Link Reut 1 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:09.6 System peripheral: Intel Corporation Device 3c96 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:0a.0 System peripheral: Intel Corporation Xeon E5/Core i7 Power Control Unit 0 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:0a.1 System peripheral: Intel Corporation Xeon E5/Core i7 Power Control Unit 1 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:0a.2 System peripheral: Intel Corporation Xeon E5/Core i7 Power Control Unit 2 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:0a.3 System peripheral: Intel Corporation Xeon E5/Core i7 Power Control Unit 3 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:0b.0 System peripheral: Intel Corporation Xeon E5/Core i7 Interrupt Control Registers (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:0b.3 System peripheral: Intel Corporation Xeon E5/Core i7 Semaphore and Scratchpad Configuration Registers (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:0c.0 System peripheral: Intel Corporation Xeon E5/Core i7 Unicast Register 0 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:0c.1 System peripheral: Intel Corporation Xeon E5/Core i7 Unicast Register 0 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:0c.2 System peripheral: Intel Corporation Xeon E5/Core i7 Unicast Register 0 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:0c.3 System peripheral: Intel Corporation Xeon E5/Core i7 Unicast Register 0 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:0c.6 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller System Address Decoder 0 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:0c.7 System peripheral: Intel Corporation Xeon E5/Core i7 System Address Decoder (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:0d.0 System peripheral: Intel Corporation Xeon E5/Core i7 Unicast Register 0 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:0d.1 System peripheral: Intel Corporation Xeon E5/Core i7 Unicast Register 0 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:0d.2 System peripheral: Intel Corporation Xeon E5/Core i7 Unicast Register 0 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:0d.3 System peripheral: Intel Corporation Xeon E5/Core i7 Unicast Register 0 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:0d.6 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller System Address Decoder 1 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:0e.0 System peripheral: Intel Corporation Xeon E5/Core i7 Processor Home Agent (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:0e.1 Performance counters: Intel Corporation Xeon E5/Core i7 Processor Home Agent Performance Monitoring (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:0f.0 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Registers (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:0f.1 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller RAS Registers (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:0f.2 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 0 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:0f.3 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 1 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:0f.4 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 2 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:0f.5 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 3 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:0f.6 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 4 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:10.0 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Channel 0-3 Thermal Control 0 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:10.1 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Channel 0-3 Thermal Control 1 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:10.2 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller ERROR Registers 0 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:10.3 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller ERROR Registers 1 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:10.4 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Channel 0-3 Thermal Control 2 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:10.5 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Channel 0-3 Thermal Control 3 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:10.6 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller ERROR Registers 2 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:10.7 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller ERROR Registers 3 (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:11.0 System peripheral: Intel Corporation Xeon E5/Core i7 DDRIO (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:13.0 System peripheral: Intel Corporation Xeon E5/Core i7 R2PCIe (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:13.1 Performance counters: Intel Corporation Xeon E5/Core i7 Ring to PCI Express Performance Monitor (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:13.4 Performance counters: Intel Corporation Xeon E5/Core i7 QuickPath Interconnect Agent Ring Registers (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:13.5 Performance counters: Intel Corporation Xeon E5/Core i7 Ring to QuickPath Interconnect Link 0 Performance Monitor (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8
3f:13.6 System peripheral: Intel Corporation Xeon E5/Core i7 Ring to QuickPath Interconnect Link 1 Performance Monitor (rev 06)
	Subsystem: Hewlett-Packard Company Device 18a8

@dynodix
Copy link

dynodix commented Aug 9, 2020

Another hint, I had first setup the fresh instalation of XCP-NG 8.1 , then installed AMD ISO 2.0 as standalone machine (not into the pool) , updated with yum update , and after the update I had added the machine to my pool. The xe-install-supplemental-pack behaved diferently this way.

@dynodix
Copy link

dynodix commented Aug 9, 2020

Windows 10 with MxGPU drivers now behave stable and normally, now I m trying to use the GPU for transcoding purposes under ubuntu 18 but have problems initializing the card driver and obtain valid info with vainfo

@nagilum99
Copy link

AFAIK: All individual changes should happen after pool integration as it might result into problems, if you do it before.
There have been several issues in XS history with such things.

@rushikeshjadhav
Copy link

rushikeshjadhav commented Aug 14, 2020

Radeon Pro W5500

Result with AMD offered driver gim.ko

[35637.728282] AMD Virt GIM API
[35637.737022] gim: module license 'Proprietary' taints kernel.
[35637.737026] Disabling lock debugging due to kernel taint
[35637.746073]        gim info:(gim_init:197) *******AMD GIM init
[35637.746076]        gim info:(print_gim_version:62) GPU IOV MODULE (GIM) - version 2.00.0000
[35637.746078]        gim info:(gim_init:200) Copyright (c) 2014-2016 AMD Corporation.
[35637.749241]        gim info:(parse_config_file:295) AMD GIM fb_option = 0
[35637.749246]        gim info:(parse_config_file:295) AMD GIM sched_option = 0
[35637.749248]        gim info:(parse_config_file:295) AMD GIM vf_num = 0
[35637.749250]        gim info:(parse_config_file:295) AMD GIM pf_fb = 0
[35637.749253]        gim info:(parse_config_file:295) AMD GIM vf_fb = 0
[35637.749255]        gim info:(parse_config_file:295) AMD GIM sched_interval = 7
[35637.749258]        gim info:(parse_config_file:295) AMD GIM fb_clear = 1
[35637.749261]        gim info:(parse_config_file:295) AMD GIM hang_detect_timeout = 100
[35637.749264]        gim info:(parse_config_file:295) AMD GIM max_quanta = 1000
[35637.749267]        gim info:(parse_config_file:295) AMD GIM self_switch = 500
[35637.749270]        gim info:(parse_config_file:295) AMD GIM exclusive = 1600
[35637.749274]        gim info:(parse_config_file:295) AMD GIM fair_scheduling = 0
[35637.749277]        gim info:(parse_config_file:295) AMD GIM debug_level = 3
[35637.749280]        gim info:(parse_config_file:295) AMD GIM clear_fb_on_flr = 0
[35637.749283]        gim info:(parse_config_file:295) AMD GIM clear_fb_on_free_vf = 1
[35637.749287]        gim info:(init_config:445) INIT CONFIG
[35637.758619]        gim info:(gim_ioctl_init:567) IOCTL device created and ready for use
[35637.758622] Running Kaveri version of GIM

Result with modified open source gim module having additional support for PCI ID 1002:7341 RadeonPro is below. By default gim.ko only recognizes 1002:6929 FirePro.

[207204.092055] gim info:(gim_init:150) Start AMD open source GIM initialization
[207204.092059] gim info:(gim_init:153) GPU IOV MODULE - version 1.1.4
[207204.092061] gim info:(gim_init:155) Copyright (c) 2014-2017 Advanced Micro Devices, Inc. All rights reserved.
[207204.092097] gim info:(parse_config_file:219) AMD GIM fb_option = 0
[207204.092100] gim info:(parse_config_file:219) AMD GIM sched_option = 0
[207204.092102] gim info:(parse_config_file:219) AMD GIM vf_num = 0
[207204.092104] gim info:(parse_config_file:219) AMD GIM pf_fb = 0
[207204.092106] gim info:(parse_config_file:219) AMD GIM vf_fb = 0
[207204.092108] gim info:(parse_config_file:219) AMD GIM sched_interval = 7
[207204.092111] gim info:(parse_config_file:219) AMD GIM sched_interval_us = 0
[207204.092113] gim info:(parse_config_file:219) AMD GIM fb_clear = 1
[207204.092147] gim info:(init_config:341) INIT CONFIG
[207204.093000] gim info:(set_new_adapter:572) curr allocated at 00000000dba9b50c
[207204.093002] gim error:(set_new_adapter:575) **asic does not support SRIOV**
[207204.093027] gim info:(gim_probe:92) AMD GIM probe: pf_count = 0

Do you guys know if Radeon Pro is supported?

@ethanjosephscott
Copy link

Hey @rushikeshjadhav the Radeon Pro W5500 I believe does not support MXGPU. The current list as I understand it is below.

Radeon Instinct MI6
Radeon Instinct MI8
Radeon Instinct MI25
Radeon Instinct MI50
Radeon Instinct MI60
Radeon Instinct MI100
Radeon Pro V320
Radeon Pro V340
AMD FirePro S7100X
AMD FirePro s7150
AMD FirePro s7150 x2

@olivierlambert
Copy link
Member Author

Some of them are somehow affordable to put in our lab. /me thinking on getting some extra hardware.

@rushikeshjadhav
Copy link

@ethanjosephscott Thanks for providing supported cards list.

@savage1279
Copy link

Windows 10 with MxGPU drivers now behave stable and normally, now I m trying to use the GPU for transcoding purposes under ubuntu 18 but have problems initializing the card driver and obtain valid info with vainfo

For me Win10 has no video decoding/encoding in GPU info
gpu

Is it normal behaviour for s7150 driver? does it support in general video processing?

@dynodix
Copy link

dynodix commented Sep 1, 2020

According to: https://en.wikipedia.org/wiki/Video_Coding_Engine

S7150 x2 should support VCE3.0 with h264 encoding decoding...

But how? ...

@savage1279
Copy link

According to: https://en.wikipedia.org/wiki/Video_Coding_Engine

S7150 x2 should support VCE3.0 with h264 encoding decoding...

But how? ...

Yes. By specification it has to.
But actually I tried to use ffmpeg with VAAPI in ubuntu. No chances to work. I tried it with AMF with custom build of ffmeg. The same result - It doesn't work. In Windows also the same result and the same errors.

@savage1279
Copy link

I found there the problem was. It's gim driver of MxGPU. It doesn't support video processing.
I switched from MxGPU to PCI passthrough

rmmod gim

xe vm-param-set other-config:pci=0/0000:67:00.0 uuid=21cd7312-d9bf-aab8-b69e-913f60983ff7

After that GPU starts working as needed.
In Windows:

gpu2

In Ubuntu ffmpeg now can use VAAPI:
image

@jcdick1
Copy link

jcdick1 commented Sep 2, 2020

According to a recent post in the AMD community forums:

"When you say MxGPU works, I assume you mean you have enabled MxGPU. If so, then you will not get VCE on each VM. VCE on FirePro S7150 X2 works only if you use the entire GPU."

@nagilum99
Copy link

nagilum99 commented Sep 2, 2020

AFAIK Technically it can't work: You have less en-/decoders than partitions per GPU and they probably can't just split that parts (and I doubt there is a big demand worth the effort).

@stormi stormi removed this from To Do in Team board Nov 3, 2020
@thatsysadmin
Copy link

Hey @rushikeshjadhav the Radeon Pro W5500 I believe does not support MXGPU. The current list as I understand it is below.

Radeon Instinct MI6
Radeon Instinct MI8
Radeon Instinct MI25
Radeon Instinct MI50
Radeon Instinct MI60
Radeon Instinct MI100
Radeon Pro V320
Radeon Pro V340
AMD FirePro S7100X
AMD FirePro s7150
AMD FirePro s7150 x2

Sorry for reviving an 8 month old thread, but may I ask if there is any official documentation that says that the MI100 supports MxGPU?

@ethanjosephscott
Copy link

ethanjosephscott commented Sep 3, 2021

@thatsysadmin

Hey I made that list before the MI100 was officially announced, not sure how I knew about it? But I believe I was going under the impression all of the instinct cards would have mxgpu support. It looks like the radeon pro v520 is the newest mxgpu card (not sold to the public).

@nhdnet
Copy link

nhdnet commented May 1, 2024

Radeon Pro W5500

Result with AMD offered driver gim.ko

[35637.728282] AMD Virt GIM API
[35637.737022] gim: module license 'Proprietary' taints kernel.
[35637.737026] Disabling lock debugging due to kernel taint
[35637.746073]        gim info:(gim_init:197) *******AMD GIM init
[35637.746076]        gim info:(print_gim_version:62) GPU IOV MODULE (GIM) - version 2.00.0000
[35637.746078]        gim info:(gim_init:200) Copyright (c) 2014-2016 AMD Corporation.
[35637.749241]        gim info:(parse_config_file:295) AMD GIM fb_option = 0
[35637.749246]        gim info:(parse_config_file:295) AMD GIM sched_option = 0
[35637.749248]        gim info:(parse_config_file:295) AMD GIM vf_num = 0
[35637.749250]        gim info:(parse_config_file:295) AMD GIM pf_fb = 0
[35637.749253]        gim info:(parse_config_file:295) AMD GIM vf_fb = 0
[35637.749255]        gim info:(parse_config_file:295) AMD GIM sched_interval = 7
[35637.749258]        gim info:(parse_config_file:295) AMD GIM fb_clear = 1
[35637.749261]        gim info:(parse_config_file:295) AMD GIM hang_detect_timeout = 100
[35637.749264]        gim info:(parse_config_file:295) AMD GIM max_quanta = 1000
[35637.749267]        gim info:(parse_config_file:295) AMD GIM self_switch = 500
[35637.749270]        gim info:(parse_config_file:295) AMD GIM exclusive = 1600
[35637.749274]        gim info:(parse_config_file:295) AMD GIM fair_scheduling = 0
[35637.749277]        gim info:(parse_config_file:295) AMD GIM debug_level = 3
[35637.749280]        gim info:(parse_config_file:295) AMD GIM clear_fb_on_flr = 0
[35637.749283]        gim info:(parse_config_file:295) AMD GIM clear_fb_on_free_vf = 1
[35637.749287]        gim info:(init_config:445) INIT CONFIG
[35637.758619]        gim info:(gim_ioctl_init:567) IOCTL device created and ready for use
[35637.758622] Running Kaveri version of GIM

Result with modified open source gim module having additional support for PCI ID 1002:7341 RadeonPro is below. By default gim.ko only recognizes 1002:6929 FirePro.

[207204.092055] gim info:(gim_init:150) Start AMD open source GIM initialization
[207204.092059] gim info:(gim_init:153) GPU IOV MODULE - version 1.1.4
[207204.092061] gim info:(gim_init:155) Copyright (c) 2014-2017 Advanced Micro Devices, Inc. All rights reserved.
[207204.092097] gim info:(parse_config_file:219) AMD GIM fb_option = 0
[207204.092100] gim info:(parse_config_file:219) AMD GIM sched_option = 0
[207204.092102] gim info:(parse_config_file:219) AMD GIM vf_num = 0
[207204.092104] gim info:(parse_config_file:219) AMD GIM pf_fb = 0
[207204.092106] gim info:(parse_config_file:219) AMD GIM vf_fb = 0
[207204.092108] gim info:(parse_config_file:219) AMD GIM sched_interval = 7
[207204.092111] gim info:(parse_config_file:219) AMD GIM sched_interval_us = 0
[207204.092113] gim info:(parse_config_file:219) AMD GIM fb_clear = 1
[207204.092147] gim info:(init_config:341) INIT CONFIG
[207204.093000] gim info:(set_new_adapter:572) curr allocated at 00000000dba9b50c
[207204.093002] gim error:(set_new_adapter:575) **asic does not support SRIOV**
[207204.093027] gim info:(gim_probe:92) AMD GIM probe: pf_count = 0

Do you guys know if Radeon Pro is supported?

I modified open source GIM and it works with a instinct mi6

`
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon Pro V7300X / V7350x2]
Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Device 0734
01:02.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon Pro V7300X / V7350x2]
Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Device 0734
01:02.1 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon Pro V7300X / V7350x2]
Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Device 0734
01:02.2 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon Pro V7300X / V7350x2]
Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Device 0734
01:02.3 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon Pro V7300X / V7350x2]
Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Device 0734

`

@nagilum99
Copy link

The Radeon Pro ist, as the name says, based on Radeon chips. It's a whole different chip than the Instinct/MI ones.
You can't 'split' Radeon chips.

@nhdnet
Copy link

nhdnet commented May 2, 2024

its a instinct mi6, believe me. "lspci" command shows "radeon pro" but its a instinct mi6

@nagilum99
Copy link

You're right, the old/first generations of Instinct were using the radeon chips (I just looked it up).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests