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 <[email protected]>
---
 ...-oneapi-dpcpp-cpp-runtime_2022.1.0-3768.bb | 45 +++++++++++++++++++
 .../intel-oneapi-dpcpp-cpp_2022.1.0-3768.bb   | 43 ++++++++++++++++++
 2 files changed, 88 insertions(+)
 create mode 100644 
dynamic-layers/openembedded-layer/recipes-oneapi/dpcpp-compiler/intel-oneapi-dpcpp-cpp-runtime_2022.1.0-3768.bb
 create mode 100644 
dynamic-layers/openembedded-layer/recipes-oneapi/dpcpp-compiler/intel-oneapi-dpcpp-cpp_2022.1.0-3768.bb

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 @@
+SUMMARY = "Intel® oneAPI DPC++/C++ Compiler runtime files"
+DESCRIPTION = "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."
+
+HOMEPAGE = 
"https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-compiler.html";
+
+LICENSE="EULA"
+
+LIC_FILES_CHKSUM = " \
+                     
file://opt/intel/oneapi/licensing/2022.1.0/license.htm;md5=f721d37d5ef65590e052bc47e15feec3
 \
+                     "
+SRC_URI = " \
+            
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
 \
+            
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
 \
+            
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
 \
+            
https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-common-vars-2022.1.0-161_all.deb;subdir=${BPN};name=common-vars
 \
+            
https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-openmp-common-2022.1.0-${PV}_all.deb;subdir=${BPN};name=openmp-common
 \
+            
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
 \
+            "
+
+SRC_URI[dpcpp-runtime.sha256sum] = 
"746d30e0794d0b60ab3d7cd31be9d7981b98c2b0305c238f1a9af5612a22b123"
+SRC_URI[dpcpp-common.sha256sum] = 
"5bc6452a32f5781c96498515d061d8fe9d7bba13b41eb983fe9bb0f792621906"
+SRC_URI[compiler-shared-runtime.sha256sum] = 
"c748adc3bac2f0f4c3419f0b1e5bdc34d1508832819deeef68336c290a2fd2be"
+SRC_URI[common-vars.sha256sum] = 
"52a2726739652b4d3021a9f21d8ca664cd5582853b561e421f003b94789a4469"
+SRC_URI[openmp-common.sha256sum] = 
"aaa06115d6cbad606373a61a512162f132c52360f6058970d7a4df55300fb826"
+SRC_URI[license.sha256sum] = 
"30f36ef653964ac629ce77c2c2d21a923c7ba4ff88936c39a8f39237b7446cca"
+
+S = "${WORKDIR}/${BPN}"
+
+inherit bin_package
+
+RDEPENDS:${PN} += "ocl-icd zlib tbb level-zero-loader bash"
+
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_PACKAGE_DEBUG_SPLIT  = "1"
+
+# doesn't have GNU_HASH (didn't pass LDFLAGS?)
+INSANE_SKIP:${PN} += "textrel dev-so dev-elf ldflags already-stripped 
staticdev rpaths arch useless-rpaths"
+
+FILES_SOLIBSDEV = ""
+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 @@
+SUMMARY = "Intel® oneAPI DPC++/C++ Compiler"
+DESCRIPTION = "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."
+
+HOMEPAGE = 
"https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-compiler.html";
+
+LICENSE="EULA"
+
+LIC_FILES_CHKSUM = " \
+                     
file://opt/intel/oneapi/compiler/2022.1.0/licensing/credist.txt;md5=f772f43824318f221f6363883e44201f
 \
+                     "
+
+SRC_URI = " \
+            
https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-dpcpp-cpp-2022.1.0-${PV}_amd64.deb;subdir=${BPN};name=icx-compiler
 \
+            
https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-compiler-shared-2022.1.0-${PV}_amd64.deb;subdir=${BPN};name=compiler-linker
 \
+            
https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-compiler-shared-common-2022.1.0-${PV}_all.deb;subdir=${BPN};name=shared-common
 \
+            "
+
+SRC_URI[icx-compiler.sha256sum] = 
"c525c416c61cac9aa4e22fec78be95b88d33bca13360d0444c22da52eb8dd318"
+SRC_URI[compiler-linker.sha256sum] = 
"3185dc02473b3d3a34234dd82a17c285e43701455636f93be235b52c2ac6f2c6"
+SRC_URI[shared-common.sha256sum] = 
"c9961b90a9c4f4636c78292b5ba3d6cf6bbd7081f1ce4a4690bb7db94596226e"
+
+S = "${WORKDIR}/${BPN}"
+
+inherit bin_package
+
+RDEPENDS:${PN} += "intel-oneapi-dpcpp-cpp-runtime"
+SKIP_FILEDEPS:${PN} = '1'
+
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_PACKAGE_DEBUG_SPLIT  = "1"
+
+# doesn't have GNU_HASH (didn't pass LDFLAGS?)
+INSANE_SKIP:${PN} += "textrel dev-so dev-elf ldflags already-stripped 
file-rdeps staticdev rpaths arch useless-rpaths"
+
+FILES_SOLIBSDEV = ""
+
+EXCLUDE_FROM_SHLIBS = "1"
+BBCLASSEXTEND = "native nativesdk"
-- 
2.37.3

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#7762): 
https://lists.yoctoproject.org/g/meta-intel/message/7762
Mute This Topic: https://lists.yoctoproject.org/mt/95191947/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-intel/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to