1
1
# GIM
2
2
3
3
``` javascript
4
- Copyright (c) 2014 - 2017 Advanced Micro Devices, Inc . All rights reserved.
4
+ Copyright (c) 2014 - 2018 Advanced Micro Devices, Inc . All rights reserved.
5
5
Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
of this software and associated documentation files (the " Software" ), to deal
7
7
in the Software without restriction, including without limitation the rights
@@ -25,12 +25,14 @@ THE SOFTWARE
25
25
(GPU-IOV Module) is a Linux kernel module for AMD SR-IOV based HW
26
26
Virtualization (MxGPU) product. It can support KVM, open source Xen and
27
27
any other Linux kernel based hypervisors with necessary kernel compatibility
28
- modification. GIM is reponsible for but not limits to: GPU IOV initialization,
29
- virtual function configuration and enablement, GPU scheduling for world
30
- switch, hung detection and virtual function level reset (FLR), PF/VF hand
31
- shake and other GPU utilities.
28
+ modification. GIM is reponsible for:
29
+ * GPU IOV initialization
30
+ * Virtual function configuration and enablement
31
+ * GPU scheduling for world switch
32
+ * Hang detection and virtual function level reset (FLR)
33
+ * PF/VF hand shake and other GPU utilities.
32
34
33
- Currently only AMD S7150 series are supported.
35
+ Currently, only AMD S7150 series GPUs are supported.
34
36
35
37
## DOCUMENTATION:
36
38
All documents are listed in SRC_ROOT/docs
@@ -40,7 +42,7 @@ THE SOFTWARE
40
42
hypervisor SW(KVM, XEN, QEMU, LIBVIRT) versions are aligned with default
41
43
version of OS.
42
44
43
- GIM supports KVM in Ubuntu16 .04, and supports XEN in CentOS7 .3.
45
+ GIM supports KVM in Ubuntu 16 .04, and supports XEN in CentOS 7 .3.
44
46
45
47
Host OS | Kernel | KVM/Xen | QEMU | libvirt
46
48
------------|-------------------|---------|-------|--------------
@@ -51,14 +53,13 @@ THE SOFTWARE
51
53
52
54
Guest OS | Distributions
53
55
----------|-------------------------------------------------
54
- Linux | Ubuntu16 .04 LTS 64bit; CentOS7 .3 64 bit
56
+ Linux | Ubuntu 16 .04 LTS 64bit; CentOS 7 .3 64 bit
55
57
Windows | Win7 64bit; Win10 TH2 64bit
56
58
57
59
58
- * The patches for Linux host OS
59
- For some legacy Linux kernels, there are some issues to enable pci sriov.
60
- Take Ubuntu 4.4.0-75-generic kernel, there is a patch for iov module under
61
- SRC_ROOT/patch.
60
+ * Some legacy Linux kernels have issues with enabling PCI SR-IOV.
61
+ It is suggested to use Ubuntu 4.4.0-75-generic kernel and apply the patch for
62
+ IOV module. The patch file can be found under SRC_ROOT/patch.
62
63
63
64
## HOW TO BUILD & INSTALL:
64
65
All driver source codes are under SRC_ROOT/drv.
@@ -67,15 +68,21 @@ THE SOFTWARE
67
68
gim.ko to /lib/modules/$(KERNELRELEASE)/GIM/.
68
69
3 . Generally, Just run helper SRC_ROOT/gim.sh in a command terminal also can
69
70
completed build and installation. And gim.sh -help can display usages.
70
-
71
+ 4 . Blacklist amdgpu and amdkfd and reboot the server. Such as, under Ubuntu,
72
+ by adding the following line to the end of file /etc/modprobe.d/blacklist.conf
73
+
74
+ ```
75
+ blacklist amdgpu
76
+ blacklist amdkfd
77
+ ```
71
78
## HOW TO LOAD:
72
- 1 . Typing command "modprobe gim " in terminal can load gim driver
79
+ 1 . Typing command "modprobe gim" in terminal can load gim driver
73
80
2 . Usually, Typing command "lsmod | grep gim " and "lspci | grep AMD" in
74
81
terminal can help to check if gim driver is loaded
75
82
76
83
## HOW TO CONFIGURE BUILD:
77
- Read this section carefully. New configuration options would be added in
78
- each release, and odd problems will turn up if the configuration files are
84
+ Read this section carefully. New configuration options could be added in
85
+ each release, and unexpected problems can occur if the configuration files are
79
86
not set up as expected.
80
87
81
88
* Alternative configuration commands are
@@ -88,10 +95,13 @@ THE SOFTWARE
88
95
89
96
* Edit configuraiton in Makefile
90
97
91
- GIM is a external kernel driver module. The driver configuration is
92
- different from upstream kernel driver. Now, Edit "KBUILD_CFLAGS" in
93
- Makefile is preferred to pass the configuraiton to GIM codes .
98
+ GIM is an external kernel driver module. The driver configuration is
99
+ different from upstream kernel driver. Editing "KBUILD_CFLAGS" in
100
+ the Makefile is preferred to pass the configuration to GIM.
94
101
95
102
## HISTORY:
96
103
- 1.0 (2017/07/20)
97
104
The original release support AMD S7150 series.
105
+
106
+ - 2.0 (2018/9/30)
107
+ Fix some issues for AMD S7150 series.
0 commit comments