<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p>My IOMMU grouping of devices change depending on which pci-e
socket I insert my R9 290 GPU into. For the sake of purchasing a
new system I wanted to discuss the different groupings so I can
better choose my new hardware.<br>
</p>
<p>Here are the IOMMU group which contain my GPU with the GPU
inserted into the three different PCIE slots I have (for all
groups in the different configs see attachments).<br>
</p>
<p>#A: GPU in PCIE1<br>
IOMMU group 1<br>
00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200
v3/4th Gen Core Processor PCI Express x16 Controller [8086:0c01]
(rev 06)<br>
01:00.0 VGA compatible controller [0300]: Advanced Micro
Devices, Inc. [AMD/ATI] Hawaii PRO [Radeon R9 290] [1002:67b1]<br>
01:00.1 Audio device [0403]: Advanced Micro Devices, Inc.
[AMD/ATI] Hawaii HDMI Audio [1002:aac8]<br>
<br>
#B: GPU in PCIE3<br>
IOMMU group 1<br>
00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200
v3/4th Gen Core Processor PCI Express x16 Controller [8086:0c01]
(rev 06)<br>
00:01.1 PCI bridge [0604]: Intel Corporation Xeon E3-1200
v3/4th Gen Core Processor PCI Express x8 Controller [8086:0c05]
(rev 06)<br>
02:00.0 VGA compatible controller [0300]: Advanced Micro
Devices, Inc. [AMD/ATI] Hawaii PRO [Radeon R9 290] [1002:67b1]<br>
02:00.1 Audio device [0403]: Advanced Micro Devices, Inc.
[AMD/ATI] Hawaii HDMI Audio [1002:aac8]<br>
<br>
#C: GPU in PCIE4<br>
IOMMU group 14<br>
04:00.0 VGA compatible controller [0300]: Advanced Micro
Devices, Inc. [AMD/ATI] Hawaii PRO [Radeon R9 290] [1002:67b1]<br>
04:00.1 Audio device [0403]: Advanced Micro Devices, Inc.
[AMD/ATI] Hawaii HDMI Audio [1002:aac8]</p>
<p>I have had success with Arch linux and stock kernel 4.4.1 with
config #C (GPU in PCIE4), but not the others. Is that to be
expected without patching the kernel (i.e. the GPU needs to be in
a group all by itself)?<br>
</p>
<p>Can these groups be figured out without plugging the GPU into the
different slots and looking at
<meta http-equiv="content-type" content="text/html; charset=utf-8">
/sys/kernel/iommu_groups/; deduced from the chip set
specification, inspecting /sys/ in more clever way, or similar? If
yes, then it would be great to collect a list of hardware and its
groupings. That way it would be easier to decide which motherboard
and cpu to get for different setups.</p>
<p>/ Jonas<br>
</p>
<p><br>
</p>
<p><br>
</p>
<p>## Details about my system:<br>
The system is:<br>
- MB: ASROCK Z87M Extreme 4
(<a class="moz-txt-link-freetext" href="http://www.asrock.com/mb/Intel/Z87M%20Extreme4/">http://www.asrock.com/mb/Intel/Z87M%20Extreme4/</a>)<br>
- CPU: i7-4770</p>
<p>The motherboard has four pci-e sockets, labeled pcie1-4:<br>
[ PCIE1 ]<br>
[PCIE2]<br>
[ PCIE3 ]<br>
[ PCIE4 ]<br>
</p>
<p>It is a good question which is how fast, the manual reads:<br>
</p>
- 2 x PCI Express 3.0 x16 slots (PCIE1/PCIE3: single at x16 (PCIE1);
dual at x8 (PCIE1) / x8 (PCIE3))<br>
- 1 x PCI Express 2.0 x16 slot (PCIE4: x4 mode)<br>
- 1 x PCI Express 2.0 x1 slot<br>
<br>
<br>
<br>
<br>
</body>
</html>