diff options
author | Naveen Saini <naveen.kumar.saini@intel.com> | 2022-11-22 16:42:14 +0800 |
---|---|---|
committer | Anuj Mittal <anuj.mittal@intel.com> | 2022-11-23 10:17:19 +0800 |
commit | 555a2f97f39dd67966bb8a206073d5bce6037223 (patch) | |
tree | dcdb52282ffe24a31f1ed98d34a6c8fa4b94c039 /dynamic-layers | |
parent | c4aa736317ff114fcf5c3e461eb70854d0379220 (diff) | |
download | meta-intel-555a2f97f39dd67966bb8a206073d5bce6037223.tar.gz |
intel-oneapi-dpcpp-cpp: add Intel(R) oneAPI DPC++/C++ Compiler
The Intel® oneAPI DPC++/C++ Compiler provides optimizations
that help your applications run faster on Intel® 64 architectures with support
for the latest C, C++, and SYCL language standards. This compiler produces
optimized code that can run significantly faster by taking advantage of the
ever-increasing core count and vector register width in Intel® Xeon® processors
and compatible processors.
https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-compiler.html
The compiler binaries are installed in /opt and can be invoked to compile
on target or using the SDK.
Currently dpcpp icx identify only x86_64-oe-linux triple, so it should be tested
with 'nodistro' DISTRO.
DISTRO ?= "nodistro"
To run SYCL program, it has dependencies on OpenCL components.
IMAGE_INSTALL:append = " intel-compute-runtime intel-graphics-compiler clang"
To install icx toolchain and runtime libraries
IMAGE_INSTALL:append = " intel-oneapi-dpcpp-cpp-runtime intel-oneapi-dpcpp-cpp-runtime-dev "
IMAGE_INSTALL:append = " intel-oneapi-dpcpp-cpp intel-oneapi-dpcpp-cpp-dev "
Once image is built and boots, an env script needs to be run to setup compiler environment and
also required to create dynamic linker symlink at /lib64
$ source /opt/intel/oneapi/compiler/2022.1.0/env/vars.sh
$ mkdir -p /lib64
$ ln -sf /lib/ld-linux-x86-64.so.2 /lib64/ld-linux-x86-64.so.2
To build an SYCL sample application, following command should be used
$ icpx --target=x86_64-oe-linux -fsycl simple-sycl-app.c -o simple-sycl-app
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Diffstat (limited to 'dynamic-layers')
2 files changed, 88 insertions, 0 deletions
diff --git a/dynamic-layers/openembedded-layer/recipes-oneapi/dpcpp-compiler/intel-oneapi-dpcpp-cpp-runtime_2022.1.0-3768.bb b/dynamic-layers/openembedded-layer/recipes-oneapi/dpcpp-compiler/intel-oneapi-dpcpp-cpp-runtime_2022.1.0-3768.bb new file mode 100644 index 00000000..8fe3b1d3 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-oneapi/dpcpp-compiler/intel-oneapi-dpcpp-cpp-runtime_2022.1.0-3768.bb | |||
@@ -0,0 +1,45 @@ | |||
1 | SUMMARY = "Intel® oneAPI DPC++/C++ Compiler runtime files" | ||
2 | DESCRIPTION = "The Intel® oneAPI DPC++/C++ Compiler provides optimizations \ | ||
3 | that help your applications run faster on Intel® 64 architectures with support \ | ||
4 | for the latest C, C++, and SYCL language standards. This compiler produces \ | ||
5 | optimized code that can run significantly faster by taking advantage of the \ | ||
6 | ever-increasing core count and vector register width in Intel® Xeon® processors \ | ||
7 | and compatible processors." | ||
8 | |||
9 | HOMEPAGE = "https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-compiler.html" | ||
10 | |||
11 | LICENSE="EULA" | ||
12 | |||
13 | LIC_FILES_CHKSUM = " \ | ||
14 | file://opt/intel/oneapi/licensing/2022.1.0/license.htm;md5=f721d37d5ef65590e052bc47e15feec3 \ | ||
15 | " | ||
16 | SRC_URI = " \ | ||
17 | https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-compiler-dpcpp-cpp-runtime-2022.1.0-${PV}_amd64.deb;subdir=${BPN};name=dpcpp-runtime \ | ||
18 | https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-compiler-dpcpp-cpp-common-2022.1.0-${PV}_all.deb;subdir=${BPN};name=dpcpp-common \ | ||
19 | https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-compiler-shared-runtime-2022.1.0-${PV}_amd64.deb;subdir=${BPN};name=compiler-shared-runtime \ | ||
20 | https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-common-vars-2022.1.0-161_all.deb;subdir=${BPN};name=common-vars \ | ||
21 | https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-openmp-common-2022.1.0-${PV}_all.deb;subdir=${BPN};name=openmp-common \ | ||
22 | https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-common-licensing-2022.1.0-2022.1.0-161_all.deb;subdir=${BPN};name=license \ | ||
23 | " | ||
24 | |||
25 | SRC_URI[dpcpp-runtime.sha256sum] = "746d30e0794d0b60ab3d7cd31be9d7981b98c2b0305c238f1a9af5612a22b123" | ||
26 | SRC_URI[dpcpp-common.sha256sum] = "5bc6452a32f5781c96498515d061d8fe9d7bba13b41eb983fe9bb0f792621906" | ||
27 | SRC_URI[compiler-shared-runtime.sha256sum] = "c748adc3bac2f0f4c3419f0b1e5bdc34d1508832819deeef68336c290a2fd2be" | ||
28 | SRC_URI[common-vars.sha256sum] = "52a2726739652b4d3021a9f21d8ca664cd5582853b561e421f003b94789a4469" | ||
29 | SRC_URI[openmp-common.sha256sum] = "aaa06115d6cbad606373a61a512162f132c52360f6058970d7a4df55300fb826" | ||
30 | SRC_URI[license.sha256sum] = "30f36ef653964ac629ce77c2c2d21a923c7ba4ff88936c39a8f39237b7446cca" | ||
31 | |||
32 | S = "${WORKDIR}/${BPN}" | ||
33 | |||
34 | inherit bin_package | ||
35 | |||
36 | RDEPENDS:${PN} += "ocl-icd zlib tbb level-zero-loader bash" | ||
37 | |||
38 | INHIBIT_PACKAGE_STRIP = "1" | ||
39 | INHIBIT_PACKAGE_DEBUG_SPLIT = "1" | ||
40 | |||
41 | # doesn't have GNU_HASH (didn't pass LDFLAGS?) | ||
42 | INSANE_SKIP:${PN} += "textrel dev-so dev-elf ldflags already-stripped staticdev rpaths arch useless-rpaths" | ||
43 | |||
44 | FILES_SOLIBSDEV = "" | ||
45 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/dynamic-layers/openembedded-layer/recipes-oneapi/dpcpp-compiler/intel-oneapi-dpcpp-cpp_2022.1.0-3768.bb b/dynamic-layers/openembedded-layer/recipes-oneapi/dpcpp-compiler/intel-oneapi-dpcpp-cpp_2022.1.0-3768.bb new file mode 100644 index 00000000..e396f1e7 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-oneapi/dpcpp-compiler/intel-oneapi-dpcpp-cpp_2022.1.0-3768.bb | |||
@@ -0,0 +1,43 @@ | |||
1 | SUMMARY = "Intel® oneAPI DPC++/C++ Compiler" | ||
2 | DESCRIPTION = "The Intel® oneAPI DPC++/C++ Compiler provides optimizations \ | ||
3 | that help your applications run faster on Intel® 64 architectures with support \ | ||
4 | for the latest C, C++, and SYCL language standards. This compiler produces \ | ||
5 | optimized code that can run significantly faster by taking advantage of the \ | ||
6 | ever-increasing core count and vector register width in Intel® Xeon® processors \ | ||
7 | and compatible processors." | ||
8 | |||
9 | HOMEPAGE = "https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-compiler.html" | ||
10 | |||
11 | LICENSE="EULA" | ||
12 | |||
13 | LIC_FILES_CHKSUM = " \ | ||
14 | file://opt/intel/oneapi/compiler/2022.1.0/licensing/credist.txt;md5=f772f43824318f221f6363883e44201f \ | ||
15 | " | ||
16 | |||
17 | SRC_URI = " \ | ||
18 | https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-dpcpp-cpp-2022.1.0-${PV}_amd64.deb;subdir=${BPN};name=icx-compiler \ | ||
19 | https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-compiler-shared-2022.1.0-${PV}_amd64.deb;subdir=${BPN};name=compiler-linker \ | ||
20 | https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-compiler-shared-common-2022.1.0-${PV}_all.deb;subdir=${BPN};name=shared-common \ | ||
21 | " | ||
22 | |||
23 | SRC_URI[icx-compiler.sha256sum] = "c525c416c61cac9aa4e22fec78be95b88d33bca13360d0444c22da52eb8dd318" | ||
24 | SRC_URI[compiler-linker.sha256sum] = "3185dc02473b3d3a34234dd82a17c285e43701455636f93be235b52c2ac6f2c6" | ||
25 | SRC_URI[shared-common.sha256sum] = "c9961b90a9c4f4636c78292b5ba3d6cf6bbd7081f1ce4a4690bb7db94596226e" | ||
26 | |||
27 | S = "${WORKDIR}/${BPN}" | ||
28 | |||
29 | inherit bin_package | ||
30 | |||
31 | RDEPENDS:${PN} += "intel-oneapi-dpcpp-cpp-runtime" | ||
32 | SKIP_FILEDEPS:${PN} = '1' | ||
33 | |||
34 | INHIBIT_PACKAGE_STRIP = "1" | ||
35 | INHIBIT_PACKAGE_DEBUG_SPLIT = "1" | ||
36 | |||
37 | # doesn't have GNU_HASH (didn't pass LDFLAGS?) | ||
38 | INSANE_SKIP:${PN} += "textrel dev-so dev-elf ldflags already-stripped file-rdeps staticdev rpaths arch useless-rpaths" | ||
39 | |||
40 | FILES_SOLIBSDEV = "" | ||
41 | |||
42 | EXCLUDE_FROM_SHLIBS = "1" | ||
43 | BBCLASSEXTEND = "native nativesdk" | ||