Build vc-intrintics as part of this project as igc expects it to. Remove
the LLVM fixes as they are all available upstream now. Also depend on
-native for invoking elf_packager.
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Remove patches that are not required now.
IGC_BUILD__USE_KHRONOS_SPIRV_TRANSLATOR has been renamed so it wasn't
taking effect. Remove the option for now.
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Build opencl-clang with llvm-13 and point to latest from ocl-open-130
branch.
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Restructured recipes, having common code in .inc
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Recipe for opencl-clang/13.0.0 is being added to build against
LLVM-13 and higer.
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Also add CXXFLAGS=-Wno-error=deprecated-declarations, to turn
some deprecated LLVM API usage from warnings to errors.
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
ISPC recommends building LLVM 10 with some additional patches to work
around some bugs in this version. Add those patches to our build as well.
https://github.com/ispc/ispc/tree/v1.16.1/llvm_patches
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
ISPC recommends building LLVM 11 with some additional patches to work
around some bugs in this version. Add those patches to our build as well.
https://github.com/ispc/ispc/tree/v1.16.1/llvm_patches
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
ISPC recommends building LLVM 12 with some additional patches to work
around some bugs in this version. Add those patches to our build as well.
https://github.com/ispc/ispc/tree/v1.16.1/llvm_patches
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
new compute-runtime code base including ADL-P support and
one more ADL-S sku with dev id of 0x4690
Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Source move up to the latest that contains ADL-P support.
Also, this includes an extra patch to revert following commit
to avoid unit-test failure during compute-runtime build:
ab52c7023 Change builtin kernels compilation process
License-Update: LICENSE file has been removed and replaced by
LICENSE.md. License is still the same.
Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Updating IGC to add ADL-P support.
All patches under files folder are rebased as well.
Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Intel(R) Implicit SPMD Program Compiler (Intel(R) ISPC)
ispc is a compiler for a variant of the C programming language, with
extensions for single program, multiple data programming. Under the SPMD
model, the programmer writes a program that generally appears to be a
regular serial program, though the execution model is actually that a
number of program instances execute in parallel on the hardware.
https://ispc.github.io/downloads.htmlhttps://github.com/ispc/ispc
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Drop patch which is not required anymore.
Allow to build with llvm-12 and higher versions.
Ref: 447798893e
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Backport a patch to fix:
| error: no match for 'operator!=' (operand types are 'const std:🧵:id' and 'const std:🧵:id')
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Need to move up to newer commit for opencl-clang that matches
to the current igc (1.0.6466).
Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Patches applied from Open PR#171, in order to build with llvm-12.
https://github.com/intel/intel-graphics-compiler/pull/171
Error logs:
(1)
|
/build/tmp/work/corei7-64-poky-linux/intel-graphics-compiler/1.0.6410-r0/git/IGC/Compiler/CISACodeGen/VariableReuseAnalysis.hpp:83:56:
error: 'unsigned int llvm::VectorType::getNumElements() const' is
deprecated: Calling this function via a base VectorType is deprecated.
Either call getElementCount() and handle the case where Scalable is true
or cast to FixedVectorType. [-Werror=deprecated-declarations]
| 83 | NumElts = VTy ? (short)VTy->getNumElements() : 1;
Ref:867de151a5
(2)
|
/build/tmp/work/corei7-64-poky-linux/intel-graphics-compiler/1.0.6410-r0/git/IGC/common/igc_resourceDimTypes.h:69:23:
error: 'const class llvm::Module' has no member named 'getTypeByName'
| 69 | return
module.getTypeByName(ResourceDimensionTypeName[resourceDimTypeId]);
Ref:
fe43168348
Update copyright year in headers in IGC Compiler and some format updates.
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Build opencl-clang with llvm-12 and point to latest from ocl-open-120
branch.
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
meta-clang now builds llvm-spiv-translator as an external project for
llvm12 so stop building it.
It still need to be built for llvm-10 and llvm-11 though.
Ref:
aa1ab889bc
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Refreshed patch.
Drop VectorCompiler build config, which is not require anymore.
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
It includes:
77974f5 Wrap getTypeByName() to build with ToT LLVM
2de2dd4 Mangle intrinsic names
017cfcd Added predication for genx_masked_gather.
5032643 Add gather4_masked_scaled2 and gather_masked_scaled2 intrinsics
a08fe5b Add internal llvm.genx.gaddr intrinsic for constant/global table
support
cf29e35 use a more strict version of cast operation in lowerUnmaskOps
d2a2184 Use standard installation directory variables
7cbfe2e Allow OCL types without address convert in reader
410f50d Fix twice application of writer adaptor
e42097e Add GENX_REWRITE_SEV environment variable for debug
ca68b87 Rewrite single element vectors before spirv
008db27 Removing some whitespaces
3b2b67f Correct docs on gather/scatter scaled instructions
9bba8b5 Delete legacy intrinsics
d684443 Add Instructions.h to llvmVCWrapper Add getNumElements func to
llvmVCWrapper
4d724e3 CMCallable attribute conversion in AdaptorCM
73b335b Add Alignment.h to llvmVCWrapper
04d4900 Ignore non-vc kernels in reader type translation
b3f075d Remove SPIRVMemoryModel setting in GenXSPIRVWriterAdaptor
eabcd20 Add jump_table intrinsic
82711ce Fix to make lit tests pass for llvm7: forward isVolatile arg
explicitly when creating load/store
6506440 add missing default initializer to CMSimdCFLower member
9a03e3e Fix for problem with incorrect MD in LLVM IR
4515d60 avoid returning potentially-unitialized value
414153d Fix for wrr predication if new value is a result of a bitcast
77974f5 (HEAD -> master, origin/master, origin/HEAD) Wrap
getTypeByName() to build with ToT LLVM
2de2dd4 Mangle intrinsic names
017cfcd Added predication for genx_masked_gather.
5032643 Add gather4_masked_scaled2 and gather_masked_scaled2 intrinsics
a08fe5b Add internal llvm.genx.gaddr intrinsic for constant/global table
support
cf29e35 use a more strict version of cast operation in lowerUnmaskOps
d2a2184 Use standard installation directory variables
7cbfe2e Allow OCL types without address convert in reader
410f50d Fix twice application of writer adaptor
e42097e Add GENX_REWRITE_SEV environment variable for debug
ca68b87 Rewrite single element vectors before spirv
008db27 Removing some whitespaces
3b2b67f Correct docs on gather/scatter scaled instructions
9bba8b5 Delete legacy intrinsics
d684443 Add Instructions.h to llvmVCWrapper Add getNumElements func to
llvmVCWrapper
4d724e3 CMCallable attribute conversion in AdaptorCM
73b335b Add Alignment.h to llvmVCWrapper
04d4900 Ignore non-vc kernels in reader type translation
b3f075d Remove SPIRVMemoryModel setting in GenXSPIRVWriterAdaptor
eabcd20 Add jump_table intrinsic
82711ce Fix to make lit tests pass for llvm7: forward isVolatile arg
explicitly when creating load/store
6506440 add missing default initializer to CMSimdCFLower member
9a03e3e Fix for problem with incorrect MD in LLVM IR
4515d60 avoid returning potentially-unitialized value
414153d Fix for wrr predication if new value is a result of a bitcast
23d4b41 Add SPIRV writer adaptor types translation
9eda835 Deduced number of channels under SIMD CFG for functions which
use genx_replicate_mask attribute
3b3f9d9 Add llvm version to test features
e13f274 Fix wrong address space for sampler type in reader
5829ad6 Fix missing compatibility with old translator in
GenXSPIRVReaderAdaptor.cpp
3a287f5 Add GetOldStyleKernelMD function to GenXMetadata.h
60dec9a Uniform GenXMetadata.h with AdaptorsCommon.h
ec7de0b Move SPIRV-specific parameters to AdaptorsCommon.h
b869876 Use consume_front in SPIRV reader adaptor
2bb7a70 Fix SPIRV reader adaptor mistranslation of non-global pointers
40db2bb Add SPIRV reader adaptor types translation
65b7d2b Add more correct wrapper for global value address space
2e496ce Synchronize repository
Drop patch, which is already merged and avaialble.
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
This reverts commit 3cf8482e43.
The issues have since been fixed upstream and the tree has been
restored.
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
IGC has a copy of legacy spirv translator and additional
patcheset to produce spirv shared object (libSPIRVDLL.so) to
support Vector compiler.
But we build spirv externally and link, which does not provide spirv
shared object (libSPIRVDLL.so).
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Fixes errors seen when multilib is turned on
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Include compatibility for both LLVM 10 and LLVM 11. Vector Compiler
fails to compile for LLVM 11 so disable the build for now.
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Point to latest for llvm 11 branch as there's no official release yet.
And, pick the version of opencl-clang based on LLVMVERSION.
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Ensure that we can build with both dunfell (LLVM10) and current master
(LLVM11) of meta-clang. Look for LLVMVERSION set by meta-clang and
include relevant patches based on the version.
There's no official release for SPIRV-LLVM-Translator yet for LLVM11 so
pick the latest.
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Improve the reproducibility of intel-graphics-compiler-src by replacing
the absolute build path with relative one in bison compiled files.
The --file-prefix-map could only work on bison 3.7 onward so add it only
when bison is newer than 3.7.
│ │ │ -#ifndef
YY_CISA_YOCTO_POKY_MASTER_BUILD_TMP_WORK_SKYLAKE_64_POKY_LINUX_INTEL_GRAPHICS_COMPILER_1_0_4241_R0_BUILD_IGC_VISA_CISA_TAB_HPP_INCLUDED
│ │ │ -# define
YY_CISA_YOCTO_POKY_MASTER_BUILD_TMP_WORK_SKYLAKE_64_POKY_LINUX_INTEL_GRAPHICS_COMPILER_1_0_4241_R0_BUILD_IGC_VISA_CISA_TAB_HPP_INCLUDED
│ │ │ +#ifndef
YY_CISA_YOCTO_POKY_MASTER_BUILD_2_TMP_WORK_SKYLAKE_64_POKY_LINUX_INTEL_GRAPHICS_COMPILER_1_0_4241_R0_BUILD_IGC_VISA_CISA_TAB_HPP_INCLUDED
│ │ │ +# define
YY_CISA_YOCTO_POKY_MASTER_BUILD_2_TMP_WORK_SKYLAKE_64_POKY_LINUX_INTEL_GRAPHICS_COMPILER_1_0_4241_R0_BUILD_IGC_VISA_CISA_TAB_HPP_INCLUDED
Also suppress #line directives in scanner that have the build path:
│ │ │ -#line 2593
"/yocto/poky-master/build/tmp/work/skylake-64-poky-linux/intel-graphics-compiler/1.0.4241-r0/build/IGC/visa/lex.CISA.cpp"
│ │ │ +#line 2593
"/yocto/poky-master/build-2/tmp/work/skylake-64-poky-linux/intel-graphics-compiler/1.0.4241-r0/build/IGC/visa/lex.CISA.cpp"
Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
This reverts commit c6ca760d24.
This breaks builds using meta-intel master with oe-core dunfell because
the bison option isn't available on older versions.
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
VC Intrinsics project contains a set of new intrinsics on top of core
LLVM IR instructions that represent SIMD semantics of a program
targeting GPU.
Ref:
https://github.com/intel/vc-intrinsics
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
NOTICES.txt is updated and refactored. Added below:
Khronos Group - SPIRV-LLVM License
Khronos Group OpenCL Registry License
Dropped patch, which is not required anymore.
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
In order to use this recipe with zeus, link to llvm
based on LLVMVERSION.
In zeus release, LLVMVERSION points to 9.x.
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
opencl-clang project release branches links to
different LLVM versions. So, in order to use latest igc version
with both clang 10.x and 9.x, added seprated recipes.
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
In order to use latest opencl versions with zeus, carrying llvm9 specific
patches, and conditinally applying based on LLVMVERSION.
In zeus release, LLVMVERSION points to 9.x.
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
dunfell has a change in cmake class that forces cmake to use relative
RPATHs but when this recipe is used with zeus, we'd need to explicitly
make sure that binaries don't have absolute paths.
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
The name of project has changed to oneDNN. Enable GPU engine to be built
by default which would need clang layer to be included.
Also include two minor fixes to install logic that have been submitted
for review upstream.
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Error log:
clang (LLVM option parsing): Unknown command line argument '-pgo-warn-misexpect'.
Try: 'clang (LLVM option parsing) --help'
Force opencl-clang to link with shared clang-cpp for target builds and
explicitly link with spirv library because of a change in behaviour in llvm 10.
Use the patch to link with all static libs only for native cases where meta-clang
default to building static libs only by default.
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Use a submitted patch instead to point to correct llvm-tblgen and include
a fix to really link with all libs when LLVM libs are built statically.
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Remove patches that are present in this version of llvm and backport a
fix to prevent linking errors.
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
In order to include visa/ headers from igc, set
IGC_DIR path
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Dropped the patch which is already upstream.
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
LIBCPLUSPLUS is now set to use GNU libstdc++ by default. A new variable
RUNTIME can be used to change this behaviour.
6895c79e05
Remove this bbappend as it is not required any more.
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
This shouldn't be forced upon users including the layer without using the
machine value from meta-intel.
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
LLD linker is no longer the default for clang-native, so
we can build binaries linking to clang-native using GNU ld.
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
LLD linker is no longer the default for clang-native, so
we can build binaries linking to clang-native using GNU ld.
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
LLD linker is no longer the default for clang-native, so
we can build binaries linking to clang-native using GNU ld.
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
No need to set LLVM_TARGETS_TO_BUILD here as it
is set by meta-clang layer.
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
We'd like to ignore the older tags using year and work week strings like
2018ww19-010806 and use only the ones that have numbers and are in
x.y.z format.
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
There is no need to invoke the cmake target explicitly now to have cmake
files installed. Remove the append to do_install doing that.
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Removed patches which are not required anymore.
Updated python version to 3.
In this release, fixed issue/improvements can be
found here:
https://github.com/intel/intel-graphics-compiler/releases/tag/igc-1.0.11
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
With this upgrade, by default -DPREFERRED_LLVM_VERSION="9.0.0" is set.
Changes can be check here:
https://github.com/intel/opencl-clang
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
The library isn't explicitly linking against these libs and loads them
at runtime. Add these to RDEPENDS to make sure these are present.
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
The Intel(R) Graphics Compute Runtime for OpenCL(TM) is an open source
project to converge Intel's development efforts on OpenCL(TM) compute
stacks supporting the GEN graphics hardware architecture.
For more details, see:
https://01.org/compute-runtime
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
* Use clang and lld for native builds to remain in sync with clang layer.
* fix the license field to point to correct block of license in source
file.
* Include patches to ignore warnings being marked as errors when building
with clang and to fix an issue with inclusion of debug functions when
NDEBUG is defined.
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Also include a patch to not build tests to prevent passing the build
flag to every component that is built out of tree.
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Switch to using latest on ocl-release-80 branch and to using
using lld for native builds to remain in sync with clang layer.
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Since this is managed as a separate repository, build it as a separate
component instead of bundling with LLVM/clang.
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Use a custom regex to make sure we exclude tags starting with something
other than igc and those that include versions starting with 19.
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
igc needs components from LLVM and clang to be built. Move it to
dynamic-layers/clang-layer so world builds don't fail when clang layer
is not available.
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Common clang is a thin wrapper library around clang. Common clang has
OpenCL-oriented API and is capable to compile OpenCL C kernels to SPIR-V
modules.
This adds a bbappend to clang recipe from meta-clang to build the
necessary components and moves it to dynamic layers so it's built only
when clang-layer is included.
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>