Gentoo Archives: gentoo-commits

From: Conrad Kostecki <conikost@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-util/intel-graphics-compiler/files/, dev-util/intel-graphics-compiler/
Date: Fri, 30 Dec 2022 23:39:07
Message-Id: 1672443518.1451c6c95bf08ce6a4c14b2790622abcac338baa.conikost@gentoo
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>