!3 Add intel-graphics-compiler into openEuler 24.03 SP1

From: @juntianlinux 
Reviewed-by: @x56Jason 
Signed-off-by: @x56Jason
This commit is contained in:
openeuler-ci-bot 2024-11-05 01:27:40 +00:00 committed by Gitee
commit f4abbfd194
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
4 changed files with 130 additions and 73 deletions

View File

@ -1,36 +0,0 @@
# intel-graphics-compiler
#### Description
Intel llvm-based graphics compiler for OpenCL
#### Software Architecture
Software architecture description
#### Installation
1. xxxx
2. xxxx
3. xxxx
#### Instructions
1. xxxx
2. xxxx
3. xxxx
#### Contribution
1. Fork the repository
2. Create Feat_xxx branch
3. Commit your code
4. Create Pull Request
#### Gitee Feature
1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
2. Gitee blog [blog.gitee.com](https://blog.gitee.com)
3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
4. The most valuable open source project [GVP](https://gitee.com/gvp)
5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)

View File

@ -1,37 +0,0 @@
# intel-graphics-compiler
#### 介绍
Intel llvm-based graphics compiler for OpenCL
#### 软件架构
软件架构说明
#### 安装教程
1. xxxx
2. xxxx
3. xxxx
#### 使用说明
1. xxxx
2. xxxx
3. xxxx
#### 参与贡献
1. Fork 本仓库
2. 新建 Feat_xxx 分支
3. 提交代码
4. 新建 Pull Request
#### 特技
1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com)
3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目
4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)

BIN
igc-1.0.14828.26.tar.gz Normal file

Binary file not shown.

130
igc.spec Normal file
View File

@ -0,0 +1,130 @@
# Copyright (C) 2023 Intel Corporation
# SPDX-License-Identifier: MIT
#
# This package is downstreamed from Intel GPU RHEL9.2 Package repository:
# https://dgpu-docs.intel.com/driver/installation.html#rhel-install-steps
%global lib_ver 1.0.14828.26
%global openeuler_release 1
%global so_ver 14
Name: intel-graphics-compiler
Version: %{lib_ver}
Release: %{openeuler_release}%{?dist}
Summary: Intel(R) Graphics Compiler for OpenCL(TM)
License: MIT
Group: System Environment/Libraries
URL: https://github.com/intel/intel-graphics-compiler
Source0: igc-%{version}.tar.gz
#This package is x86 only
ExclusiveArch: x86_64
# Details for building igc tree
#<workspace>
# |- igc https://github.com/intel/intel-graphics-compiler, tag: igc-1.0.14828.26
# |- vc-intrinsics https://github.com/intel/vc-intrinsics, tag: v0.13.0
# |- SPIRV-Tools https://github.com/KhronosGroup/SPIRV-Tools, main/8ee3ae5244f5
# |- SPIRV-Headers https://github.com/KhronosGroup/SPIRV-Headers, main/be3c81e3fdd1
# |- llvm-project https://github.com/llvm/llvm-project, release/14.x, tag: llvmorg-14.0.5
# |- llvm/projects/opencl-clang https://github.com/intel/opencl-clang, ocl-open-140/980f1691c5ba
# |- llvm/projects/llvm-spirv https://github.com/KhronosGroup/SPIRV-LLVM-Translator, llvm_release_140/9f4955693403
BuildRequires: cmake gcc-c++ make patch flex bison python3 pkg-config
BuildRequires: libxml2-devel git valgrind python3-mako spirv-tools-devel
%description
Intel(R) Graphics compiler for OpenCL(TM)
The Intel(R) Graphics Compiler for OpenCL(TM) is an llvm based compiler
for OpenCL(TM) targeting Intel Gen graphics hardware architecture.
%package -n intel-igc-core
Summary: Intel(R) Graphics Compiler Core
%description -n intel-igc-core
Intel graphics compiler for OpenCL -- core libs
The Intel(R) Graphics Compiler for OpenCL(TM) is an llvm based compiler
for OpenCL(TM) targeting Intel Gen graphics hardware architecture.
This package includes the core libraries.
%package -n intel-igc-opencl
Summary: Intel(R) Graphics Compiler Frontend
Requires: intel-igc-core = %{version}
%description -n intel-igc-opencl
Intel graphics compiler for OpenCL -- OpenCL library
The Intel(R) Graphics Compiler for OpenCL(TM) is an llvm based compiler
for OpenCL(TM) targeting Intel Gen graphics hardware architecture.
This package includes the library for OpenCL.
%package -n intel-igc-opencl-devel
Summary: Intel(R) Graphics Compiler development package
Requires: intel-igc-opencl = %{version}
%description -n intel-igc-opencl-devel
Intel graphics compiler for OpenCL -- OpenCL development files
The Intel(R) Graphics Compiler for OpenCL(TM) is an llvm based compiler
for OpenCL(TM) targeting Intel Gen graphics hardware architecture.
This package includes files for IGC OpenCL development.
%prep
%autosetup -p1 -n igc-%{version}
%build
export CFLAGS="$CFLAGS -Wno-unused-but-set-variable -Wno-unused-variable"
export CXXFLAGS="$CXXFLAGS -Wno-reorder -Wno-restrict -Wno-catch-value -Wno-unused-but-set-variable -Wno-class-memaccess -Wno-parentheses -Wno-unused-variable -Wno-unused-function -Wno-comment -Wno-pessimizing-move -Wno-range-loop-construct -Wno-sequence-point -Wno-misleading-indentation -Wno-int-in-bool-context -Wno-delete-non-virtual-dtor -Wno-sizeof-array-div -Wno-stringop-truncation -Wno-nonnull-compare -Wno-array-bounds -Wno-odr -Wno-unused-local-typedefs"
export CFLAGS=`echo $CFLAGS | %{__sed} 's/ -flto=auto -ffat-lto-objects//'`
export CXXFLAGS=`echo $CXXFLAGS | %{__sed} 's/ -flto=auto -ffat-lto-objects//'`
mkdir build
pushd build
cmake ../igc \
-Wno-dev \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
-DLLVM_ENABLE_Z3_SOLVER=OFF \
-DIGC_OPTION__ARCHITECTURE_TARGET=Linux64 \
-DIGC_OPTION__LLVM_MODE=Source \
-DIGC_OPTION__LLVM_SOURCES_DIR=%{_builddir}/igc-%{version}/llvm-project/ \
-DIGC_OPTION__SPIRV_TOOLS_MODE=Source \
-DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=%{_builddir}/igc-%{version}/SPIRV-Headers
%make_build
popd
%install
pushd build
%make_install
rm -fv $RPM_BUILD_ROOT/usr/bin/GenX_IR
rm -fv $RPM_BUILD_ROOT/usr/bin/clang-%{so_ver}
rm -fv $RPM_BUILD_ROOT/usr/bin/lld
# Change permissions otherwise opencl install will fail
chmod +x $RPM_BUILD_ROOT/usr/lib64/libopencl-clang.so.%{so_ver}
popd
%files -n intel-igc-core
%defattr(-,root,root)
%license ./igc/LICENSE.md
/usr/lib64/libiga64.so.*
/usr/lib64/libigc.so.*
/usr/bin/iga64
%files -n intel-igc-opencl
%defattr(-,root,root)
%license ./igc/LICENSE.md
/usr/lib64/libopencl-clang.so.%{so_ver}
/usr/lib64/libigdfcl.so.*
/usr/include/opencl-c.h
/usr/include/opencl-c-base.h
%files -n intel-igc-opencl-devel
%defattr(-,root,root)
/usr/include/igc/*
/usr/include/iga/*
/usr/include/visa/*
/usr/lib64/libiga64.so
/usr/lib64/libigc.so
/usr/lib64/libigdfcl.so
/usr/lib64/pkgconfig/*
/usr/lib64/igc/NOTICES.txt
%changelog
* Thu Nov 16 2023 Aubrey Li <aubrey.li@linux.intel.com> - 1.0.14828.26-1
- Initial spec file