diff --git a/scripts/specs/centos/igc.spec b/scripts/specs/centos/igc.spec new file mode 100644 index 0000000000..a4883501d0 --- /dev/null +++ b/scripts/specs/centos/igc.spec @@ -0,0 +1,143 @@ +%global igc_commit_id c7dec76146e3a18b9ed9f489d033e65ff224e869 +%global cclang_commit_id 41cad395859684b18e762ca4a2c713c2fa349622 +%global spirv_llvm_commit_id 83298e3c9b124486c16d0fde54c764a6c5a2b554 +%global llvm_commit_id release_80 +%global clang_commit_id release_80 +%global llvm_patches_id a4af5b1386430fdbc7ea82b95706f231c656b5cf +%global major_version 1 +%global minor_version 0 +%global patch_version 10 +%global package_release 1 + +Name: intel-igc +Version: %{major_version}.%{minor_version}.%{patch_version} +Release: %{package_release}%{?dist} +Summary: Intel(R) Graphics Compiler for OpenCL(TM) + +Group: System Environment/Libraries +License: MIT +URL: https://github.com/intel/intel-graphics-compiler +Source0: https://github.com/intel/intel-graphics-compiler/archive/%{igc_commit_id}/igc.tar.gz +Source1: https://github.com/intel/opencl-clang/archive/%{cclang_commit_id}/intel-opencl-clang.tar.gz +Source2: https://github.com/KhronosGroup/SPIRV-LLVM-Translator/archive/%{spirv_llvm_commit_id}/spirv-llvm-translator.tar.gz +Source3: https://github.com/llvm-mirror/llvm/archive/%{llvm_commit_id}/llvm-80.tar.gz +Source4: https://github.com/llvm-mirror/clang/archive/%{clang_commit_id}/clang-80.tar.gz +Source5: https://github.com/intel/llvm-patches/archive/%{llvm_patches_id}/llvm-patches.tar.gz + +BuildRequires: centos-release-scl epel-release +BuildRequires: devtoolset-4-gcc-c++ cmake3 +BuildRequires: git make patch pkgconfig python2 procps bison flex + +%description + +%package core +Summary: Intel(R) Graphics Compiler Core + +%description core + +%package opencl +Summary: Intel(R) Graphics Compiler Frontend for OpenCL(TM) +Requires: %{name}-core = %{version}-%{release} + +%description opencl + +%package opencl-devel +Summary: Intel(R) Graphics Compiler development package for OpenCL(TM) +Requires: %{name}-opencl = %{version}-%{release} + +%description opencl-devel + + + +%clean +echo "==== CLEAN ====" + +%prep +echo "==== PREP ====" + +mkdir llvm_source +tar xzf $RPM_SOURCE_DIR/llvm-80.tar.gz -C llvm_source --strip-components=1 + +cd llvm_source/tools +mkdir clang +tar xzf $RPM_SOURCE_DIR/clang-80.tar.gz -C clang --strip-components=1 +cd clang +git init +git add . +git config --local user.name "pbuilder" +git config --local user.email "pbuilder@intel.com" +git commit -a -m "add sources" + +cd ../../projects/ +mkdir opencl-clang llvm-spirv +tar xzf $RPM_SOURCE_DIR/intel-opencl-clang.tar.gz -C opencl-clang --strip-components=1 +cd opencl-clang +sed -i "s/ccfe04576c13497b9c422ceef0b6efe99077a392/master/" CMakeLists.txt +sed -i "s/83298e3c9b124486c16d0fde54c764a6c5a2b554/master/" CMakeLists.txt +cd .. + +tar xzf $RPM_SOURCE_DIR/spirv-llvm-translator.tar.gz -C llvm-spirv --strip-components=1 +cd llvm-spirv +git init +git add . +git config --local user.name "pbuilder" +git config --local user.email "pbuilder@intel.com" +git commit -a -m "add sources" +cd ../../.. + +mkdir igc +tar xzf $RPM_SOURCE_DIR/igc.tar.gz -C igc --strip-components=1 + +mkdir llvm_patches +tar xzf $RPM_SOURCE_DIR/llvm-patches.tar.gz -C llvm_patches --strip-components=1 + + +%build +echo "==== BUILD ====" +mkdir build + +pushd build +scl enable devtoolset-4 "cmake3 ../igc -Wno-dev -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCOMMON_CLANG_LIBRARY_NAME=opencl-clang -DIGC_PREFERRED_LLVM_VERSION=8.0.0" +scl enable devtoolset-4 "make -j `nproc`" +popd + + +%install +echo "==== INSTALL ====" +cd build +make -j`nproc` install DESTDIR=$RPM_BUILD_ROOT + +rm -fv $RPM_BUILD_ROOT/usr/bin/GenX_IR +rm -fv $RPM_BUILD_ROOT/usr/bin/iga64 +rm -fv $RPM_BUILD_ROOT/usr/bin/clang-8 +rm -fv $RPM_BUILD_ROOT/usr/include/opencl-c.h +chmod +x $RPM_BUILD_ROOT/usr/lib64/libopencl-clang.so.8 + +echo "==== DONE ====" + +%files core +%defattr(-,root,root) +/usr/lib64/libiga64.so.%{major_version} +/usr/lib64/libiga64.so.%{major_version}.%{minor_version}.%{patch_version} +/usr/lib64/libigc.so.%{major_version} +/usr/lib64/libigc.so.%{major_version}.%{minor_version}.%{patch_version} + +%files opencl +%defattr(-,root,root) +/usr/lib64/libigdfcl.so.%{major_version} +/usr/lib64/libigdfcl.so.%{major_version}.%{minor_version}.%{patch_version} +/usr/lib64/libopencl-clang.so.8 + +%files 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/* + +%doc + +%changelog diff --git a/scripts/specs/centos/intel-gmmlib.spec b/scripts/specs/centos/intel-gmmlib.spec new file mode 100644 index 0000000000..0ba9d4c65d --- /dev/null +++ b/scripts/specs/centos/intel-gmmlib.spec @@ -0,0 +1,73 @@ +%global gmmlib_commit_id e834bcd +%global major_version 19 +%global minor_version 2 +%global patch_version 3 +%global package_release 1 +%global api_major_version 9 +%global api_minor_version 0 +%global api_patch_version 589 + +Name: intel-gmmlib +Version: %{major_version}.%{minor_version}.%{patch_version} +Release: %{package_release}%{?dist} +Summary: Intel(R) Graphics Memory Management Library Package + +Group: System Environment/Libraries +License: MIT +URL: https://github.com/intel/gmmlib +Source0: https://github.com/intel/gmmlib/archive/%{gmmlib_commit_id}.tar.gz + +%if 0%{?el7} +BuildRequires: centos-release-scl epel-release +BuildRequires: devtoolset-4-gcc-c++ cmake3 +%else +BuildRequires: gcc-c++ cmake +%endif + +BuildRequires: make + +%description + +%package devel +Summary: Intel(R) Graphics Memory Management Library development package +Requires: %{name} = %{version}-%{release} + +%description devel + +%prep + +%build +echo "==== BUILD ====" +rm -rf * +mkdir gmmlib +tar xzf $RPM_SOURCE_DIR/%{gmmlib_commit_id}.tar.gz -C gmmlib --strip-components=1 + +mkdir build +cd build + +%if 0%{?el7} +echo building for el7: %{el7} +scl enable devtoolset-4 "cmake3 -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_TYPE=Release -DCMAKE_BUILD_TYPE=Release -DPATCH_VERSION=%{api_patch_version} -DRUN_TEST_SUITE:BOOL='ON' ../gmmlib" +scl enable devtoolset-4 "make -j`nproc` DESTDIR=$RPM_BUILD_DIR/build/install igfx_gmmumd_dll install" +%else +echo building for Fedora +cmake -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_TYPE=Release -DCMAKE_BUILD_TYPE=Release -DPATCH_VERSION=%{api_patch_version} -DRUN_TEST_SUITE:BOOL='ON' ../gmmlib +make -j `nproc` DESTDIR=$RPM_BUILD_DIR/build/install igfx_gmmumd_dll install +%endif + +%install +echo "==== INSTALL ====" +cp -ar $RPM_BUILD_DIR/build/install/usr $RPM_BUILD_ROOT +strip $RPM_BUILD_ROOT/usr/lib64/libigdgmm.so +echo "==== DONE ====" + +%files +%defattr(-,root,root) +/usr/lib64/libigdgmm.so.%{api_major_version} +/usr/lib64/libigdgmm.so.%{api_major_version}.%{api_minor_version}.%{api_patch_version} + +%files devel +%defattr(-,root,root) +/usr/include/igdgmm/* +/usr/lib64/libigdgmm.so +/usr/lib64/pkgconfig/igdgmm.pc diff --git a/scripts/specs/centos/neo.spec b/scripts/specs/centos/neo.spec new file mode 100644 index 0000000000..279e7df9fb --- /dev/null +++ b/scripts/specs/centos/neo.spec @@ -0,0 +1,73 @@ +%global neo_commit_id ab74b60 + +Name: intel-opencl +Version: 19.28.13502 +Release: 1%{?dist} +Summary: Intel(R) Graphics Compute Runtime for OpenCL(TM) + +Group: System Environment/Libraries +License: MIT +URL: https://github.com/intel/compute-runtime +Source0: https://github.com/intel/compute-runtime/archive/%{neo_commit_id}.tar.gz + +%if 0%{?el7} +BuildRequires: centos-release-scl epel-release +BuildRequires: devtoolset-4-gcc-c++ cmake3 make +%else +BuildRequires: make libva-devel gcc-c++ cmake +%endif + +BuildRequires: intel-gmmlib-devel >= 19.2.3 +Requires: intel-gmmlib >= 19.2.3 + +BuildRequires: intel-igc-opencl-devel >= 1.0.10 +Requires: intel-igc-opencl >= 1.0.10 + +%description + + +%prep + + +%build +echo "==== BUILD ====" +rm -rf * + +mkdir neo +tar xzf $RPM_SOURCE_DIR/%{neo_commit_id}.tar.gz -C neo --strip-components=1 + +mkdir build +cd build + +%if 0%{?el7} +scl enable devtoolset-4 "cmake3 ../neo -DCMAKE_BUILD_TYPE=Release -DNEO_DRIVER_VERSION=%{version}" +scl enable devtoolset-4 "make -j`nproc` igdrcl_dll" +%else +cmake ../neo -DCMAKE_BUILD_TYPE=Release -DNEO_DRIVER_VERSION=%{version} +make -j`nproc` igdrcl_dll +%endif + +echo "==== DONE ====" + + +%install +echo "==== INSTALL ====" +mkdir -p $RPM_BUILD_ROOT/usr/lib64/intel-opencl +mkdir -p $RPM_BUILD_ROOT/etc/OpenCL/vendors +cp $RPM_BUILD_DIR/build/bin/libigdrcl.so $RPM_BUILD_ROOT/usr/lib64/intel-opencl +strip $RPM_BUILD_ROOT/usr/lib64/intel-opencl/libigdrcl.so +echo "/usr/lib64/intel-opencl/libigdrcl.so" > $RPM_BUILD_ROOT/etc/OpenCL/vendors/intel.icd +echo "==== DONE ====" + + +%files +%defattr(-,root,root) +/usr/lib64/intel-opencl/libigdrcl.so + +%config(noreplace) +/etc/OpenCL/vendors/intel.icd + +# %doc + + +# %changelog diff --git a/scripts/specs/fedora/igc.spec b/scripts/specs/fedora/igc.spec new file mode 100644 index 0000000000..c7517e3f0b --- /dev/null +++ b/scripts/specs/fedora/igc.spec @@ -0,0 +1,90 @@ +%global igc_commit_id c7dec76146e3a18b9ed9f489d033e65ff224e869 +%global major_version 1 +%global minor_version 0 +%global patch_version 10 +%global package_release 2 + +Name: intel-igc +Version: %{major_version}.%{minor_version}.%{patch_version} +Release: %{package_release}%{?dist} +Summary: Intel(R) Graphics Compiler for OpenCL(TM) + +Group: System Environment/Libraries +License: MIT +URL: https://github.com/intel/intel-graphics-compiler +Source0: https://github.com/intel/intel-graphics-compiler/archive/%{igc_commit_id}/igc.tar.gz + +BuildRequires: cmake clang gcc-c++ make procps flex bison python2 llvm-devel clang-devel pkg-config +BuildRequires: intel-opencl-clang-devel + +%description + +%package core +Summary: Intel(R) Graphics Compiler Core + +%description core + +%package opencl +Summary: Intel(R) Graphics Compiler Frontend for OpenCL(TM) +Requires: %{name}-core = %{version}-%{release} + +%description opencl + +%package opencl-devel +Summary: Intel(R) Graphics Compiler development package for OpenCL(TM) +Requires: %{name}-opencl = %{version}-%{release} + +%description opencl-devel + + +%prep + +%build +echo "==== BUILD ====" +rm -rf * + +mkdir igc +tar xzf $RPM_SOURCE_DIR/igc.tar.gz -C igc --strip-components=1 + +mkdir build +cd build + +cmake ../igc -Wno-dev -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCOMMON_CLANG_LIBRARY_NAME=opencl-clang -DIGC_PREFERRED_LLVM_VERSION=8.0.0 +make -j 1 + +%install +echo "==== INSTALL ====" +cd build +make -j`nproc` install DESTDIR=$RPM_BUILD_ROOT + +rm -fv $RPM_BUILD_ROOT/usr/bin/GenX_IR +rm -fv $RPM_BUILD_ROOT/usr/bin/iga64 +echo "==== DONE ====" + +%files core +%defattr(-,root,root) +/usr/lib64/libiga64.so.%{major_version} +/usr/lib64/libiga64.so.%{major_version}.%{minor_version}.%{patch_version} +/usr/lib64/libigc.so.%{major_version} +/usr/lib64/libigc.so.%{major_version}.%{minor_version}.%{patch_version} + +%files opencl +%defattr(-,root,root) +/usr/lib64/libigdfcl.so.%{major_version} +/usr/lib64/libigdfcl.so.%{major_version}.%{minor_version}.%{patch_version} + +%files 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/* + +# %doc + + +# %changelog + diff --git a/scripts/specs/fedora/intel-gmmlib.spec b/scripts/specs/fedora/intel-gmmlib.spec new file mode 100644 index 0000000000..a73ba765a7 --- /dev/null +++ b/scripts/specs/fedora/intel-gmmlib.spec @@ -0,0 +1,59 @@ +%global gmmlib_commit_id e834bcd +%global major_version 19 +%global minor_version 2 +%global patch_version 3 +%global package_release 1 +%global api_major_version 9 +%global api_minor_version 0 +%global api_patch_version 589 + +Name: intel-gmmlib +Version: %{major_version}.%{minor_version}.%{patch_version} +Release: %{package_release}%{?dist} +Summary: Intel(R) Graphics Memory Management Library Package + +Group: System Environment/Libraries +License: MIT +URL: https://github.com/intel/gmmlib +Source0: https://github.com/intel/gmmlib/archive/%{gmmlib_commit_id}.tar.gz + +BuildRequires: cmake gcc-c++ ninja-build make + +%description + +%package devel +Summary: Intel(R) Graphics Memory Management Library development package +Requires: %{name} = %{version}-%{release} + +%description devel + +%prep + +%build +echo "==== BUILD ====" +rm -rf * +mkdir gmmlib +tar xzf $RPM_SOURCE_DIR/%{gmmlib_commit_id}.tar.gz -C gmmlib --strip-components=1 + +mkdir build +cd build + +cmake -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_TYPE=Release -DCMAKE_BUILD_TYPE=Release -DPATCH_VERSION=%{api_patch_version} -DRUN_TEST_SUITE:BOOL='ON' ../gmmlib +make -j `nproc` DESTDIR=$RPM_BUILD_DIR/build/install igfx_gmmumd_dll install + +%install +echo "==== INSTALL ====" +cp -ar $RPM_BUILD_DIR/build/install/usr $RPM_BUILD_ROOT +strip $RPM_BUILD_ROOT/usr/lib64/libigdgmm.so +echo "==== DONE ====" + +%files +%defattr(-,root,root) +/usr/lib64/libigdgmm.so.%{api_major_version} +/usr/lib64/libigdgmm.so.%{api_major_version}.%{api_minor_version}.%{api_patch_version} + +%files devel +%defattr(-,root,root) +/usr/include/igdgmm/* +/usr/lib64/libigdgmm.so +/usr/lib64/pkgconfig/igdgmm.pc diff --git a/scripts/specs/fedora/neo.spec b/scripts/specs/fedora/neo.spec new file mode 100644 index 0000000000..eff5139aa5 --- /dev/null +++ b/scripts/specs/fedora/neo.spec @@ -0,0 +1,63 @@ +%global neo_commit_id ab74b60 + +Name: intel-opencl +Version: 19.28.13502 +Release: 1%{?dist} +Summary: Intel(R) Graphics Compute Runtime for OpenCL(TM) + +Group: System Environment/Libraries +License: MIT +URL: https://github.com/intel/compute-runtime +Source0: https://github.com/intel/compute-runtime/archive/%{neo_commit_id}.tar.gz + +BuildRequires: cmake gcc-c++ ninja-build make procps python2 sed libva-devel + +BuildRequires: intel-gmmlib-devel >= 19.2.3 +Requires: intel-gmmlib >= 19.2.3 + +BuildRequires: intel-igc-opencl-devel >= 1.0.10 +Requires: intel-igc-opencl >= 1.0.10 + +%description + + +%prep + + +%build +echo "==== BUILD ====" +rm -rf * + +mkdir neo +tar xzf $RPM_SOURCE_DIR/%{neo_commit_id}.tar.gz -C neo --strip-components=1 + +mkdir build +cd build + +cmake ../neo -DCMAKE_BUILD_TYPE=Release -DNEO_DRIVER_VERSION=%{version} +make -j`nproc` igdrcl_dll + +echo "==== DONE ====" + + +%install +echo "==== INSTALL ====" +mkdir -p $RPM_BUILD_ROOT/usr/lib64/intel-opencl +mkdir -p $RPM_BUILD_ROOT/etc/OpenCL/vendors +cp $RPM_BUILD_DIR/build/bin/libigdrcl.so $RPM_BUILD_ROOT/usr/lib64/intel-opencl +strip $RPM_BUILD_ROOT/usr/lib64/intel-opencl/libigdrcl.so +echo "/usr/lib64/intel-opencl/libigdrcl.so" > $RPM_BUILD_ROOT/etc/OpenCL/vendors/intel.icd +echo "==== DONE ====" + + +%files +%defattr(-,root,root) +/usr/lib64/intel-opencl/libigdrcl.so + +%config(noreplace) +/etc/OpenCL/vendors/intel.icd + +# %doc + + +# %changelog diff --git a/scripts/specs/fedora/opencl-clang.spec b/scripts/specs/fedora/opencl-clang.spec new file mode 100644 index 0000000000..bc431d684f --- /dev/null +++ b/scripts/specs/fedora/opencl-clang.spec @@ -0,0 +1,78 @@ +%global cclang_commit_id 41cad395859684b18e762ca4a2c713c2fa349622 +%global spirv_llvm_commit_id 83298e3c9b124486c16d0fde54c764a6c5a2b554 +%global package_version 8.0.72 +%global package_release 1 + +Name: intel-opencl-clang +Version: %{package_version} +Release: %{package_release}%{?dist} +Summary: Intel(R) OpenCL(TM) Clang + +Group: System Environment/Libraries +License: MIT +URL: https://github.com/intel/opencl-clang +Source0: https://github.com/intel/opencl-clang/archive/%{cclang_commit_id}/intel-opencl-clang.tar.gz +Source1: https://github.com/KhronosGroup/SPIRV-LLVM-Translator/archive/%{spirv_llvm_commit_id}/spirv-llvm-translator.tar.gz + +BuildRequires: git cmake clang gcc-c++ make patch llvm-devel clang-devel pkg-config python2 procps dos2unix + +%description +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. + +%package devel +Summary: Development files Intel(R) OpenCL(TM) Clang +Requires: %{name} = %{version}-%{release} + +%description devel + + +%clean +echo "==== CLEAN ====" + +%prep +echo "==== PREP ====" + +mkdir opencl-clang spirv-llvm +tar xzf $RPM_SOURCE_DIR/intel-opencl-clang.tar.gz -C opencl-clang --strip-components=1 +tar xzf $RPM_SOURCE_DIR/spirv-llvm-translator.tar.gz -C spirv-llvm --strip-components=1 + +%build +echo "==== BUILD ====" + +mkdir build_cc build_s + +pushd spirv-llvm +dos2unix ../opencl-clang/patches/spirv/0001-Update-LowerOpenCL-pass-to-handle-new-blocks-represn.patch +dos2unix ../opencl-clang/patches/spirv/0002-Translation-of-llvm.dbg.declare-in-case-the-local-va.patch + +patch -p1 < ../opencl-clang/patches/spirv/0001-Update-LowerOpenCL-pass-to-handle-new-blocks-represn.patch +patch -p1 < ../opencl-clang/patches/spirv/0002-Translation-of-llvm.dbg.declare-in-case-the-local-va.patch +popd + +pushd build_s +cmake ../spirv-llvm -DCMAKE_INSTALL_PREFIX=install -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release +make llvm-spirv -j8 install +popd + +pushd build_cc +cmake ../opencl-clang -DCOMMON_CLANG_LIBRARY_NAME=opencl-clang -DLLVMSPIRV_INCLUDED_IN_LLVM=OFF -DSPIRV_TRANSLATOR_DIR=../build_s/install -DLLVM_NO_DEAD_STRIP=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX='/usr' +make -j8 +popd + +%install +echo "==== INSTALL ====" +cd build_cc +make install DESTDIR=$RPM_BUILD_ROOT + +%files + +/usr/lib64/libopencl-clang.so.8 + +%files devel + +/usr/lib64/libopencl-clang.so +/usr/include/cclang/common_clang.h + +%doc + +%changelog