1 |
commit: 1451c6c95bf08ce6a4c14b2790622abcac338baa |
2 |
Author: Conrad Kostecki <conikost <AT> gentoo <DOT> org> |
3 |
AuthorDate: Fri Dec 30 22:47:31 2022 +0000 |
4 |
Commit: Conrad Kostecki <conikost <AT> gentoo <DOT> org> |
5 |
CommitDate: Fri Dec 30 23:38:38 2022 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1451c6c9 |
7 |
|
8 |
dev-util/intel-graphics-compiler: add vectorcompiler |
9 |
|
10 |
Signed-off-by: Conrad Kostecki <conikost <AT> gentoo.org> |
11 |
|
12 |
...phics-compiler-1.0.12504.5-vectorcompiler.patch | 165 +++++++++++++++++++++ |
13 |
... intel-graphics-compiler-1.0.12504.5-r1.ebuild} | 14 +- |
14 |
dev-util/intel-graphics-compiler/metadata.xml | 3 + |
15 |
3 files changed, 176 insertions(+), 6 deletions(-) |
16 |
|
17 |
diff --git a/dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.12504.5-vectorcompiler.patch b/dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.12504.5-vectorcompiler.patch |
18 |
new file mode 100644 |
19 |
index 000000000000..ec75efc22b97 |
20 |
--- /dev/null |
21 |
+++ b/dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.12504.5-vectorcompiler.patch |
22 |
@@ -0,0 +1,165 @@ |
23 |
+From 753a6a4efd5fcb42a86a5f62b64c29393513d807 Mon Sep 17 00:00:00 2001 |
24 |
+From: Victor Mustya <victor.mustya@×××××.com> |
25 |
+Date: Thu, 29 Dec 2022 05:03:39 +0000 |
26 |
+Subject: [PATCH] Fix open source build for some configurations |
27 |
+ |
28 |
+When building for some Linux distros, cmake configures IGC to build all |
29 |
+the libraries as shared by default. So we have to explicitly configure |
30 |
+all the libraries as static or object. |
31 |
+--- |
32 |
+ IGC/Options/CMakeLists.txt | 2 +- |
33 |
+ IGC/VectorCompiler/CMCL/lib/Support/CMakeLists.txt | 2 +- |
34 |
+ IGC/VectorCompiler/lib/BiF/CMakeLists.txt | 2 +- |
35 |
+ IGC/VectorCompiler/lib/Driver/CMakeLists.txt | 2 +- |
36 |
+ IGC/VectorCompiler/lib/GenXCodeGen/CMakeLists.txt | 2 +- |
37 |
+ IGC/VectorCompiler/lib/GenXCodeGen/TargetInfo/CMakeLists.txt | 2 +- |
38 |
+ IGC/VectorCompiler/lib/GenXOpts/CMakeLists.txt | 2 +- |
39 |
+ IGC/VectorCompiler/lib/InternalIntrinsics/CMakeLists.txt | 2 +- |
40 |
+ IGC/VectorCompiler/lib/Support/CMakeLists.txt | 2 +- |
41 |
+ IGC/VectorCompiler/lib/Utils/GenX/CMakeLists.txt | 2 +- |
42 |
+ IGC/VectorCompiler/lib/Utils/General/CMakeLists.txt | 2 +- |
43 |
+ 11 files changed, 11 insertions(+), 11 deletions(-) |
44 |
+ |
45 |
+diff --git a/IGC/Options/CMakeLists.txt b/IGC/Options/CMakeLists.txt |
46 |
+index 834d74d37ce..1dc079d1c1e 100644 |
47 |
+--- a/IGC/Options/CMakeLists.txt |
48 |
++++ b/IGC/Options/CMakeLists.txt |
49 |
+@@ -6,7 +6,7 @@ |
50 |
+ # |
51 |
+ #============================ end_copyright_notice ============================= |
52 |
+ |
53 |
+-add_library(IGCOptions "") |
54 |
++add_library(IGCOptions STATIC "") |
55 |
+ |
56 |
+ add_subdirectory(src) |
57 |
+ add_subdirectory(include/igc/Options) |
58 |
+diff --git a/IGC/VectorCompiler/CMCL/lib/Support/CMakeLists.txt b/IGC/VectorCompiler/CMCL/lib/Support/CMakeLists.txt |
59 |
+index ebab3db0005..eda77667ddf 100644 |
60 |
+--- a/IGC/VectorCompiler/CMCL/lib/Support/CMakeLists.txt |
61 |
++++ b/IGC/VectorCompiler/CMCL/lib/Support/CMakeLists.txt |
62 |
+@@ -12,7 +12,7 @@ set(CM_CL_SUPPORT_SOURCES |
63 |
+ InitializePasses.cpp |
64 |
+ ) |
65 |
+ |
66 |
+-add_library(CMCLSupport ${CM_CL_SUPPORT_SOURCES}) |
67 |
++add_library(CMCLSupport STATIC ${CM_CL_SUPPORT_SOURCES}) |
68 |
+ |
69 |
+ # LLVM dependencies |
70 |
+ igc_get_llvm_targets(LLVM_LIBS |
71 |
+diff --git a/IGC/VectorCompiler/lib/BiF/CMakeLists.txt b/IGC/VectorCompiler/lib/BiF/CMakeLists.txt |
72 |
+index 6235fc1d21e..c439f334a98 100644 |
73 |
+--- a/IGC/VectorCompiler/lib/BiF/CMakeLists.txt |
74 |
++++ b/IGC/VectorCompiler/lib/BiF/CMakeLists.txt |
75 |
+@@ -275,7 +275,7 @@ add_custom_target(VCBiFPreparation |
76 |
+ ${SPIRV_EXEC_BUILTINS_SRC_PATH} |
77 |
+ ${SPIRV_ATOMIC_BUILTINS_SRC_PATH}) |
78 |
+ |
79 |
+-add_library(VCEmbeddedBiF |
80 |
++add_library(VCEmbeddedBiF OBJECT |
81 |
+ ${PRINTF_OCL_32_CPP_PATH} |
82 |
+ ${PRINTF_OCL_64_CPP_PATH} |
83 |
+ ${PRINTF_ZE_32_CPP_PATH} |
84 |
+diff --git a/IGC/VectorCompiler/lib/Driver/CMakeLists.txt b/IGC/VectorCompiler/lib/Driver/CMakeLists.txt |
85 |
+index 74e4e661e74..fc14937a1c6 100644 |
86 |
+--- a/IGC/VectorCompiler/lib/Driver/CMakeLists.txt |
87 |
++++ b/IGC/VectorCompiler/lib/Driver/CMakeLists.txt |
88 |
+@@ -11,7 +11,7 @@ set(DRIVER_SOURCES |
89 |
+ SPIRVWrapper.cpp |
90 |
+ ) |
91 |
+ |
92 |
+-add_library(VCDriver ${DRIVER_SOURCES}) |
93 |
++add_library(VCDriver STATIC ${DRIVER_SOURCES}) |
94 |
+ igc_get_llvm_targets(LLVM_LIBS |
95 |
+ Analysis |
96 |
+ BitReader |
97 |
+diff --git a/IGC/VectorCompiler/lib/GenXCodeGen/CMakeLists.txt b/IGC/VectorCompiler/lib/GenXCodeGen/CMakeLists.txt |
98 |
+index 185a7533a89..4c3eada26fb 100644 |
99 |
+--- a/IGC/VectorCompiler/lib/GenXCodeGen/CMakeLists.txt |
100 |
++++ b/IGC/VectorCompiler/lib/GenXCodeGen/CMakeLists.txt |
101 |
+@@ -88,7 +88,7 @@ set(CODEGEN_SOURCES |
102 |
+ GenXFixInvalidFuncName.cpp |
103 |
+ ) |
104 |
+ |
105 |
+-add_library(VCCodeGen ${CODEGEN_SOURCES}) |
106 |
++add_library(VCCodeGen STATIC ${CODEGEN_SOURCES}) |
107 |
+ add_dependencies(VCCodeGen |
108 |
+ GenXUtilBuild |
109 |
+ GenXCommonTableGen_target |
110 |
+diff --git a/IGC/VectorCompiler/lib/GenXCodeGen/TargetInfo/CMakeLists.txt b/IGC/VectorCompiler/lib/GenXCodeGen/TargetInfo/CMakeLists.txt |
111 |
+index dca9455f464..8a0b66f7b55 100644 |
112 |
+--- a/IGC/VectorCompiler/lib/GenXCodeGen/TargetInfo/CMakeLists.txt |
113 |
++++ b/IGC/VectorCompiler/lib/GenXCodeGen/TargetInfo/CMakeLists.txt |
114 |
+@@ -10,7 +10,7 @@ set(INFO_SOURCES |
115 |
+ GenXTargetInfo.cpp |
116 |
+ ) |
117 |
+ |
118 |
+-add_library(VCTargetInfo ${INFO_SOURCES}) |
119 |
++add_library(VCTargetInfo OBJECT ${INFO_SOURCES}) |
120 |
+ |
121 |
+ igc_get_llvm_targets(LLVM_LIBS Support) |
122 |
+ |
123 |
+diff --git a/IGC/VectorCompiler/lib/GenXOpts/CMakeLists.txt b/IGC/VectorCompiler/lib/GenXOpts/CMakeLists.txt |
124 |
+index 44ebf851d6e..0f56a8c1a26 100644 |
125 |
+--- a/IGC/VectorCompiler/lib/GenXOpts/CMakeLists.txt |
126 |
++++ b/IGC/VectorCompiler/lib/GenXOpts/CMakeLists.txt |
127 |
+@@ -27,7 +27,7 @@ set(OPT_SOURCES |
128 |
+ CMPacketize/PacketBuilder_misc.cpp |
129 |
+ ) |
130 |
+ |
131 |
+-add_library(VCTransforms ${OPT_SOURCES}) |
132 |
++add_library(VCTransforms OBJECT ${OPT_SOURCES}) |
133 |
+ |
134 |
+ igc_get_llvm_targets(LLVM_LIBS |
135 |
+ Analysis |
136 |
+diff --git a/IGC/VectorCompiler/lib/InternalIntrinsics/CMakeLists.txt b/IGC/VectorCompiler/lib/InternalIntrinsics/CMakeLists.txt |
137 |
+index 332d74e25dd..060cccc91fc 100644 |
138 |
+--- a/IGC/VectorCompiler/lib/InternalIntrinsics/CMakeLists.txt |
139 |
++++ b/IGC/VectorCompiler/lib/InternalIntrinsics/CMakeLists.txt |
140 |
+@@ -14,7 +14,7 @@ set(LLVM_COMPONENTS |
141 |
+ ) |
142 |
+ |
143 |
+ igc_get_llvm_targets(LLVM_LIBS ${LLVM_COMPONENTS}) |
144 |
+-add_library(VCInternalIntrinsics |
145 |
++add_library(VCInternalIntrinsics OBJECT |
146 |
+ InternalIntrinsics.cpp |
147 |
+ ) |
148 |
+ |
149 |
+diff --git a/IGC/VectorCompiler/lib/Support/CMakeLists.txt b/IGC/VectorCompiler/lib/Support/CMakeLists.txt |
150 |
+index 047f2528761..12b7bb62cca 100644 |
151 |
+--- a/IGC/VectorCompiler/lib/Support/CMakeLists.txt |
152 |
++++ b/IGC/VectorCompiler/lib/Support/CMakeLists.txt |
153 |
+@@ -15,7 +15,7 @@ set(SUPPORT_SOURCES |
154 |
+ PassPrinters.cpp |
155 |
+ ) |
156 |
+ |
157 |
+-add_library(VCSupport ${SUPPORT_SOURCES}) |
158 |
++add_library(VCSupport OBJECT ${SUPPORT_SOURCES}) |
159 |
+ igc_get_llvm_targets(LLVM_LIBS |
160 |
+ Support |
161 |
+ Core |
162 |
+diff --git a/IGC/VectorCompiler/lib/Utils/GenX/CMakeLists.txt b/IGC/VectorCompiler/lib/Utils/GenX/CMakeLists.txt |
163 |
+index e5a7bff2392..b77547c6bcd 100644 |
164 |
+--- a/IGC/VectorCompiler/lib/Utils/GenX/CMakeLists.txt |
165 |
++++ b/IGC/VectorCompiler/lib/Utils/GenX/CMakeLists.txt |
166 |
+@@ -21,7 +21,7 @@ set(GENX_UTILS_SOURCES |
167 |
+ TransformArgCopy.cpp |
168 |
+ ) |
169 |
+ |
170 |
+-add_library(VCGenXUtils ${GENX_UTILS_SOURCES}) |
171 |
++add_library(VCGenXUtils OBJECT ${GENX_UTILS_SOURCES}) |
172 |
+ igc_get_llvm_targets(LLVM_LIBS |
173 |
+ Core |
174 |
+ Support |
175 |
+diff --git a/IGC/VectorCompiler/lib/Utils/General/CMakeLists.txt b/IGC/VectorCompiler/lib/Utils/General/CMakeLists.txt |
176 |
+index 873d45e8025..8408828f748 100644 |
177 |
+--- a/IGC/VectorCompiler/lib/Utils/General/CMakeLists.txt |
178 |
++++ b/IGC/VectorCompiler/lib/Utils/General/CMakeLists.txt |
179 |
+@@ -16,7 +16,7 @@ set(GENERAL_UTILS_SOURCES |
180 |
+ IndexFlattener.cpp |
181 |
+ ) |
182 |
+ |
183 |
+-add_library(VCGeneralUtils ${GENERAL_UTILS_SOURCES}) |
184 |
++add_library(VCGeneralUtils OBJECT ${GENERAL_UTILS_SOURCES}) |
185 |
+ igc_get_llvm_targets(LLVM_LIBS |
186 |
+ Core |
187 |
+ Support |
188 |
|
189 |
diff --git a/dev-util/intel-graphics-compiler/intel-graphics-compiler-1.0.12504.5.ebuild b/dev-util/intel-graphics-compiler/intel-graphics-compiler-1.0.12504.5-r1.ebuild |
190 |
similarity index 89% |
191 |
rename from dev-util/intel-graphics-compiler/intel-graphics-compiler-1.0.12504.5.ebuild |
192 |
rename to dev-util/intel-graphics-compiler/intel-graphics-compiler-1.0.12504.5-r1.ebuild |
193 |
index 5d6a7abde11f..5942edc5cd67 100644 |
194 |
--- a/dev-util/intel-graphics-compiler/intel-graphics-compiler-1.0.12504.5.ebuild |
195 |
+++ b/dev-util/intel-graphics-compiler/intel-graphics-compiler-1.0.12504.5-r1.ebuild |
196 |
@@ -19,13 +19,17 @@ S="${WORKDIR}/${PN}-${MY_P}" |
197 |
LICENSE="MIT" |
198 |
SLOT="0" |
199 |
KEYWORDS="~amd64" |
200 |
-IUSE="debug" |
201 |
+IUSE="debug vc" |
202 |
|
203 |
DEPEND=" |
204 |
dev-libs/opencl-clang:${LLVM_MAX_SLOT}= |
205 |
dev-util/spirv-tools |
206 |
sys-devel/lld:${LLVM_MAX_SLOT}= |
207 |
sys-devel/llvm:${LLVM_MAX_SLOT}= |
208 |
+ vc? ( |
209 |
+ dev-libs/intel-vc-intrinsics |
210 |
+ dev-util/spirv-llvm-translator:${LLVM_MAX_SLOT}= |
211 |
+ ) |
212 |
" |
213 |
|
214 |
RDEPEND="${DEPEND}" |
215 |
@@ -40,6 +44,7 @@ PATCHES=( |
216 |
"${FILESDIR}/${PN}-1.0.8173-opencl-clang_version.patch" |
217 |
"${FILESDIR}/${PN}-1.0.8365-disable-git.patch" |
218 |
"${FILESDIR}/${PN}-1.0.11485-include-opencl-c.patch" |
219 |
+ "${FILESDIR}/${PN}-1.0.12504.5-vectorcompiler.patch" |
220 |
) |
221 |
|
222 |
pkg_setup() { |
223 |
@@ -62,6 +67,7 @@ src_configure() { |
224 |
-DCCLANG_INCLUDE_PREBUILDS_DIR="/usr/lib/clang/${llvm_version##*-}/include" |
225 |
-DCCLANG_SONAME_VERSION="${LLVM_MAX_SLOT}" |
226 |
-DCMAKE_LIBRARY_PATH="$(get_llvm_prefix ${LLVM_MAX_SLOT})/$(get_libdir)" |
227 |
+ -DIGC_BUILD__VC_ENABLED="$(usex vc)" |
228 |
-DIGC_OPTION__ARCHITECTURE_TARGET="Linux64" |
229 |
-DIGC_OPTION__CLANG_MODE="Prebuilds" |
230 |
-DIGC_OPTION__LINK_KHRONOS_SPIRV_TRANSLATOR="ON" |
231 |
@@ -72,14 +78,10 @@ src_configure() { |
232 |
-DIGC_OPTION__SPIRV_TOOLS_MODE="Prebuilds" |
233 |
-DIGC_OPTION__SPIRV_TRANSLATOR_MODE="Prebuilds" |
234 |
-DIGC_OPTION__USE_PREINSTALLED_SPRIV_HEADERS="ON" |
235 |
+ $(usex vc '-DIGC_OPTION__VC_INTRINSICS_MODE=Prebuilds' '') |
236 |
-DINSTALL_GENX_IR="ON" |
237 |
-DSPIRVLLVMTranslator_INCLUDE_DIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAX_SLOT}/include/LLVMSPIRVLib" |
238 |
-Wno-dev |
239 |
- |
240 |
- # Compilation with VectorCompiler causes currently a segfault. |
241 |
- # See https://github.com/intel/intel-graphics-compiler/issues/236 |
242 |
- -DIGC_BUILD__VC_ENABLED="OFF" |
243 |
- # -DIGC_OPTION__VC_INTRINSICS_MODE="Prebuilds" |
244 |
) |
245 |
|
246 |
cmake_src_configure |
247 |
|
248 |
diff --git a/dev-util/intel-graphics-compiler/metadata.xml b/dev-util/intel-graphics-compiler/metadata.xml |
249 |
index 084e53520273..35c67387290c 100644 |
250 |
--- a/dev-util/intel-graphics-compiler/metadata.xml |
251 |
+++ b/dev-util/intel-graphics-compiler/metadata.xml |
252 |
@@ -13,6 +13,9 @@ |
253 |
<email>conikost@g.o</email> |
254 |
<name>Conrad Kostecki</name> |
255 |
</maintainer> |
256 |
+ <use> |
257 |
+ <flag name="vc">Enable VectorCompiler for a better performance.</flag> |
258 |
+ </use> |
259 |
<upstream> |
260 |
<remote-id type="github">intel/intel-graphics-compiler</remote-id> |
261 |
</upstream> |