├── doc ├── source │ ├── list_components │ │ ├── linux_apt.txt │ │ ├── linux_aikit.txt │ │ ├── linux_aitools.txt │ │ ├── linux_basekit.txt │ │ ├── linux_dlfdkit.txt │ │ ├── linux_hpckit.txt │ │ ├── linux_iotkit.txt │ │ ├── linux_renderkit.txt │ │ ├── linux_yum_dnf.txt │ │ ├── macos_basekit.txt │ │ ├── macos_hpckit.txt │ │ ├── macos_renderkit.txt │ │ ├── windows_basekit.txt │ │ ├── windows_hpckit.txt │ │ ├── windows_iotkit.txt │ │ └── windows_renderkit.txt │ ├── _static │ │ ├── favicons.png │ │ └── oneAPI-rgb-rev-100.png │ ├── index.rst │ └── conf.py ├── requirements.txt ├── Makefile └── make.bat ├── img └── jenkins_pipeline_example.png ├── .gitignore ├── src ├── fortran │ ├── hello.f90 │ ├── Makefile.nmake │ ├── Makefile │ └── Makefile.macos ├── c++ │ ├── Makefile.nmake │ ├── hello.cpp │ ├── Makefile │ └── Makefile.macos └── dpc++ │ ├── Makefile.nmake │ ├── Makefile │ └── get-platforms.cpp ├── requirements.txt ├── pyproject.toml ├── scripts ├── apt_depends.sh ├── dnf_depends.sh ├── install_prerequisites_linux_dnf.sh ├── install_prerequisites_linux_dnf_no_sudo.sh ├── install_linux_apt_no_sudo.sh ├── list_components_linux_apt.sh ├── install_linux_apt.sh ├── install_linux_dnf.sh ├── install_linux_dnf_no_sudo.sh ├── list_components_linux_dnf.sh ├── install_prerequisites_linux_apt_no_sudo.sh ├── install_prerequisites_linux_no_sudo.sh ├── build_linux_aitools.sh ├── setup_yum_dnf_repo_linux.sh ├── setup_yum_dnf_repo_linux_no_sudo.sh ├── restore_registry.bat ├── list_components_macos.sh ├── install_linux_aitools.sh ├── list_components_windows.bat ├── cache_exclude_linux_no_sudo.sh ├── cache_exclude_linux.sh ├── list_components_linux.sh ├── build_macos.sh ├── list_components_linux_aitools.sh ├── setup_apt_repo_linux.sh ├── setup_apt_repo_linux_no_sudo.sh ├── install_macos.sh ├── install_linux_no_sudo.sh ├── install_linux.sh ├── cache_exclude_windows.sh ├── install_windows.bat ├── cache_exclude_windows.ps1 ├── build_linux.sh └── build_windows.bat ├── .reuse └── dep5 ├── SECURITY.md ├── .github └── workflows │ ├── checks.yml │ ├── scorecard.yml │ ├── list_components.yml │ └── build_all.yml ├── LICENSES ├── MIT.txt ├── BSD-3-Clause.txt ├── Apache-2.0.txt └── CC-BY-4.0.txt ├── .pre-commit-config.yaml ├── Jenkinsfile ├── CONTRIBUTING.rst ├── .appveyor.yml ├── README.rst ├── .gitlab-ci.yml ├── .azure-pipelines.yml └── .circleci └── config.yml /doc/source/list_components/linux_apt.txt: -------------------------------------------------------------------------------- 1 | Content is generated by CI job. 2 | -------------------------------------------------------------------------------- /doc/source/list_components/linux_aikit.txt: -------------------------------------------------------------------------------- 1 | Content is generated by CI job. 2 | -------------------------------------------------------------------------------- /doc/source/list_components/linux_aitools.txt: -------------------------------------------------------------------------------- 1 | Content is generated by CI job. 2 | -------------------------------------------------------------------------------- /doc/source/list_components/linux_basekit.txt: -------------------------------------------------------------------------------- 1 | Content is generated by CI job. 2 | -------------------------------------------------------------------------------- /doc/source/list_components/linux_dlfdkit.txt: -------------------------------------------------------------------------------- 1 | Content is generated by CI job. 2 | -------------------------------------------------------------------------------- /doc/source/list_components/linux_hpckit.txt: -------------------------------------------------------------------------------- 1 | Content is generated by CI job. 2 | -------------------------------------------------------------------------------- /doc/source/list_components/linux_iotkit.txt: -------------------------------------------------------------------------------- 1 | Content is generated by CI job. 2 | -------------------------------------------------------------------------------- /doc/source/list_components/linux_renderkit.txt: -------------------------------------------------------------------------------- 1 | Content is generated by CI job. 2 | -------------------------------------------------------------------------------- /doc/source/list_components/linux_yum_dnf.txt: -------------------------------------------------------------------------------- 1 | Content is generated by CI job. 2 | -------------------------------------------------------------------------------- /doc/source/list_components/macos_basekit.txt: -------------------------------------------------------------------------------- 1 | Content is generated by CI job. 2 | -------------------------------------------------------------------------------- /doc/source/list_components/macos_hpckit.txt: -------------------------------------------------------------------------------- 1 | Content is generated by CI job. 2 | -------------------------------------------------------------------------------- /doc/source/list_components/macos_renderkit.txt: -------------------------------------------------------------------------------- 1 | Content is generated by CI job. 2 | -------------------------------------------------------------------------------- /doc/source/list_components/windows_basekit.txt: -------------------------------------------------------------------------------- 1 | Content is generated by CI job. 2 | -------------------------------------------------------------------------------- /doc/source/list_components/windows_hpckit.txt: -------------------------------------------------------------------------------- 1 | Content is generated by CI job. 2 | -------------------------------------------------------------------------------- /doc/source/list_components/windows_iotkit.txt: -------------------------------------------------------------------------------- 1 | Content is generated by CI job. 2 | -------------------------------------------------------------------------------- /doc/source/list_components/windows_renderkit.txt: -------------------------------------------------------------------------------- 1 | Content is generated by CI job. 2 | -------------------------------------------------------------------------------- /doc/source/_static/favicons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oneapi-src/oneapi-ci/HEAD/doc/source/_static/favicons.png -------------------------------------------------------------------------------- /img/jenkins_pipeline_example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oneapi-src/oneapi-ci/HEAD/img/jenkins_pipeline_example.png -------------------------------------------------------------------------------- /doc/source/_static/oneAPI-rgb-rev-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oneapi-src/oneapi-ci/HEAD/doc/source/_static/oneAPI-rgb-rev-100.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2020 Intel Corporation 2 | # 3 | # SPDX-License-Identifier: MIT 4 | 5 | *~ 6 | src/*.bin 7 | src/*.out 8 | doc/build 9 | -------------------------------------------------------------------------------- /src/fortran/hello.f90: -------------------------------------------------------------------------------- 1 | ! SPDX-FileCopyrightText: 2020 Intel Corporation 2 | ! 3 | ! SPDX-License-Identifier: MIT 4 | 5 | print *, "Hello, world!" 6 | end 7 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2020 Intel Corporation 2 | # 3 | # SPDX-License-Identifier: MIT 4 | 5 | git+https://github.com/fsfe/reuse-tool.git 6 | pre-commit 7 | -------------------------------------------------------------------------------- /src/c++/Makefile.nmake: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2020 Intel Corporation 2 | # 3 | # SPDX-License-Identifier: MIT 4 | 5 | hello.exe: hello.cpp 6 | icl hello.cpp 7 | hello.exe 8 | -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2020 Intel Corporation 2 | # 3 | # SPDX-License-Identifier: MIT 4 | 5 | [tool.black] 6 | line-length = 79 7 | skip-string-normalization = true 8 | -------------------------------------------------------------------------------- /src/fortran/Makefile.nmake: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2020 Intel Corporation 2 | # 3 | # SPDX-License-Identifier: MIT 4 | 5 | hello.exe: hello.f90 6 | ifort hello.f90 7 | hello.exe 8 | -------------------------------------------------------------------------------- /doc/requirements.txt: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2024 Intel Corporation 2 | # 3 | # SPDX-License-Identifier: MIT 4 | 5 | reuse 6 | sphinx==6.2 7 | sphinx-book-theme 8 | sphinxcontrib-spelling 9 | -------------------------------------------------------------------------------- /scripts/apt_depends.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-FileCopyrightText: 2020 Intel Corporation 4 | # 5 | # SPDX-License-Identifier: MIT 6 | 7 | echo "$1" | sed "s/,/ /g" | xargs -n 1 apt-cache depends 8 | -------------------------------------------------------------------------------- /scripts/dnf_depends.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-FileCopyrightText: 2020 Intel Corporation 4 | # 5 | # SPDX-License-Identifier: MIT 6 | 7 | echo "$1" | sed "s/,/ /g" | xargs -n 1 dnf -y repoquery --deplist 8 | -------------------------------------------------------------------------------- /src/dpc++/Makefile.nmake: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2020 Intel Corporation 2 | # 3 | # SPDX-License-Identifier: MIT 4 | 5 | get-platforms.exe: get-platforms.cpp 6 | dpcpp get-platforms.cpp 7 | get-platforms.exe 8 | -------------------------------------------------------------------------------- /scripts/install_prerequisites_linux_dnf.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-FileCopyrightText: 2020 Intel Corporation 4 | # 5 | # SPDX-License-Identifier: MIT 6 | 7 | sudo dnf -y install git make gcc g++ findutils procps cmake 8 | -------------------------------------------------------------------------------- /scripts/install_prerequisites_linux_dnf_no_sudo.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-FileCopyrightText: 2020 Intel Corporation 4 | # 5 | # SPDX-License-Identifier: MIT 6 | 7 | dnf -y install git make gcc g++ findutils procps cmake 8 | -------------------------------------------------------------------------------- /scripts/install_linux_apt_no_sudo.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-FileCopyrightText: 2022 Intel Corporation 4 | # 5 | # SPDX-License-Identifier: MIT 6 | 7 | COMPONENTS=$(echo "$1" | sed "s/,/ /g") 8 | apt-get install -y "$COMPONENTS" 9 | -------------------------------------------------------------------------------- /scripts/list_components_linux_apt.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-FileCopyrightText: 2020 Intel Corporation 4 | # 5 | # SPDX-License-Identifier: MIT 6 | 7 | FILENAME=$1 8 | 9 | sudo apt-cache search ^intel- | sudo tee "$FILENAME" 10 | -------------------------------------------------------------------------------- /src/c++/hello.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2020 Intel Corporation 2 | // 3 | // SPDX-License-Identifier: MIT 4 | 5 | #include 6 | using namespace std; 7 | 8 | int main() { 9 | cout << "Hello, world!" << endl; 10 | return 0; 11 | } 12 | -------------------------------------------------------------------------------- /scripts/install_linux_apt.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-FileCopyrightText: 2022 Intel Corporation 4 | # 5 | # SPDX-License-Identifier: MIT 6 | 7 | COMPONENTS=$(echo "$1" | sed "s/,/ /g") 8 | #shellcheck disable=SC2086 9 | sudo apt-get install -y $COMPONENTS 10 | -------------------------------------------------------------------------------- /scripts/install_linux_dnf.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-FileCopyrightText: 2022 Intel Corporation 4 | # 5 | # SPDX-License-Identifier: MIT 6 | 7 | COMPONENTS=$(echo "$1" | sed "s/,/ /g") 8 | #shellcheck disable=SC2086 9 | sudo dnf -y install $COMPONENTS 10 | -------------------------------------------------------------------------------- /scripts/install_linux_dnf_no_sudo.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-FileCopyrightText: 2022 Intel Corporation 4 | # 5 | # SPDX-License-Identifier: MIT 6 | 7 | COMPONENTS=$(echo "$1" | sed "s/,/ /g") 8 | #shellcheck disable=SC2086 9 | dnf -y install $COMPONENTS 10 | -------------------------------------------------------------------------------- /scripts/list_components_linux_dnf.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-FileCopyrightText: 2020 Intel Corporation 4 | # 5 | # SPDX-License-Identifier: MIT 6 | 7 | FILENAME=$1 8 | 9 | sudo dnf -y --disablerepo="*" --enablerepo="oneAPI" list available | sudo tee "$FILENAME" 10 | -------------------------------------------------------------------------------- /scripts/install_prerequisites_linux_apt_no_sudo.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-FileCopyrightText: 2020 Intel Corporation 4 | # 5 | # SPDX-License-Identifier: MIT 6 | 7 | export DEBIAN_FRONTEND=noninteractive 8 | apt-get update 9 | apt-get install -y wget build-essential pkg-config cmake ca-certificates gnupg git 10 | -------------------------------------------------------------------------------- /scripts/install_prerequisites_linux_no_sudo.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-FileCopyrightText: 2020 Intel Corporation 4 | # 5 | # SPDX-License-Identifier: MIT 6 | 7 | export DEBIAN_FRONTEND=noninteractive 8 | apt-get update 9 | apt-get install -y wget build-essential pkg-config cmake ca-certificates gnupg git curl 10 | -------------------------------------------------------------------------------- /src/fortran/Makefile: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2020 Intel Corporation 2 | # 3 | # SPDX-License-Identifier: MIT 4 | 5 | FC = ifort 6 | F_SAMPLE = hello 7 | 8 | ${F_SAMPLE}.out: ${F_SAMPLE}.bin 9 | ./${F_SAMPLE}.bin > $@ 10 | cat $@ 11 | 12 | ${F_SAMPLE}.bin: ${F_SAMPLE}.f90 13 | ${FC} -o $@ $^ 14 | 15 | clean: 16 | rm -rf *.out *.bin 17 | -------------------------------------------------------------------------------- /src/fortran/Makefile.macos: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2020 Intel Corporation 2 | # 3 | # SPDX-License-Identifier: MIT 4 | 5 | FC = ifort 6 | F_SAMPLE = hello 7 | 8 | ${F_SAMPLE}.out: ${F_SAMPLE}.bin 9 | ./${F_SAMPLE}.bin > $@ 10 | cat $@ 11 | 12 | ${F_SAMPLE}.bin: ${F_SAMPLE}.f90 13 | ${FC} -o $@ $^ 14 | 15 | clean: 16 | rm -rf *.out *.bin 17 | -------------------------------------------------------------------------------- /src/c++/Makefile: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2020 Intel Corporation 2 | # 3 | # SPDX-License-Identifier: MIT 4 | 5 | CXX = icc 6 | CPP_SAMPLE = hello 7 | 8 | ${CPP_SAMPLE}.out: ${CPP_SAMPLE}.bin 9 | ./${CPP_SAMPLE}.bin > $@ 10 | cat $@ 11 | 12 | ${CPP_SAMPLE}.bin: ${CPP_SAMPLE}.cpp 13 | ${CXX} -o $@ $^ 14 | 15 | clean: 16 | rm -rf *.out *.bin 17 | -------------------------------------------------------------------------------- /src/c++/Makefile.macos: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2020 Intel Corporation 2 | # 3 | # SPDX-License-Identifier: MIT 4 | 5 | CXX = icc 6 | CPP_SAMPLE = hello 7 | 8 | ${CPP_SAMPLE}.out: ${CPP_SAMPLE}.bin 9 | ./${CPP_SAMPLE}.bin > $@ 10 | cat $@ 11 | 12 | ${CPP_SAMPLE}.bin: ${CPP_SAMPLE}.cpp 13 | ${CXX} -o $@ $^ 14 | 15 | clean: 16 | rm -rf *.out *.bin 17 | -------------------------------------------------------------------------------- /.reuse/dep5: -------------------------------------------------------------------------------- 1 | Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ 2 | Upstream-Name: oneapi-ci 3 | Upstream-Contact: Maxim Zakharov 4 | Source: 5 | 6 | Files: doc/* 7 | Copyright: 2020 Intel Corporation 8 | License: CC-BY-4.0 9 | 10 | Files: img/* 11 | Copyright: 2021 Intel Corporation 12 | License: CC-BY-4.0 13 | -------------------------------------------------------------------------------- /src/dpc++/Makefile: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2020 Intel Corporation 2 | # 3 | # SPDX-License-Identifier: MIT 4 | 5 | CXX = dpcpp 6 | DPCPP_SAMPLE = get-platforms 7 | 8 | ${DPCPP_SAMPLE}.out: ${DPCPP_SAMPLE}.bin 9 | ./${DPCPP_SAMPLE}.bin > $@ 10 | cat $@ 11 | 12 | ${DPCPP_SAMPLE}.bin: ${DPCPP_SAMPLE}.cpp 13 | ${CXX} -o $@ $^ 14 | 15 | clean: 16 | rm -rf *.out *.bin 17 | -------------------------------------------------------------------------------- /scripts/build_linux_aitools.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-FileCopyrightText: 2020 Intel Corporation 4 | # 5 | # SPDX-License-Identifier: MIT 6 | 7 | SAMPLES_TAG=$1 8 | 9 | git clone --depth 1 --branch "$SAMPLES_TAG" https://github.com/oneapi-src/oneAPI-samples.git 10 | 11 | source /intel/oneapi/intelpython/bin/activate tensorflow 12 | cd oneAPI-samples/AI-and-Analytics/Getting-Started-Samples/IntelTensorFlow_GettingStarted 13 | python TensorFlow_HelloWorld.py 14 | -------------------------------------------------------------------------------- /scripts/setup_yum_dnf_repo_linux.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-FileCopyrightText: 2020 Intel Corporation 4 | # 5 | # SPDX-License-Identifier: MIT 6 | 7 | tee > /tmp/oneAPI.repo << EOF 8 | [oneAPI] 9 | name=Intel(R) oneAPI repository 10 | baseurl=https://yum.repos.intel.com/oneapi 11 | enabled=1 12 | gpgcheck=1 13 | repo_gpgcheck=1 14 | gpgkey=https://yum.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB 15 | EOF 16 | sudo mv /tmp/oneAPI.repo /etc/yum.repos.d/ 17 | -------------------------------------------------------------------------------- /scripts/setup_yum_dnf_repo_linux_no_sudo.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-FileCopyrightText: 2020 Intel Corporation 4 | # 5 | # SPDX-License-Identifier: MIT 6 | 7 | tee > /tmp/oneAPI.repo << EOF 8 | [oneAPI] 9 | name=Intel(R) oneAPI repository 10 | baseurl=https://yum.repos.intel.com/oneapi 11 | enabled=1 12 | gpgcheck=1 13 | repo_gpgcheck=1 14 | gpgkey=https://yum.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB 15 | EOF 16 | mv /tmp/oneAPI.repo /etc/yum.repos.d/ 17 | -------------------------------------------------------------------------------- /scripts/restore_registry.bat: -------------------------------------------------------------------------------- 1 | REM SPDX-FileCopyrightText: 2022 Intel Corporation 2 | REM 3 | REM SPDX-License-Identifier: MIT 4 | 5 | set COMPILER_VERSION=%1 6 | set TBB_VERSION=%2 7 | 8 | reg add HKLM\Software\Khronos\OpenCL\Vendors /v "C:\Program Files (x86)\Intel\oneAPI\compiler\%COMPILER_VERSION%\windows\lib\x64\intelocl64.dll" /t REG_DWORD /d 0 /f 9 | reg add HKLM\Software\Intel\oneAPI\TBB\%TBB_VERSION% /v TBB_DLL_PATH /t REG_SZ /d "C:\Program Files (x86)\Intel\oneAPI\tbb\%TBB_VERSION%\redist\intel64\vc14" /f 10 | -------------------------------------------------------------------------------- /scripts/list_components_macos.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-FileCopyrightText: 2020 Intel Corporation 4 | # 5 | # SPDX-License-Identifier: MIT 6 | 7 | URL=$1 8 | FILENAME=$2 9 | 10 | curl --output webimage.dmg --url "$URL" --retry 5 --retry-delay 5 11 | hdiutil attach webimage.dmg -quiet 12 | sudo /Volumes/"$(basename "$URL" .dmg)"/bootstrapper.app/Contents/MacOS/bootstrapper --list-components | sudo tee "$FILENAME" 13 | installer_exit_code=$? 14 | hdiutil detach /Volumes/"$(basename "$URL" .dmg)" -quiet 15 | exit $installer_exit_code 16 | -------------------------------------------------------------------------------- /scripts/install_linux_aitools.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-FileCopyrightText: 2020 Intel Corporation 4 | # 5 | # SPDX-License-Identifier: MIT 6 | 7 | URL=$1 8 | 9 | curl --output webimage.sh --url "$URL" --retry 5 --retry-delay 5 10 | sudo rm -rf /usr/share/dotnet 11 | sudo rm -rf /opt/ghc 12 | sudo rm -rf "/usr/local/share/boost" 13 | sudo rm -rf "$AGENT_TOOLSDIRECTORY" 14 | chmod +x webimage.sh 15 | sudo ./webimage.sh -b -p /intel/oneapi/intelpython 16 | installer_exit_code=$? 17 | sudo rm -rf webimage.sh 18 | exit $installer_exit_code 19 | -------------------------------------------------------------------------------- /scripts/list_components_windows.bat: -------------------------------------------------------------------------------- 1 | REM SPDX-FileCopyrightText: 2020 Intel Corporation 2 | REM 3 | REM SPDX-License-Identifier: MIT 4 | 5 | set URL=%1 6 | set FILENAME=%2 7 | 8 | curl.exe --output webimage.exe --url %URL% --retry 5 --retry-delay 5 9 | start /b /wait webimage.exe -s -x -f webimage_extracted --log extract.log 10 | del webimage.exe 11 | webimage_extracted\bootstrapper.exe --list-components > %FILENAME% 12 | set installer_exit_code=%ERRORLEVEL% 13 | type %FILENAME% 14 | rmdir /s /q webimage_extracted 15 | exit /b %installer_exit_code% 16 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | 6 | 7 | # Security Policy 8 | 9 | Intel is committed to rapidly addressing security vulnerabilities 10 | affecting our customers and providing clear guidance on the solution, 11 | impact, severity and mitigation. 12 | 13 | ## Reporting a Vulnerability 14 | 15 | Please report any security vulnerabilities in this project 16 | [utilizing the guidelines here](https://www.intel.com/content/www/us/en/security-center/vulnerability-handling-guidelines.html). 17 | -------------------------------------------------------------------------------- /scripts/cache_exclude_linux_no_sudo.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-FileCopyrightText: 2020 Intel Corporation 4 | # 5 | # SPDX-License-Identifier: MIT 6 | 7 | #shellcheck disable=SC2010 8 | LATEST_VERSION=$(ls -1 /opt/intel/oneapi/compiler/ | grep -v latest | sort | tail -1) 9 | 10 | rm -rf /opt/intel/oneapi/compiler/"$LATEST_VERSION"/linux/compiler/lib/ia32_lin 11 | rm -rf /opt/intel/oneapi/compiler/"$LATEST_VERSION"/linux/bin/ia32 12 | rm -rf /opt/intel/oneapi/compiler/"$LATEST_VERSION"/linux/lib/emu 13 | rm -rf /opt/intel/oneapi/compiler/"$LATEST_VERSION"/linux/lib/oclfpga 14 | -------------------------------------------------------------------------------- /scripts/cache_exclude_linux.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-FileCopyrightText: 2020 Intel Corporation 4 | # 5 | # SPDX-License-Identifier: MIT 6 | 7 | #shellcheck disable=SC2010 8 | LATEST_VERSION=$(ls -1 /opt/intel/oneapi/compiler/ | grep -v latest | sort | tail -1) 9 | 10 | sudo rm -rf /opt/intel/oneapi/compiler/"$LATEST_VERSION"/linux/compiler/lib/ia32_lin 11 | sudo rm -rf /opt/intel/oneapi/compiler/"$LATEST_VERSION"/linux/bin/ia32 12 | sudo rm -rf /opt/intel/oneapi/compiler/"$LATEST_VERSION"/linux/lib/emu 13 | sudo rm -rf /opt/intel/oneapi/compiler/"$LATEST_VERSION"/linux/lib/oclfpga 14 | -------------------------------------------------------------------------------- /scripts/list_components_linux.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-FileCopyrightText: 2020 Intel Corporation 4 | # 5 | # SPDX-License-Identifier: MIT 6 | 7 | URL=$1 8 | FILENAME=$2 9 | 10 | curl --output webimage.sh --url "$URL" --retry 5 --retry-delay 5 11 | chmod +x webimage.sh 12 | ./webimage.sh -x -f webimage_extracted --log extract.log 13 | rm -rf webimage.sh 14 | WEBIMAGE_NAME=$(ls -1 webimage_extracted/) 15 | webimage_extracted/"$WEBIMAGE_NAME"/bootstrapper --list-components > "$FILENAME" 16 | installer_exit_code=$? 17 | cat "$FILENAME" 18 | rm -rf webimage_extracted 19 | exit $installer_exit_code 20 | -------------------------------------------------------------------------------- /scripts/build_macos.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-FileCopyrightText: 2020 Intel Corporation 4 | # 5 | # SPDX-License-Identifier: MIT 6 | 7 | LANGUAGE=$1 8 | SAMPLES_TAG=$2 9 | 10 | git clone --depth 1 --branch "$SAMPLES_TAG" https://github.com/oneapi-src/oneAPI-samples.git 11 | 12 | source /opt/intel/oneapi/setvars.sh 13 | 14 | case $LANGUAGE in 15 | c++) 16 | cd oneAPI-samples/DirectProgramming/C++/CompilerInfrastructure/Intrinsics 17 | make && make run 18 | ;; 19 | fortran) 20 | cd oneAPI-samples/DirectProgramming/Fortran/CombinationalLogic/openmp-primes 21 | make && make run 22 | ;; 23 | esac 24 | -------------------------------------------------------------------------------- /.github/workflows/checks.yml: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2020 Intel Corporation 2 | # 3 | # SPDX-License-Identifier: MIT 4 | 5 | name: checks 6 | permissions: read-all 7 | 8 | on: [push, pull_request] 9 | 10 | jobs: 11 | checks: 12 | runs-on: Ubuntu-latest 13 | steps: 14 | - uses: actions/checkout@v3 15 | - uses: actions/setup-python@v3 16 | - name: Install prerequisites 17 | run: | 18 | sudo apt-get install -qq clang-format 19 | python -m pip install --quiet --upgrade pip 20 | pip install --quiet -r requirements.txt 21 | - name: Run checks 22 | run: pre-commit run --all 23 | -------------------------------------------------------------------------------- /src/dpc++/get-platforms.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2020 Intel Corporation 2 | // 3 | // SPDX-License-Identifier: MIT 4 | 5 | #include 6 | 7 | namespace sycl = cl::sycl; 8 | 9 | int main() { 10 | auto platforms = sycl::platform::get_platforms(); 11 | 12 | for (auto &platform : platforms) { 13 | std::cout << "Platform: " << platform.get_info() 14 | << std::endl; 15 | 16 | auto devices = platform.get_devices(); 17 | for (auto &device : devices) { 18 | std::cout << " Device: " << device.get_info() 19 | << std::endl; 20 | } 21 | } 22 | 23 | return 0; 24 | } 25 | -------------------------------------------------------------------------------- /scripts/list_components_linux_aitools.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-FileCopyrightText: 2020 Intel Corporation 4 | # 5 | # SPDX-License-Identifier: MIT 6 | 7 | URL=$1 8 | FILENAME=$2 9 | 10 | curl --output webimage.sh --url "$URL" --retry 5 --retry-delay 5 11 | chmod +x webimage.sh 12 | sudo rm -rf /usr/share/dotnet 13 | sudo rm -rf /opt/ghc 14 | sudo rm -rf "/usr/local/share/boost" 15 | sudo rm -rf "$AGENT_TOOLSDIRECTORY" 16 | ./webimage.sh -b -p webimage_extracted 17 | rm -rf webimage.sh 18 | source "$HOME"/work/oneapi-ci/oneapi-ci/webimage_extracted/bin/activate base 19 | installer_exit_code=$? 20 | conda env list | tee "$FILENAME" 21 | sudo rm -rf webimage_extracted 22 | exit $installer_exit_code 23 | -------------------------------------------------------------------------------- /doc/Makefile: -------------------------------------------------------------------------------- 1 | # Minimal makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line, and also 5 | # from the environment for the first two. 6 | SPHINXOPTS ?= 7 | SPHINXBUILD ?= sphinx-build 8 | SOURCEDIR = source 9 | BUILDDIR = build 10 | 11 | # Put it first so that "make" without argument is like "make help". 12 | help: 13 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 14 | 15 | .PHONY: help Makefile 16 | 17 | # Catch-all target: route all unknown targets to Sphinx using the new 18 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). 19 | %: Makefile 20 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 21 | -------------------------------------------------------------------------------- /scripts/setup_apt_repo_linux.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-FileCopyrightText: 2020 Intel Corporation 4 | # 5 | # SPDX-License-Identifier: MIT 6 | 7 | # download the key to system keyring 8 | wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null 9 | 10 | # add signed entry to apt sources and configure the APT client to use Intel repository: 11 | echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list 12 | sudo apt-get update -o Dir::Etc::sourcelist="sources.list.d/oneAPI.list" -o APT::Get::List-Cleanup="0" 13 | -------------------------------------------------------------------------------- /scripts/setup_apt_repo_linux_no_sudo.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-FileCopyrightText: 2020 Intel Corporation 4 | # 5 | # SPDX-License-Identifier: MIT 6 | 7 | # download the key to system keyring 8 | wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor | tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null 9 | 10 | # add signed entry to apt sources and configure the APT client to use Intel repository: 11 | echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | tee /etc/apt/sources.list.d/oneAPI.list 12 | 13 | apt-get update -o Dir::Etc::sourcelist="sources.list.d/oneAPI.list" -o APT::Get::List-Cleanup="0" 14 | -------------------------------------------------------------------------------- /scripts/install_macos.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-FileCopyrightText: 2022 Intel Corporation 4 | # 5 | # SPDX-License-Identifier: MIT 6 | 7 | URL=$1 8 | COMPONENTS=$2 9 | 10 | curl --output webimage.dmg --url "$URL" --retry 5 --retry-delay 5 11 | hdiutil attach webimage.dmg 12 | if [ -z "$COMPONENTS" ]; then 13 | sudo /Volumes/"$(basename "$URL" .dmg)"/bootstrapper.app/Contents/MacOS/bootstrapper -s --action install --eula=accept --log-dir=. 14 | installer_exit_code=$? 15 | else 16 | sudo /Volumes/"$(basename "$URL" .dmg)"/bootstrapper.app/Contents/MacOS/bootstrapper -s --action install --components="$COMPONENTS" --eula=accept --log-dir=. 17 | installer_exit_code=$? 18 | fi 19 | hdiutil detach /Volumes/"$(basename "$URL" .dmg)" -quiet 20 | exit $installer_exit_code 21 | -------------------------------------------------------------------------------- /scripts/install_linux_no_sudo.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-FileCopyrightText: 2020 Intel Corporation 4 | # 5 | # SPDX-License-Identifier: MIT 6 | 7 | URL=$1 8 | COMPONENTS=$2 9 | 10 | curl --output webimage.sh --url "$URL" --retry 5 --retry-delay 5 11 | chmod +x webimage.sh 12 | ./webimage.sh -x -f webimage_extracted --log extract.log 13 | rm -rf webimage.sh 14 | WEBIMAGE_NAME=$(ls -1 webimage_extracted/) 15 | if [ -z "$COMPONENTS" ]; then 16 | webimage_extracted/"$WEBIMAGE_NAME"/bootstrapper -s --action install --eula=accept --log-dir=. 17 | installer_exit_code=$? 18 | else 19 | webimage_extracted/"$WEBIMAGE_NAME"/bootstrapper -s --action install --components="$COMPONENTS" --eula=accept --log-dir=. 20 | installer_exit_code=$? 21 | fi 22 | rm -rf webimage_extracted 23 | exit $installer_exit_code 24 | -------------------------------------------------------------------------------- /scripts/install_linux.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-FileCopyrightText: 2020 Intel Corporation 4 | # 5 | # SPDX-License-Identifier: MIT 6 | 7 | URL=$1 8 | COMPONENTS=$2 9 | 10 | curl --output webimage.sh --url "$URL" --retry 5 --retry-delay 5 11 | chmod +x webimage.sh 12 | ./webimage.sh -x -f webimage_extracted --log extract.log 13 | rm -rf webimage.sh 14 | WEBIMAGE_NAME=$(ls -1 webimage_extracted/) 15 | if [ -z "$COMPONENTS" ]; then 16 | sudo webimage_extracted/"$WEBIMAGE_NAME"/bootstrapper -s --action install --eula=accept --log-dir=. 17 | installer_exit_code=$? 18 | else 19 | sudo webimage_extracted/"$WEBIMAGE_NAME"/bootstrapper -s --action install --components="$COMPONENTS" --eula=accept --log-dir=. 20 | installer_exit_code=$? 21 | fi 22 | rm -rf webimage_extracted 23 | exit $installer_exit_code 24 | -------------------------------------------------------------------------------- /scripts/cache_exclude_windows.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-FileCopyrightText: 2020 Intel Corporation 4 | # 5 | # SPDX-License-Identifier: MIT 6 | 7 | #shellcheck disable=SC2010 8 | LATEST_VERSION=$(ls -1 "C:\Program Files (x86)\Intel\oneAPI\compiler" | grep -v latest | sort | tail -1) 9 | 10 | rm -rf "C:\Program Files (x86)\Intel\oneAPI\compiler\'$LATEST_VERSION'\windows\compiler\lib\ia32_win" 11 | rm -rf "C:\Program Files (x86)\Intel\oneAPI\compiler\'$LATEST_VERSION'\windows\bin\intel64_ia32" 12 | rm -rf "C:\Program Files (x86)\Intel\oneAPI\compiler\'$LATEST_VERSION'\windows\lib\emu" 13 | rm -rf "C:\Program Files (x86)\Intel\oneAPI\compiler\'$LATEST_VERSION'\windows\lib\oclfpga" 14 | rm -rf "C:\Program Files (x86)\Intel\oneAPI\compiler\'$LATEST_VERSION'\windows\lib\ocloc" 15 | rm -rf "C:\Program Files (x86)\Intel\oneAPI\compiler\'$LATEST_VERSION'\windows\lib\x86" 16 | -------------------------------------------------------------------------------- /scripts/install_windows.bat: -------------------------------------------------------------------------------- 1 | REM SPDX-FileCopyrightText: 2022 Intel Corporation 2 | REM 3 | REM SPDX-License-Identifier: MIT 4 | 5 | set URL=%1 6 | set COMPONENTS=%2 7 | 8 | curl.exe --output %TEMP%\webimage.exe --url %URL% --retry 5 --retry-delay 5 9 | start /b /wait %TEMP%\webimage.exe -s -x -f webimage_extracted --log extract.log 10 | del %TEMP%\webimage.exe 11 | if "%COMPONENTS%"=="" ( 12 | webimage_extracted\bootstrapper.exe -s --action install --eula=accept -p=NEED_VS2017_INTEGRATION=0 -p=NEED_VS2019_INTEGRATION=0 -p=NEED_VS2022_INTEGRATION=0 --log-dir=. 13 | ) else ( 14 | webimage_extracted\bootstrapper.exe -s --action install --components=%COMPONENTS% --eula=accept -p=NEED_VS2017_INTEGRATION=0 -p=NEED_VS2019_INTEGRATION=0 -p=NEED_VS2022_INTEGRATION=0 --log-dir=. 15 | ) 16 | set installer_exit_code=%ERRORLEVEL% 17 | rd /s/q "webimage_extracted" 18 | exit /b %installer_exit_code% 19 | -------------------------------------------------------------------------------- /doc/make.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | pushd %~dp0 4 | 5 | REM Command file for Sphinx documentation 6 | 7 | if "%SPHINXBUILD%" == "" ( 8 | set SPHINXBUILD=sphinx-build 9 | ) 10 | set SOURCEDIR=source 11 | set BUILDDIR=build 12 | 13 | if "%1" == "" goto help 14 | 15 | %SPHINXBUILD% >NUL 2>NUL 16 | if errorlevel 9009 ( 17 | echo. 18 | echo.The 'sphinx-build' command was not found. Make sure you have Sphinx 19 | echo.installed, then set the SPHINXBUILD environment variable to point 20 | echo.to the full path of the 'sphinx-build' executable. Alternatively you 21 | echo.may add the Sphinx directory to PATH. 22 | echo. 23 | echo.If you don't have Sphinx installed, grab it from 24 | echo.http://sphinx-doc.org/ 25 | exit /b 1 26 | ) 27 | 28 | %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% 29 | goto end 30 | 31 | :help 32 | %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% 33 | 34 | :end 35 | popd 36 | -------------------------------------------------------------------------------- /LICENSES/MIT.txt: -------------------------------------------------------------------------------- 1 | MIT License Copyright (c) 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is furnished 8 | to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice (including the next 11 | paragraph) shall be included in all copies or substantial portions of the 12 | Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 16 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS 17 | OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 18 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF 19 | OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /scripts/cache_exclude_windows.ps1: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2020 Intel Corporation 2 | # 3 | # SPDX-License-Identifier: MIT 4 | 5 | $LATEST_VERSION=Get-ChildItem -Path "C:\Program Files (x86)\Intel\oneAPI\compiler\" -Name | Select-String -NotMatch latest | %{$_.Line} | Sort-Object | Select-Object -Last 1 6 | 7 | Remove-Item "C:\Program Files (x86)\Intel\oneAPI\compiler\$LATEST_VERSION\windows\compiler\lib\ia32_win" -Force -Recurse -ErrorAction SilentlyContinue 8 | Remove-Item "C:\Program Files (x86)\Intel\oneAPI\compiler\$LATEST_VERSION\windows\bin\intel64_ia32" -Force -Recurse -ErrorAction SilentlyContinue 9 | Remove-Item "C:\Program Files (x86)\Intel\oneAPI\compiler\$LATEST_VERSION\windows\lib\emu" -Force -Recurse -ErrorAction SilentlyContinue 10 | Remove-Item "C:\Program Files (x86)\Intel\oneAPI\compiler\$LATEST_VERSION\windows\lib\oclfpga" -Force -Recurse -ErrorAction SilentlyContinue 11 | Remove-Item "C:\Program Files (x86)\Intel\oneAPI\compiler\$LATEST_VERSION\windows\lib\ocloc" -Force -Recurse -ErrorAction SilentlyContinue 12 | Remove-Item "C:\Program Files (x86)\Intel\oneAPI\compiler\$LATEST_VERSION\windows\lib\x86" -Force -Recurse -ErrorAction SilentlyContinue 13 | 14 | exit 0 15 | -------------------------------------------------------------------------------- /scripts/build_linux.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-FileCopyrightText: 2020 Intel Corporation 4 | # 5 | # SPDX-License-Identifier: MIT 6 | 7 | LANGUAGE=$1 8 | SAMPLES_TAG=$2 9 | 10 | git clone --depth 1 --branch "$SAMPLES_TAG" https://github.com/oneapi-src/oneAPI-samples.git 11 | 12 | #shellcheck disable=SC2010 13 | LATEST_VERSION=$(ls -1 /opt/intel/oneapi/compiler/ | grep -v latest | sort | tail -1) 14 | # shellcheck source=/dev/null 15 | source /opt/intel/oneapi/compiler/"$LATEST_VERSION"/env/vars.sh 16 | sycl-ls 17 | 18 | case $LANGUAGE in 19 | c++) 20 | cd oneAPI-samples/DirectProgramming/C++/CompilerInfrastructure/Intrinsics 21 | make && make run && make clean && make CC='icx -msse3' && make run 22 | ;; 23 | fortran) 24 | cd oneAPI-samples/DirectProgramming/Fortran/CombinationalLogic/openmp-primes 25 | make && make run && make clean && make FC=ifx && make run 26 | ;; 27 | dpc++) 28 | cd oneAPI-samples/DirectProgramming/C++SYCL/DenseLinearAlgebra/simple-add 29 | mkdir build && cd build && cmake .. && make cpu-gpu 30 | # Sample has additional HW prerequisites. Please check sample Readme for details. Uncomment the following if the prerequisites are met. 31 | # mkdir build && cd build && cmake .. && make cpu-gpu && ./simple-add-buffers 32 | 33 | esac 34 | -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2020 Intel Corporation 2 | # 3 | # SPDX-License-Identifier: MIT 4 | 5 | # See https://pre-commit.com for more information 6 | # See https://pre-commit.com/hooks.html for more hooks 7 | 8 | exclude: LICENSES 9 | 10 | repos: 11 | - repo: https://github.com/ambv/black 12 | rev: 22.8.0 13 | hooks: 14 | - id: black 15 | - repo: https://github.com/pre-commit/pre-commit-hooks 16 | rev: v4.5.0 17 | hooks: 18 | - id: trailing-whitespace 19 | - id: end-of-file-fixer 20 | - id: check-yaml 21 | - id: check-added-large-files 22 | - repo: https://github.com/PyCQA/flake8 23 | rev: 6.1.0 24 | hooks: 25 | - id: flake8 26 | - repo: https://github.com/pycqa/doc8 27 | rev: v1.1.1 28 | hooks: 29 | - id: doc8 30 | - repo: https://github.com/pycqa/isort 31 | rev: 5.12.0 32 | hooks: 33 | - id: isort 34 | - repo: https://github.com/pocc/pre-commit-hooks 35 | rev: v1.3.5 36 | hooks: 37 | - id: clang-format 38 | - repo: https://github.com/fsfe/reuse-tool 39 | rev: v2.1.0 40 | hooks: 41 | - id: reuse 42 | - repo: https://github.com/shellcheck-py/shellcheck-py 43 | rev: v0.9.0.6 44 | hooks: 45 | - id: shellcheck 46 | args: [-x, --exclude=SC2001, --exclude=SC2164, --exclude=SC1091] 47 | -------------------------------------------------------------------------------- /LICENSES/BSD-3-Clause.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) Intel Corporation. 2 | 3 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 4 | 5 | 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 6 | 7 | 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 8 | 9 | 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 10 | 11 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 12 | -------------------------------------------------------------------------------- /Jenkinsfile: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2023 Intel Corporation 2 | // 3 | // SPDX-License-Identifier: MIT 4 | 5 | def SAMPLES_REPO = "https://github.com/oneapi-src/oneAPI-samples.git" 6 | def SAMPLES_TAG = "2023.2.0" 7 | 8 | pipeline { 9 | agent { docker { image 'intel/oneapi-hpckit' } } 10 | stages { 11 | stage('checkout samples') { 12 | steps { 13 | dir("oneAPI-samples") { 14 | checkout scm: [$class: 'GitSCM', 15 | userRemoteConfigs: [[url: "${SAMPLES_REPO}"]], 16 | branches: [[name: "${SAMPLES_TAG}"]]], 17 | poll: false 18 | } 19 | } 20 | } 21 | stage ('build') { 22 | parallel { 23 | stage('build DPC++') { 24 | steps { 25 | dir ("oneAPI-samples/DirectProgramming/C++SYCL/DenseLinearAlgebra/vector-add") { 26 | sh "mkdir build && cd build && cmake .. && make cpu-gpu && ./vector-add-buffers" 27 | } 28 | } 29 | } 30 | stage('build C++') { 31 | steps { 32 | dir ("oneAPI-samples/DirectProgramming/C++/CompilerInfrastructure/Intrinsics") { 33 | sh "make && make run && make clean && make CC='icx -msse3' && make run" 34 | } 35 | } 36 | } 37 | stage('build Fortran') { 38 | steps { 39 | dir ("oneAPI-samples/DirectProgramming/Fortran/CombinationalLogic/openmp-primes") { 40 | sh "make && make run && make clean && make FC=ifx && make run" 41 | } 42 | } 43 | } 44 | } 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /doc/source/index.rst: -------------------------------------------------------------------------------- 1 | .. toctree:: 2 | :maxdepth: 2 3 | 4 | ===================================== 5 | Components available for installation 6 | ===================================== 7 | 8 | Data collection: |today| 9 | 10 | Windows, Web installer 11 | ====================== 12 | 13 | Intel\ |r| oneAPI Base Toolkit 14 | ------------------------------ 15 | .. include:: list_components/windows_basekit.txt 16 | :literal: 17 | 18 | Intel\ |r| oneAPI HPC Toolkit 19 | ----------------------------- 20 | .. include:: list_components/windows_hpckit.txt 21 | :literal: 22 | 23 | Intel\ |r| oneAPI Rendering Toolkit 24 | ----------------------------------- 25 | .. include:: list_components/windows_renderkit.txt 26 | :literal: 27 | 28 | Linux, Web installer 29 | ==================== 30 | 31 | Intel\ |r| oneAPI Base Toolkit 32 | ------------------------------ 33 | .. include:: list_components/linux_basekit.txt 34 | :literal: 35 | 36 | Intel\ |r| oneAPI HPC Toolkit 37 | ----------------------------- 38 | .. include:: list_components/linux_hpckit.txt 39 | :literal: 40 | 41 | Intel\ |r| AI Analytics Toolkit 42 | ------------------------------- 43 | .. include:: list_components/linux_aitools.txt 44 | :literal: 45 | 46 | Intel\ |r| oneAPI Rendering Toolkit 47 | ----------------------------------- 48 | .. include:: list_components/linux_renderkit.txt 49 | :literal: 50 | 51 | Linux, APT 52 | ========== 53 | 54 | .. include:: list_components/linux_apt.txt 55 | :literal: 56 | 57 | Linux, YUM/DNF 58 | ============== 59 | 60 | .. include:: list_components/linux_yum_dnf.txt 61 | :literal: 62 | 63 | MacOS, Web installer 64 | ==================== 65 | 66 | Intel\ |r| oneAPI Rendering Toolkit 67 | ----------------------------------- 68 | .. include:: list_components/macos_renderkit.txt 69 | :literal: 70 | 71 | .. |r| unicode:: U+000AE 72 | -------------------------------------------------------------------------------- /scripts/build_windows.bat: -------------------------------------------------------------------------------- 1 | REM SPDX-FileCopyrightText: 2022 Intel Corporation 2 | REM 3 | REM SPDX-License-Identifier: MIT 4 | 5 | set LANGUAGE=%1 6 | set VS_VER=%2 7 | set SAMPLES_TAG=%3 8 | 9 | IF "%VS_VER%"=="2017_build_tools" ( 10 | @call "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvars64.bat" 11 | ) ELSE ( 12 | IF "%VS_VER%"=="2019_build_tools" ( 13 | @call "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvars64.bat" 14 | ) ELSE ( 15 | @call "C:\Program Files (x86)\Intel\oneAPI\setvars-vcvarsall.bat" %VS_VER% 16 | ) 17 | ) 18 | 19 | for /f "tokens=* usebackq" %%f in (`dir /b "C:\Program Files (x86)\Intel\oneAPI\compiler\" ^| findstr /V latest ^| sort`) do @set "LATEST_VERSION=%%f" 20 | @call "C:\Program Files (x86)\Intel\oneAPI\compiler\%LATEST_VERSION%\env\vars.bat" 21 | 22 | git clone --depth 1 --branch %SAMPLES_TAG% https://github.com/oneapi-src/oneAPI-samples.git 23 | 24 | if "%LANGUAGE%" == "c++" goto cpp 25 | if "%LANGUAGE%" == "fortran" goto fortran 26 | if "%LANGUAGE%" == "dpc++" goto dpcpp 27 | goto exit 28 | 29 | :cpp 30 | cd oneAPI-samples\DirectProgramming\C++\CompilerInfrastructure\Intrinsics 31 | del intrin_dot_sample.exe intrin_double_sample.exe intrin_ftz_sample.exe 32 | icx -O2 -msse3 src\intrin_dot_sample.cpp 33 | icx -O2 -msse3 src\intrin_double_sample.cpp 34 | icx -O2 -msse3 src\intrin_ftz_sample.cpp 35 | intrin_dot_sample.exe && intrin_double_sample.exe && intrin_ftz_sample.exe 36 | set /a RESULT=%RESULT%+%ERRORLEVEL% 37 | goto exit 38 | 39 | :fortran 40 | cd oneAPI-samples\DirectProgramming\Fortran\CombinationalLogic\openmp-primes 41 | ifx -O2 -fpp /Qopenmp src\openmp_sample.f90 42 | openmp_sample.exe 43 | set RESULT=%ERRORLEVEL% 44 | ifx -O2 -fpp /Qopenmp src\openmp_sample.f90 45 | openmp_sample.exe 46 | set /a RESULT=%RESULT%+%ERRORLEVEL% 47 | goto exit 48 | 49 | :dpcpp 50 | for /f "tokens=* usebackq" %%f in (`dir /b "C:\Program Files (x86)\Intel\oneAPI\tbb\" ^| findstr /V latest ^| sort`) do @set "LATEST_VERSION=%%f" 51 | @call "C:\Program Files (x86)\Intel\oneAPI\tbb\%LATEST_VERSION%\env\vars.bat" 52 | cd oneAPI-samples\DirectProgramming\C++SYCL\DenseLinearAlgebra\vector-add 53 | REM Sample has additional HW prerequisites. Please check sample Readme for details. Uncomment the following if the prerequisites are met. 54 | REM mkdir build 55 | REM cd build 56 | REM cmake -G "NMake Makefiles" .. 57 | REM nmake cpu-gpu 58 | REM Please change or unset SYCL_DEVICE_TYPE based on available devices. 59 | REM set SYCL_DEVICE_TYPE=CPU 60 | REM vector-add-buffers.exe 61 | set RESULT=%ERRORLEVEL% 62 | goto exit 63 | 64 | :exit 65 | exit /b %RESULT% 66 | -------------------------------------------------------------------------------- /doc/source/conf.py: -------------------------------------------------------------------------------- 1 | # Configuration file for the Sphinx documentation builder. 2 | # 3 | # This file only contains a selection of the most common options. For a full 4 | # list see the documentation: 5 | # https://www.sphinx-doc.org/en/master/usage/configuration.html 6 | 7 | # -- Path setup -------------------------------------------------------------- 8 | 9 | # If extensions (or modules to document with autodoc) are in another directory, 10 | # add these directories to sys.path here. If the directory is relative to the 11 | # documentation root, use os.path.abspath to make it absolute, like shown here. 12 | # 13 | # import os 14 | # import sys 15 | # sys.path.insert(0, os.path.abspath('.')) 16 | 17 | 18 | # -- Project information ----------------------------------------------------- 19 | 20 | project = 'Intel® oneAPI CI Samples' 21 | copyright = '2024 Intel Corporation' 22 | author = 'Intel Corporation' 23 | 24 | 25 | # -- General configuration --------------------------------------------------- 26 | 27 | # Add any Sphinx extension module names here, as strings. They can be 28 | # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom 29 | # ones. 30 | extensions = [] 31 | 32 | # Add any paths that contain templates here, relative to this directory. 33 | templates_path = ['_templates'] 34 | 35 | # List of patterns, relative to source directory, that match files and 36 | # directories to ignore when looking for source files. 37 | # This pattern also affects html_static_path and html_extra_path. 38 | exclude_patterns = [] 39 | 40 | 41 | # -- Options for HTML output ------------------------------------------------- 42 | 43 | # The theme to use for HTML and HTML Help pages. See the documentation for 44 | # a list of builtin themes. 45 | # 46 | html_theme = 'sphinx_book_theme' 47 | html_title = "Intel® oneAPI CI Samples Documentation" 48 | html_logo = '_static/oneAPI-rgb-rev-100.png' 49 | html_favicon = '_static/favicons.png' 50 | 51 | # The theme to use for HTML and HTML Help pages. See the documentation for 52 | # a list of builtin themes. 53 | # 54 | html_theme = 'sphinx_book_theme' 55 | 56 | html_theme_options = { 57 | 'repository_url': 'https://github.com/oneapi-src/oneapi-ci', 58 | 'path_to_docs': 'doc/source', 59 | 'use_issues_button': True, 60 | 'use_edit_page_button': True, 61 | 'repository_branch': 'master', 62 | } 63 | 64 | # Add any paths that contain custom static files (such as style sheets) here, 65 | # relative to this directory. They are copied after the builtin static files, 66 | # so a file named "default.css" will overwrite the builtin "default.css". 67 | html_static_path = ['_static'] 68 | -------------------------------------------------------------------------------- /CONTRIBUTING.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2020 Intel Corporation 2 | .. 3 | .. SPDX-License-Identifier: CC-BY-4.0 4 | 5 | ============== 6 | Contributing 7 | ============== 8 | 9 | We welcome community contributions. You can: 10 | 11 | * Submit your changes directly with a pull request 12 | * Log a bug or feedback with an issue 13 | 14 | Pull requests 15 | ============= 16 | 17 | This project follows the GitHub flow. Make sure your change is in line 18 | with our coding conventions. Submit a pull request to the master 19 | branch. 20 | 21 | License 22 | ======= 23 | 24 | See licenses_ for license information. By contributing to the 25 | project, you agree to the license and copyright terms therein and 26 | release your contribution under these terms. 27 | 28 | Sign your work 29 | ============== 30 | 31 | Please use the sign-off line at the end of the patch. Your signature 32 | certifies that you wrote the patch or otherwise have the right to pass 33 | it on as an open-source patch. The rules are pretty simple: if you can 34 | certify `Linux Foundation Developer Certification of Origin`_ below:: 35 | 36 | Developer Certificate of Origin Version 1.1 37 | 38 | Copyright (C) 2004, 2006 The Linux Foundation and its contributors. 39 | 660 York Street, Suite 102, 40 | San Francisco, CA 94110 USA 41 | 42 | Everyone is permitted to copy and distribute verbatim copies of this 43 | license document, but changing it is not allowed. 44 | 45 | Developer's Certificate of Origin 1.1 46 | 47 | By making a contribution to this project, I certify that: 48 | 49 | (a) The contribution was created in whole or in part by me and I 50 | have the right to submit it under the open source license 51 | indicated in the file; or 52 | 53 | (b) The contribution is based upon previous work that, to the best 54 | of my knowledge, is covered under an appropriate open source 55 | license and I have the right under that license to submit that 56 | work with modifications, whether created in whole or in part by 57 | me, under the same open source license (unless I am permitted to 58 | submit under a different license), as indicated in the file; or 59 | 60 | (c) The contribution was provided directly to me by some other 61 | person who certified (a), (b) or (c) and I have not modified it. 62 | 63 | (d) I understand and agree that this project and the contribution 64 | are public and that a record of the contribution (including all 65 | personal information I submit with it, including my sign-off) is 66 | maintained indefinitely and may be redistributed consistent with 67 | this project or the open source license(s) involved. 68 | 69 | Then you just add a line to every git commit message:: 70 | 71 | Signed-off-by: Joe Smith 72 | 73 | Use your real name (sorry, no pseudonyms or anonymous contributions.) 74 | If you set your user.name and user.email git configs, you can sign your 75 | commit automatically with git commit -s. 76 | 77 | .. _licenses: LICENSES 78 | .. _`Linux Foundation Developer Certification of Origin`: https://developercertificate.org/ 79 | -------------------------------------------------------------------------------- /.github/workflows/scorecard.yml: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2024 Intel Corporation 2 | # 3 | # SPDX-License-Identifier: Apache-2.0 4 | 5 | # This workflow uses actions that are not certified by GitHub. They are provided 6 | # by a third-party and are governed by separate terms of service, privacy 7 | # policy, and support documentation. 8 | 9 | name: Scorecard supply-chain security 10 | on: 11 | # For Branch-Protection check. Only the default branch is supported. See 12 | # https://github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection 13 | branch_protection_rule: 14 | # To guarantee Maintained check is occasionally updated. See 15 | # https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained 16 | schedule: 17 | - cron: '45 14 * * 2' 18 | push: 19 | branches: [ "master" ] 20 | 21 | # Declare default permissions as read only. 22 | permissions: read-all 23 | 24 | jobs: 25 | analysis: 26 | name: Scorecard analysis 27 | runs-on: ubuntu-latest 28 | permissions: 29 | # Needed to upload the results to code-scanning dashboard. 30 | security-events: write 31 | # Needed to publish results and get a badge (see publish_results below). 32 | id-token: write 33 | # Uncomment the permissions below if installing in a private repository. 34 | # contents: read 35 | # actions: read 36 | 37 | steps: 38 | - name: "Checkout code" 39 | uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # v3.1.0 40 | with: 41 | persist-credentials: false 42 | 43 | - name: "Run analysis" 44 | uses: ossf/scorecard-action@e38b1902ae4f44df626f11ba0734b14fb91f8f86 # v2.1.2 45 | with: 46 | results_file: results.sarif 47 | results_format: sarif 48 | # (Optional) "write" PAT token. Uncomment the `repo_token` line below if: 49 | # - you want to enable the Branch-Protection check on a *public* repository, or 50 | # - you are installing Scorecard on a *private* repository 51 | # To create the PAT, follow the steps in https://github.com/ossf/scorecard-action#authentication-with-pat. 52 | # repo_token: ${{ secrets.SCORECARD_TOKEN }} 53 | 54 | # Public repositories: 55 | # - Publish results to OpenSSF REST API for easy access by consumers 56 | # - Allows the repository to include the Scorecard badge. 57 | # - See https://github.com/ossf/scorecard-action#publishing-results. 58 | # For private repositories: 59 | # - `publish_results` will always be set to `false`, regardless 60 | # of the value entered here. 61 | publish_results: false 62 | 63 | # Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF 64 | # format to the repository Actions tab. 65 | - name: "Upload artifact" 66 | uses: actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8 # v3.1.0 67 | with: 68 | name: SARIF file 69 | path: results.sarif 70 | retention-days: 5 71 | 72 | # Upload the results to GitHub's code scanning dashboard. 73 | - name: "Upload to code-scanning" 74 | uses: github/codeql-action/upload-sarif@17573ee1cc1b9d061760f3a006fc4aac4f944fd5 # v2.2.4 75 | with: 76 | sarif_file: results.sarif 77 | -------------------------------------------------------------------------------- /.appveyor.yml: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2022 Intel Corporation 2 | # 3 | # SPDX-License-Identifier: MIT 4 | 5 | environment: 6 | global: 7 | WINDOWS_BASEKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/1f18901e-877d-469d-a41a-a10f11b39336/intel-oneapi-base-toolkit-2025.3.0.372_offline.exe 8 | WINDOWS_HPCKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/3a871580-f839-46ed-aeae-685084127279/intel-oneapi-hpc-toolkit-2025.3.0.378_offline.exe 9 | LINUX_BASEKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/d640da34-77cc-4ab2-8019-ac5592f4ec19/intel-oneapi-base-toolkit-2025.3.0.375_offline.sh 10 | LINUX_HPCKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/66021d90-934d-41f4-bedf-b8c00bbe98bc/intel-oneapi-hpc-toolkit-2025.3.0.381_offline.sh 11 | WINDOWS_CPP_COMPONENTS: intel.oneapi.win.cpp-dpcpp-common 12 | WINDOWS_FORTRAN_COMPONENTS: intel.oneapi.win.ifort-compiler 13 | WINDOWS_DPCPP_COMPONENTS: intel.oneapi.win.cpp-dpcpp-common 14 | LINUX_CPP_COMPONENTS: intel-oneapi-dpcpp-cpp-compiler 15 | LINUX_FORTRAN_COMPONENTS: intel-oneapi-compiler-fortran 16 | LINUX_DPCPP_COMPONENTS: intel-oneapi-compiler-dpcpp-cpp 17 | LINUX_CPP_COMPONENTS_WEB: intel.oneapi.lin.dpcpp-cpp-compiler 18 | LINUX_FORTRAN_COMPONENTS_WEB: intel.oneapi.lin.ifort-compiler 19 | LINUX_DPCPP_COMPONENTS_WEB: intel.oneapi.lin.dpcpp-cpp-compiler 20 | SAMPLES_TAG: 2025.3.0 21 | VS_VER: vs2019 22 | 23 | matrix: 24 | - job_name: build_windows_cpp 25 | appveyor_build_worker_image: Visual Studio 2019 26 | 27 | - job_name: build_windows_fortran 28 | appveyor_build_worker_image: Visual Studio 2019 29 | 30 | - job_name: build_windows_dpcpp 31 | appveyor_build_worker_image: Visual Studio 2019 32 | 33 | - job_name: build_linux_cpp 34 | appveyor_build_worker_image: ubuntu2004 35 | 36 | - job_name: build_linux_fortran 37 | appveyor_build_worker_image: ubuntu2004 38 | 39 | - job_name: build_linux_dpcpp 40 | appveyor_build_worker_image: ubuntu2004 41 | 42 | - job_name: build_linux_apt_cpp 43 | appveyor_build_worker_image: ubuntu2004 44 | 45 | - job_name: build_linux_apt_fortran 46 | appveyor_build_worker_image: ubuntu2004 47 | 48 | - job_name: build_linux_apt_dpcpp 49 | appveyor_build_worker_image: ubuntu2004 50 | 51 | for: 52 | - 53 | matrix: 54 | only: 55 | - job_name: build_windows_cpp 56 | install: 57 | cmd: scripts/install_windows.bat %WINDOWS_HPCKIT_URL% %WINDOWS_CPP_COMPONENTS% 58 | build_script: 59 | cmd: scripts/build_windows.bat c++ %VS_VER% %SAMPLES_TAG% 60 | 61 | # Delete the following if you don't want to save install logs 62 | artifacts: 63 | - name: InstallLogs 64 | path: | 65 | extract.log 66 | bootstrapper* 67 | installer* 68 | - 69 | matrix: 70 | only: 71 | - job_name: build_windows_fortran 72 | install: 73 | cmd: scripts/install_windows.bat %WINDOWS_HPCKIT_URL% %WINDOWS_FORTRAN_COMPONENTS% 74 | build_script: 75 | cmd: scripts/build_windows.bat fortran %VS_VER% %SAMPLES_TAG% 76 | 77 | # Delete the following if you don't want to save install logs 78 | artifacts: 79 | - name: InstallLogs 80 | path: | 81 | extract.log 82 | bootstrapper* 83 | installer* 84 | - 85 | matrix: 86 | only: 87 | - job_name: build_windows_dpcpp 88 | install: 89 | cmd: scripts/install_windows.bat %WINDOWS_BASEKIT_URL% %WINDOWS_DPCPP_COMPONENTS% 90 | build_script: 91 | cmd: scripts/build_windows.bat dpc++ %VS_VER% %SAMPLES_TAG% 92 | 93 | # Delete the following if you don't want to save install logs 94 | artifacts: 95 | - name: InstallLogs 96 | path: | 97 | extract.log 98 | bootstrapper* 99 | installer* 100 | - 101 | matrix: 102 | only: 103 | - job_name: build_linux_cpp 104 | install: 105 | sh: | 106 | scripts/install_linux.sh $LINUX_HPCKIT_URL $LINUX_CPP_COMPONENTS_WEB 107 | build_script: 108 | sh: scripts/build_linux.sh c++ $SAMPLES_TAG 109 | 110 | # Delete the following if you don't want to save install logs 111 | artifacts: 112 | - name: InstallLogs 113 | path: | 114 | extract.log 115 | bootstrapper* 116 | installer* 117 | 118 | - 119 | matrix: 120 | only: 121 | - job_name: build_linux_fortran 122 | install: 123 | sh: | 124 | scripts/install_linux.sh $LINUX_HPCKIT_URL $LINUX_FORTRAN_COMPONENTS_WEB 125 | build_script: 126 | sh: scripts/build_linux.sh fortran $SAMPLES_TAG 127 | 128 | # Delete the following if you don't want to save install logs 129 | artifacts: 130 | - name: InstallLogs 131 | path: | 132 | extract.log 133 | bootstrapper* 134 | installer* 135 | 136 | - 137 | matrix: 138 | only: 139 | - job_name: build_linux_dpcpp 140 | install: 141 | sh: | 142 | scripts/install_linux.sh $LINUX_BASEKIT_URL $LINUX_DPCPP_COMPONENTS_WEB 143 | build_script: 144 | sh: scripts/build_linux.sh dpc++ $SAMPLES_TAG 145 | 146 | # Delete the following if you don't want to save install logs 147 | artifacts: 148 | - name: InstallLogs 149 | path: | 150 | extract.log 151 | bootstrapper* 152 | installer* 153 | 154 | - 155 | matrix: 156 | only: 157 | - job_name: build_linux_apt_cpp 158 | install: 159 | sh: | 160 | scripts/setup_apt_repo_linux.sh 161 | scripts/install_linux_apt.sh $LINUX_CPP_COMPONENTS 162 | build_script: 163 | sh: scripts/build_linux.sh c++ $SAMPLES_TAG 164 | - 165 | matrix: 166 | only: 167 | - job_name: build_linux_apt_fortran 168 | install: 169 | sh: | 170 | scripts/setup_apt_repo_linux.sh 171 | scripts/install_linux_apt.sh $LINUX_FORTRAN_COMPONENTS 172 | build_script: 173 | sh: scripts/build_linux.sh fortran $SAMPLES_TAG 174 | - 175 | matrix: 176 | only: 177 | - job_name: build_linux_apt_dpcpp 178 | install: 179 | sh: | 180 | scripts/setup_apt_repo_linux.sh 181 | scripts/install_linux_apt.sh $LINUX_DPCPP_COMPONENTS 182 | build_script: 183 | sh: scripts/build_linux.sh dpc++ $SAMPLES_TAG 184 | -------------------------------------------------------------------------------- /.github/workflows/list_components.yml: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2022 Intel Corporation 2 | # 3 | # SPDX-License-Identifier: MIT 4 | 5 | name: list_components 6 | permissions: read-all 7 | 8 | on: 9 | push: {} 10 | workflow_dispatch: {} 11 | schedule: 12 | - cron: '0 0 * * *' 13 | 14 | env: 15 | WINDOWS_BASEKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/1f18901e-877d-469d-a41a-a10f11b39336/intel-oneapi-base-toolkit-2025.3.0.372.exe 16 | WINDOWS_HPCKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/3a871580-f839-46ed-aeae-685084127279/intel-oneapi-hpc-toolkit-2025.3.0.378.exe 17 | LINUX_BASEKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/d640da34-77cc-4ab2-8019-ac5592f4ec19/intel-oneapi-base-toolkit-2025.3.0.375.sh 18 | LINUX_HPCKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/66021d90-934d-41f4-bedf-b8c00bbe98bc/intel-oneapi-hpc-toolkit-2025.3.0.381.sh 19 | LINUX_AIKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/491d5c2a-67fe-48d0-884f-6aecd88f5d8a/ai-tools-2025.0.0.75_offline.sh 20 | 21 | jobs: 22 | windows: 23 | runs-on: windows-latest 24 | defaults: 25 | run: 26 | shell: bash 27 | steps: 28 | - uses: actions/checkout@v3 29 | - uses: actions/setup-python@v3 30 | with: 31 | python-version: '3.x' 32 | - name: Intel® oneAPI Base Toolkit 33 | run: scripts/list_components_windows.bat $WINDOWS_BASEKIT_URL doc\\source\\${{ github.workflow }}\\${{ github.job }}_basekit.txt 34 | - name: Intel® oneAPI HPC Toolkit 35 | run: scripts/list_components_windows.bat $WINDOWS_HPCKIT_URL doc\\source\\${{ github.workflow }}\\${{ github.job }}_hpckit.txt 36 | 37 | - name: Upload artifacts 38 | uses: actions/upload-artifact@v4 39 | with: 40 | name: ${{ github.job }} 41 | path: doc/source/${{ github.workflow }}/${{ github.job }}_* 42 | 43 | linux: 44 | runs-on: ubuntu-latest 45 | defaults: 46 | run: 47 | shell: bash 48 | steps: 49 | - uses: actions/checkout@v3 50 | - uses: actions/setup-python@v3 51 | with: 52 | python-version: '3.x' 53 | - name: Intel® oneAPI Base Toolkit 54 | run: scripts/list_components_linux.sh $LINUX_BASEKIT_URL doc/source/${{ github.workflow }}/${{ github.job }}_basekit.txt 55 | - name: Intel® oneAPI HPC Toolkit 56 | run: scripts/list_components_linux.sh $LINUX_HPCKIT_URL doc/source/${{ github.workflow }}/${{ github.job }}_hpckit.txt 57 | - name: Upload artifacts 58 | uses: actions/upload-artifact@v4 59 | with: 60 | name: ${{ github.job }} 61 | path: doc/source/${{ github.workflow }}/${{ github.job }}_* 62 | 63 | linux_aitools: 64 | runs-on: ubuntu-latest 65 | defaults: 66 | run: 67 | shell: bash 68 | steps: 69 | - uses: actions/checkout@v3 70 | - uses: actions/setup-python@v3 71 | with: 72 | python-version: '3.x' 73 | - name: Intel® AI Tools Toolkit 74 | run: scripts/list_components_linux_aitools.sh $LINUX_AIKIT_URL doc/source/${{ github.workflow }}/${{ github.job }}.txt 75 | - name: Upload artifacts 76 | uses: actions/upload-artifact@v4 77 | with: 78 | name: ${{ github.job }} 79 | path: doc/source/${{ github.workflow }}/${{ github.job }}* 80 | 81 | linux_apt: 82 | runs-on: ubuntu-latest 83 | defaults: 84 | run: 85 | shell: bash 86 | steps: 87 | - uses: actions/checkout@v3 88 | - uses: actions/setup-python@v3 89 | with: 90 | python-version: '3.x' 91 | - name: setup apt repo 92 | run: scripts/setup_apt_repo_linux.sh 93 | - name: Intel® oneAPI packages provided in APT repository 94 | run: scripts/list_components_linux_apt.sh doc/source/${{ github.workflow }}/${{ github.job }}.txt 95 | 96 | - name: Upload artifacts 97 | uses: actions/upload-artifact@v4 98 | with: 99 | name: ${{ github.job }} 100 | path: doc/source/${{ github.workflow }}/${{ github.job }}.txt 101 | 102 | linux_yum_dnf: 103 | runs-on: ubuntu-latest 104 | container: fedora:37 105 | defaults: 106 | run: 107 | shell: bash 108 | steps: 109 | - uses: actions/checkout@v3 110 | - uses: actions/setup-python@v3 111 | with: 112 | python-version: '3.x' 113 | - name: setup yum/dnf repo 114 | run: scripts/setup_yum_dnf_repo_linux.sh 115 | - name: Intel® oneAPI packages provided in YUM/DNF repository 116 | run: scripts/list_components_linux_dnf.sh doc/source/${{ github.workflow }}/${{ github.job }}.txt 117 | 118 | - name: Upload artifacts 119 | uses: actions/upload-artifact@v4 120 | with: 121 | name: ${{ github.job }} 122 | path: doc/source/${{ github.workflow }}/${{ github.job }}.txt 123 | 124 | publish: 125 | runs-on: ubuntu-latest 126 | permissions: 127 | pull-requests: write 128 | pages: write 129 | contents: write 130 | needs: [windows, linux, linux_aitools, linux_apt, linux_yum_dnf] 131 | defaults: 132 | run: 133 | shell: bash 134 | working-directory: doc 135 | steps: 136 | - uses: actions/checkout@v3 137 | - name: Download artifacts - windows 138 | uses: actions/download-artifact@v4 139 | with: 140 | name: windows 141 | path: doc/source/${{ github.workflow }} 142 | - name: Download artifacts - linux 143 | uses: actions/download-artifact@v4 144 | with: 145 | name: linux 146 | path: doc/source/${{ github.workflow }} 147 | - name: Download artifacts - linux_apt 148 | uses: actions/download-artifact@v4 149 | with: 150 | name: linux_apt 151 | path: doc/source/${{ github.workflow }} 152 | - name: Download artifacts - linux_yum_dnf 153 | uses: actions/download-artifact@v4 154 | with: 155 | name: linux_yum_dnf 156 | path: doc/source/${{ github.workflow }} 157 | - name: Download artifacts - linux_aitools 158 | uses: actions/download-artifact@v4 159 | with: 160 | name: linux_aitools 161 | path: doc/source/${{ github.workflow }} 162 | - uses: actions/setup-python@v3 163 | with: 164 | python-version: '3.x' 165 | - name: Install prerequisites 166 | run: python -m pip install --quiet -r requirements.txt 167 | - name: Build doc 168 | run: | 169 | find source/${{ github.workflow }} -maxdepth 1 -type f ! -name "*apt*" ! -name "*yum*" ! -name "*aitools*" -exec sed -i -e 1,5d {} \; 170 | find source/${{ github.workflow }} -maxdepth 1 -type f -name "*windows*" -exec sed -i -e 1,2d {} \; -exec sed -i s"/\r//g" {} \; 171 | sed -i -e 1,7d source/${{ github.workflow }}/linux_yum_dnf.txt 172 | make html 173 | - name: Save built doc as artifact 174 | uses: actions/upload-artifact@v4 175 | with: 176 | name: ${{ github.job }} 177 | path: doc/build 178 | - name: Checkout gh-pages 179 | if: ${{ github.ref == 'refs/heads/master' }} 180 | uses: actions/checkout@v3 181 | with: 182 | ref: gh-pages 183 | path: gh-pages 184 | - name: Publish to github pages 185 | if: ${{ github.ref == 'refs/heads/master' }} 186 | run: | 187 | cd ../gh-pages 188 | rm -rf * 189 | touch .nojekyll 190 | cp -r ../doc/build/html/* . 191 | git config user.name github-actions 192 | git config user.email github-actions@github.com 193 | git add . 194 | git commit -m "Update from github actions" || exit 0 195 | git push 196 | -------------------------------------------------------------------------------- /README.rst: -------------------------------------------------------------------------------- 1 | .. SPDX-FileCopyrightText: 2020 Intel Corporation 2 | .. 3 | .. SPDX-License-Identifier: CC-BY-4.0 4 | 5 | ================================= 6 | Intel\ :sup:`®` oneAPI CI Samples 7 | ================================= 8 | 9 | .. image:: https://api.reuse.software/badge/github.com/oneapi-src/oneapi-ci 10 | :target: https://api.reuse.software/info/github.com/oneapi-src/oneapi-ci 11 | :alt: REUSE status 12 | .. image:: https://www.bestpractices.dev/projects/9064/badge 13 | :target: https://www.bestpractices.dev/projects/9064 14 | :alt: OpenSSF Best Practices 15 | 16 | This repository contains sample Public/Cloud CI configurations that 17 | demonstrate installing Intel\ :sup:`®` oneAPI toolkit components and 18 | building applications. You may also find this repository useful for 19 | automating the install process on your own systems. The following 20 | configurations are supported: 21 | 22 | =============== =========================================== 23 | Compilers icc, icx, icpx, dpcpp, ifort, ifx 24 | OS platforms Linux, Windows, MacOS 25 | Install methods Intel installer, apt, dnf, docker container, CI cache 26 | =============== =========================================== 27 | 28 | The config files are intended to be samples that demonstrate a wide 29 | variety of use cases. For your own use, select the parts that you 30 | need. You may also want to customize the set of compilers and 31 | libraries that are installed. See `component listings`_ for the 32 | component names to use in the scripts. 33 | 34 | 35 | Status 36 | ====== 37 | 38 | ================== ================================== ================ 39 | CI Config Status 40 | ================== ================================== ================ 41 | GitHub Actions `.github/workflows/build_all.yml`_ |GitHubStatus| 42 | Circle CI `.circleci/config.yml`_ |CircleStatus| 43 | AppVeyor `.appveyor.yml`_ |AppVeyorStatus| 44 | GitLab CI `.gitlab-ci.yml`_ |GitLabStatus| 45 | Azure Pipelines `.azure-pipelines.yml`_ |AzureStatus| 46 | ================== ================================== ================ 47 | 48 | 49 | Supported Configurations 50 | ======================== 51 | 52 | ======== ========= ========= ============ ===== ======= =========== 53 | \ C++/Fortran/DPC++ C++/Fortran 54 | -------- ---------------------------------------------- ----------- 55 | CI Linux APT Linux DNF Linux Docker Linux Windows MacOS 56 | ======== ========= ========= ============ ===== ======= =========== 57 | GitHub |c| |c| |c| |c| |c| |c| 58 | Circle |c| |c| |c| |c| |c| |x| 59 | AppVeyor |c| |x| |x| |c| |c| |c| 60 | GitLab |c| |c| |x| |c| |c| |x| 61 | Azure |c| |x| |c| |c| |c| |c| 62 | Jenkins |x| |x| |c| |x| |x| |x| 63 | ======== ========= ========= ============ ===== ======= =========== 64 | 65 | 66 | Caching 67 | ======= 68 | 69 | Some of the oneAPI components are large and can take a few minutes to 70 | download install. To accelerate install, we demonstrate the use of 71 | caching. 72 | 73 | 74 | Using oneAPI in Jenkins pipelines 75 | ================================= 76 | 77 | There are multiple ways to add oneAPI tools to a Jenkins pipeline: 78 | 79 | #. setup the tools on Jenkins agent directly, or create custom 80 | container with the tools you need 81 | 82 | * refer to `Intel® oneAPI Toolkits Installation Guides`_ for 83 | details 84 | * explore installation scripts in this repo for examples 85 | #. use optimized containers from `Intel oneContainer Portal`_ 86 | 87 | The Jenkinsfile in this repo demonstrates building DPC++, C++ and 88 | Fortran samples in intel/oneapi-hpckit container in Jenkins. 89 | 90 | To give it a try: 91 | 92 | #. Follow `Jenkins Install Guide`_ to setup Jenkins, or use your 93 | existing setup. 94 | #. Install Docker and Docker Pipeline plugins. 95 | #. Create new pipeline for this repository using 96 | New Item -> Pipeline. 97 | #. Build the pipeline. 98 | #. The result will look like this in Blue Ocean. 99 | 100 | |Jenkins Pipeline Example| 101 | 102 | 103 | See also 104 | ======== 105 | 106 | `Enabling Performance Profiling in GitLab* CI`_ 107 | 108 | Troubleshooting 109 | =============== 110 | 111 | Detailed install logs are saved as artifacts in most CI jobs. 112 | Those logs can be helpful in case of installation issues. 113 | 114 | License 115 | ======= 116 | 117 | The contents of this repository follows the SPDX_ standard for 118 | documenting license information. The Intel oneAPI compilers and 119 | libraries are distributed separately. They are free to use and are 120 | governed by the `oneAPI EULA`_. 121 | 122 | Contribute 123 | ========== 124 | 125 | See contributing_. 126 | 127 | Security 128 | ======== 129 | 130 | See `security guidelines`_. 131 | 132 | .. _`component listings`: https://oneapi-src.github.io/oneapi-ci/ 133 | .. _SPDX: https://spdx.dev/ 134 | .. _`oneAPI EULA`: https://software.intel.com/content/www/us/en/develop/articles/end-user-license-agreement.html 135 | .. _licenses: LICENSES 136 | .. _contributing: CONTRIBUTING.rst 137 | .. _`security guidelines`: https://www.intel.com/content/www/us/en/security-center/default.html 138 | .. _`Enabling Performance Profiling in GitLab* CI`: https://software.intel.com/content/www/us/en/develop/documentation/vtune-cookbook/top/configuration-recipes/performance-profiling-in-gitlab-ci.html 139 | .. _`Intel® oneAPI Toolkits Installation Guides`: https://software.intel.com/content/www/us/en/develop/articles/installation-guide-for-intel-oneapi-toolkits.html 140 | .. _`Jenkins Install Guide`: https://www.jenkins.io/doc/book/installing/ 141 | .. _`Intel oneContainer Portal`: https://software.intel.com/content/www/us/en/develop/tools/containers/get-started.html 142 | 143 | .. _`.github/workflows/build_all.yml`: .github/workflows/build_all.yml 144 | .. _`.circleci/config.yml`: .circleci/config.yml 145 | .. _`.appveyor.yml`: .appveyor.yml 146 | .. _`.gitlab-ci.yml`: .gitlab-ci.yml 147 | .. _`.azure-pipelines.yml`: .azure-pipelines.yml 148 | 149 | .. |GitHubStatus| image:: https://github.com/oneapi-src/oneapi-ci/workflows/build_all/badge.svg 150 | :target: https://github.com/oneapi-src/oneapi-ci/actions?query=workflow%3Abuild_all 151 | :alt: Build status 152 | .. |CircleStatus| image:: https://circleci.com/gh/oneapi-src/oneapi-ci.svg 153 | :target: https://circleci.com/gh/oneapi-src/oneapi-ci/tree/master 154 | :alt: Build status 155 | .. |AppVeyorStatus| image:: https://ci.appveyor.com/api/projects/status/c1lc5jrl6akdb2ey?svg=true 156 | :target: https://ci.appveyor.com/project/oneapi-ci/oneapi-ci 157 | :alt: Build status 158 | .. |GitLabStatus| image:: https://gitlab.com/rscohn2/oneapi-ci-mirror/badges/master/pipeline.svg 159 | :target: https://gitlab.com/rscohn2/oneapi-ci-mirror/-/commits/master 160 | :alt: Build status 161 | .. |AzureStatus| image:: https://dev.azure.com/robertscohn/oneapi-ci-mirror/_apis/build/status/oneapi-src.oneapi-ci?branchName=master 162 | :target: https://dev.azure.com/robertscohn/oneapi-ci-mirror/_build 163 | :alt: Build status 164 | .. |ListComponentsStatus| image:: https://github.com/oneapi-src/oneapi-ci/workflows/list_components/badge.svg 165 | :target: https://github.com/oneapi-src/oneapi-ci/actions?query=workflow%3Alist_components 166 | :alt: Build status 167 | .. |Jenkins Pipeline Example| image:: img/jenkins_pipeline_example.png 168 | :alt: Jenkins Pipeline Example 169 | 170 | .. |r| unicode:: U+000AE 171 | .. |c| unicode:: U+2714 172 | .. |x| unicode:: U+2717 173 | -------------------------------------------------------------------------------- /LICENSES/Apache-2.0.txt: -------------------------------------------------------------------------------- 1 | 2 | Apache License 3 | Version 2.0, January 2004 4 | http://www.apache.org/licenses/ 5 | 6 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 7 | 8 | 1. Definitions. 9 | 10 | "License" shall mean the terms and conditions for use, reproduction, 11 | and distribution as defined by Sections 1 through 9 of this document. 12 | 13 | "Licensor" shall mean the copyright owner or entity authorized by 14 | the copyright owner that is granting the License. 15 | 16 | "Legal Entity" shall mean the union of the acting entity and all 17 | other entities that control, are controlled by, or are under common 18 | control with that entity. For the purposes of this definition, 19 | "control" means (i) the power, direct or indirect, to cause the 20 | direction or management of such entity, whether by contract or 21 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 22 | outstanding shares, or (iii) beneficial ownership of such entity. 23 | 24 | "You" (or "Your") shall mean an individual or Legal Entity 25 | exercising permissions granted by this License. 26 | 27 | "Source" form shall mean the preferred form for making modifications, 28 | including but not limited to software source code, documentation 29 | source, and configuration files. 30 | 31 | "Object" form shall mean any form resulting from mechanical 32 | transformation or translation of a Source form, including but 33 | not limited to compiled object code, generated documentation, 34 | and conversions to other media types. 35 | 36 | "Work" shall mean the work of authorship, whether in Source or 37 | Object form, made available under the License, as indicated by a 38 | copyright notice that is included in or attached to the work 39 | (an example is provided in the Appendix below). 40 | 41 | "Derivative Works" shall mean any work, whether in Source or Object 42 | form, that is based on (or derived from) the Work and for which the 43 | editorial revisions, annotations, elaborations, or other modifications 44 | represent, as a whole, an original work of authorship. For the purposes 45 | of this License, Derivative Works shall not include works that remain 46 | separable from, or merely link (or bind by name) to the interfaces of, 47 | the Work and Derivative Works thereof. 48 | 49 | "Contribution" shall mean any work of authorship, including 50 | the original version of the Work and any modifications or additions 51 | to that Work or Derivative Works thereof, that is intentionally 52 | submitted to Licensor for inclusion in the Work by the copyright owner 53 | or by an individual or Legal Entity authorized to submit on behalf of 54 | the copyright owner. For the purposes of this definition, "submitted" 55 | means any form of electronic, verbal, or written communication sent 56 | to the Licensor or its representatives, including but not limited to 57 | communication on electronic mailing lists, source code control systems, 58 | and issue tracking systems that are managed by, or on behalf of, the 59 | Licensor for the purpose of discussing and improving the Work, but 60 | excluding communication that is conspicuously marked or otherwise 61 | designated in writing by the copyright owner as "Not a Contribution." 62 | 63 | "Contributor" shall mean Licensor and any individual or Legal Entity 64 | on behalf of whom a Contribution has been received by Licensor and 65 | subsequently incorporated within the Work. 66 | 67 | 2. Grant of Copyright License. Subject to the terms and conditions of 68 | this License, each Contributor hereby grants to You a perpetual, 69 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 70 | copyright license to reproduce, prepare Derivative Works of, 71 | publicly display, publicly perform, sublicense, and distribute the 72 | Work and such Derivative Works in Source or Object form. 73 | 74 | 3. Grant of Patent License. Subject to the terms and conditions of 75 | this License, each Contributor hereby grants to You a perpetual, 76 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 77 | (except as stated in this section) patent license to make, have made, 78 | use, offer to sell, sell, import, and otherwise transfer the Work, 79 | where such license applies only to those patent claims licensable 80 | by such Contributor that are necessarily infringed by their 81 | Contribution(s) alone or by combination of their Contribution(s) 82 | with the Work to which such Contribution(s) was submitted. If You 83 | institute patent litigation against any entity (including a 84 | cross-claim or counterclaim in a lawsuit) alleging that the Work 85 | or a Contribution incorporated within the Work constitutes direct 86 | or contributory patent infringement, then any patent licenses 87 | granted to You under this License for that Work shall terminate 88 | as of the date such litigation is filed. 89 | 90 | 4. Redistribution. You may reproduce and distribute copies of the 91 | Work or Derivative Works thereof in any medium, with or without 92 | modifications, and in Source or Object form, provided that You 93 | meet the following conditions: 94 | 95 | (a) You must give any other recipients of the Work or 96 | Derivative Works a copy of this License; and 97 | 98 | (b) You must cause any modified files to carry prominent notices 99 | stating that You changed the files; and 100 | 101 | (c) You must retain, in the Source form of any Derivative Works 102 | that You distribute, all copyright, patent, trademark, and 103 | attribution notices from the Source form of the Work, 104 | excluding those notices that do not pertain to any part of 105 | the Derivative Works; and 106 | 107 | (d) If the Work includes a "NOTICE" text file as part of its 108 | distribution, then any Derivative Works that You distribute must 109 | include a readable copy of the attribution notices contained 110 | within such NOTICE file, excluding those notices that do not 111 | pertain to any part of the Derivative Works, in at least one 112 | of the following places: within a NOTICE text file distributed 113 | as part of the Derivative Works; within the Source form or 114 | documentation, if provided along with the Derivative Works; or, 115 | within a display generated by the Derivative Works, if and 116 | wherever such third-party notices normally appear. The contents 117 | of the NOTICE file are for informational purposes only and 118 | do not modify the License. You may add Your own attribution 119 | notices within Derivative Works that You distribute, alongside 120 | or as an addendum to the NOTICE text from the Work, provided 121 | that such additional attribution notices cannot be construed 122 | as modifying the License. 123 | 124 | You may add Your own copyright statement to Your modifications and 125 | may provide additional or different license terms and conditions 126 | for use, reproduction, or distribution of Your modifications, or 127 | for any such Derivative Works as a whole, provided Your use, 128 | reproduction, and distribution of the Work otherwise complies with 129 | the conditions stated in this License. 130 | 131 | 5. Submission of Contributions. Unless You explicitly state otherwise, 132 | any Contribution intentionally submitted for inclusion in the Work 133 | by You to the Licensor shall be under the terms and conditions of 134 | this License, without any additional terms or conditions. 135 | Notwithstanding the above, nothing herein shall supersede or modify 136 | the terms of any separate license agreement you may have executed 137 | with Licensor regarding such Contributions. 138 | 139 | 6. Trademarks. This License does not grant permission to use the trade 140 | names, trademarks, service marks, or product names of the Licensor, 141 | except as required for reasonable and customary use in describing the 142 | origin of the Work and reproducing the content of the NOTICE file. 143 | 144 | 7. Disclaimer of Warranty. Unless required by applicable law or 145 | agreed to in writing, Licensor provides the Work (and each 146 | Contributor provides its Contributions) on an "AS IS" BASIS, 147 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 148 | implied, including, without limitation, any warranties or conditions 149 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 150 | PARTICULAR PURPOSE. You are solely responsible for determining the 151 | appropriateness of using or redistributing the Work and assume any 152 | risks associated with Your exercise of permissions under this License. 153 | 154 | 8. Limitation of Liability. In no event and under no legal theory, 155 | whether in tort (including negligence), contract, or otherwise, 156 | unless required by applicable law (such as deliberate and grossly 157 | negligent acts) or agreed to in writing, shall any Contributor be 158 | liable to You for damages, including any direct, indirect, special, 159 | incidental, or consequential damages of any character arising as a 160 | result of this License or out of the use or inability to use the 161 | Work (including but not limited to damages for loss of goodwill, 162 | work stoppage, computer failure or malfunction, or any and all 163 | other commercial damages or losses), even if such Contributor 164 | has been advised of the possibility of such damages. 165 | 166 | 9. Accepting Warranty or Additional Liability. While redistributing 167 | the Work or Derivative Works thereof, You may choose to offer, 168 | and charge a fee for, acceptance of support, warranty, indemnity, 169 | or other liability obligations and/or rights consistent with this 170 | License. However, in accepting such obligations, You may act only 171 | on Your own behalf and on Your sole responsibility, not on behalf 172 | of any other Contributor, and only if You agree to indemnify, 173 | defend, and hold each Contributor harmless for any liability 174 | incurred by, or claims asserted against, such Contributor by reason 175 | of your accepting any such warranty or additional liability. 176 | 177 | END OF TERMS AND CONDITIONS 178 | 179 | APPENDIX: How to apply the Apache License to your work. 180 | 181 | To apply the Apache License to your work, attach the following 182 | boilerplate notice, with the fields enclosed by brackets "[]" 183 | replaced with your own identifying information. (Don't include 184 | the brackets!) The text should be enclosed in the appropriate 185 | comment syntax for the file format. We also recommend that a 186 | file or class name and description of purpose be included on the 187 | same "printed page" as the copyright notice for easier 188 | identification within third-party archives. 189 | 190 | Copyright [yyyy] [name of copyright owner] 191 | 192 | Licensed under the Apache License, Version 2.0 (the "License"); 193 | you may not use this file except in compliance with the License. 194 | You may obtain a copy of the License at 195 | 196 | http://www.apache.org/licenses/LICENSE-2.0 197 | 198 | Unless required by applicable law or agreed to in writing, software 199 | distributed under the License is distributed on an "AS IS" BASIS, 200 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 201 | See the License for the specific language governing permissions and 202 | limitations under the License. 203 | -------------------------------------------------------------------------------- /.gitlab-ci.yml: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2022 Intel Corporation 2 | # 3 | # SPDX-License-Identifier: MIT 4 | 5 | stages: 6 | - build 7 | 8 | variables: 9 | WINDOWS_BASEKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/1f18901e-877d-469d-a41a-a10f11b39336/intel-oneapi-base-toolkit-2025.3.0.372_offline.exe 10 | WINDOWS_HPCKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/3a871580-f839-46ed-aeae-685084127279/intel-oneapi-hpc-toolkit-2025.3.0.378_offline.exe 11 | LINUX_BASEKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/d640da34-77cc-4ab2-8019-ac5592f4ec19/intel-oneapi-base-toolkit-2025.3.0.375_offline.sh 12 | LINUX_HPCKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/66021d90-934d-41f4-bedf-b8c00bbe98bc/intel-oneapi-hpc-toolkit-2025.3.0.381_offline.sh 13 | WINDOWS_CPP_COMPONENTS: intel.oneapi.win.cpp-compiler 14 | WINDOWS_FORTRAN_COMPONENTS: intel.oneapi.win.ifort-compiler 15 | WINDOWS_DPCPP_COMPONENTS: intel.oneapi.win.dpcpp-compiler 16 | LINUX_CPP_COMPONENTS: intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic 17 | LINUX_FORTRAN_COMPONENTS: intel-oneapi-compiler-fortran 18 | LINUX_DPCPP_COMPONENTS: intel-oneapi-compiler-dpcpp-cpp 19 | LINUX_CPP_COMPONENTS_WEB: intel.oneapi.lin.dpcpp-cpp-compiler-pro 20 | LINUX_FORTRAN_COMPONENTS_WEB: intel.oneapi.lin.ifort-compiler 21 | LINUX_DPCPP_COMPONENTS_WEB: intel.oneapi.lin.dpcpp-cpp-compiler 22 | CACHE_NUMBER: 11 23 | SAMPLES_TAG: 2025.3.0 24 | COMPILER_VERSION: "2025.3" 25 | TBB_VERSION: "2022.3" 26 | VS_VER: 2019_build_tools 27 | 28 | .shared_windows_runners: 29 | tags: 30 | - shared-windows 31 | - windows 32 | - windows-1809 33 | 34 | build_windows_cpp: 35 | extends: 36 | - .shared_windows_runners 37 | stage: build 38 | cache: 39 | key: 40 | prefix: install-${WINDOWS_CPP_COMPONENTS}-compiler-vcvarsall 41 | files: 42 | - scripts/cache_exclude_windows.ps1 43 | paths: 44 | - cache # GitLab CI cannot cache files outside build directory 45 | before_script: # Restoring install directory from 'cache' folder 46 | - | 47 | if(Test-Path cache) { 48 | New-Item -ItemType "directory" -Path "C:\Program Files (x86)\Intel\oneAPI" -Force 49 | Move-Item -Path cache\compiler -Destination "C:\Program Files (x86)\Intel\oneAPI" 50 | Move-Item -Path cache\setvars-vcvarsall.bat -Destination "C:\Program Files (x86)\Intel\oneAPI\setvars-vcvarsall.bat" 51 | } else { 52 | scripts/install_windows.bat $WINDOWS_HPCKIT_URL $WINDOWS_CPP_COMPONENTS 53 | } 54 | script: 55 | - scripts/build_windows.bat c++ ${VS_VER} ${SAMPLES_TAG} 56 | after_script: # Moving install directory into 'cache' folder inside build directory 57 | - | 58 | if(!(Test-Path cache)) { 59 | scripts/cache_exclude_windows.ps1 60 | New-Item -ItemType "directory" -Path "cache" 61 | } 62 | # "push-pull" is the default cache policy, so cache folder needs to be setup in every run. 63 | # consider setting "policy: pull" once the cache is warm. 64 | Move-Item -Path "C:\Program Files (x86)\Intel\oneAPI\compiler" -Destination "cache" 65 | Move-Item -Path "C:\Program Files (x86)\Intel\oneAPI\setvars-vcvarsall.bat" -Destination "cache" 66 | 67 | # Delete the following if you don't want to save install logs 68 | artifacts: 69 | when: always 70 | paths: 71 | - extract.log 72 | - bootstrapper* 73 | - installer* 74 | expire_in: 1 week 75 | 76 | build_windows_fortran: 77 | extends: 78 | - .shared_windows_runners 79 | stage: build 80 | cache: 81 | key: 82 | prefix: install-${WINDOWS_FORTRAN_COMPONENTS}-compiler-vcvarsall 83 | files: 84 | - scripts/cache_exclude_windows.ps1 85 | paths: 86 | - cache 87 | before_script: 88 | - | 89 | if(Test-Path cache) { 90 | New-Item -ItemType "directory" -Path "C:\Program Files (x86)\Intel\oneAPI" -Force 91 | Move-Item -Path cache\compiler -Destination "C:\Program Files (x86)\Intel\oneAPI" 92 | Move-Item -Path cache\setvars-vcvarsall.bat -Destination "C:\Program Files (x86)\Intel\oneAPI\setvars-vcvarsall.bat" 93 | } else { 94 | scripts/install_windows.bat $WINDOWS_HPCKIT_URL $WINDOWS_FORTRAN_COMPONENTS 95 | } 96 | script: 97 | - scripts/build_windows.bat fortran ${VS_VER} ${SAMPLES_TAG} 98 | after_script: 99 | - | 100 | if(!(Test-Path cache)) { 101 | scripts/cache_exclude_windows.ps1 102 | New-Item -ItemType "directory" -Path "cache" 103 | } 104 | Move-Item -Path "C:\Program Files (x86)\Intel\oneAPI\compiler" -Destination "cache" 105 | Move-Item -Path "C:\Program Files (x86)\Intel\oneAPI\setvars-vcvarsall.bat" -Destination "cache" 106 | 107 | # Delete the following if you don't want to save install logs 108 | artifacts: 109 | when: always 110 | paths: 111 | - extract.log 112 | - bootstrapper* 113 | - installer* 114 | expire_in: 1 week 115 | 116 | build_windows_dpcpp: 117 | extends: 118 | - .shared_windows_runners 119 | stage: build 120 | cache: 121 | key: 122 | prefix: install-${WINDOWS_DPCPP_COMPONENTS}-compiler-tbb-opencl-vcvarsall 123 | files: 124 | - scripts/cache_exclude_windows.ps1 125 | paths: 126 | - cache 127 | before_script: 128 | - | 129 | if(Test-Path cache) { 130 | New-Item -ItemType "directory" -Path "C:\Program Files (x86)\Intel\oneAPI" -Force 131 | Move-Item -Path cache\compiler -Destination "C:\Program Files (x86)\Intel\oneAPI" 132 | Move-Item -Path cache\tbb -Destination "C:\Program Files (x86)\Intel\oneAPI" 133 | Move-Item -Path cache\OpenCL.dll -Destination "C:\Windows\System32" 134 | Move-Item -Path cache\setvars-vcvarsall.bat -Destination "C:\Program Files (x86)\Intel\oneAPI\setvars-vcvarsall.bat" 135 | scripts/restore_registry.bat $COMPILER_VERSION $TBB_VERSION 136 | } else { 137 | scripts/install_windows.bat $WINDOWS_BASEKIT_URL $WINDOWS_DPCPP_COMPONENTS 138 | } 139 | script: 140 | - scripts/build_windows.bat dpc++ ${VS_VER} ${SAMPLES_TAG} 141 | after_script: 142 | - | 143 | if(!(Test-Path cache)) { 144 | scripts/cache_exclude_windows.ps1 145 | New-Item -ItemType "directory" -Path "cache" 146 | } 147 | Move-Item -Path "C:\Program Files (x86)\Intel\oneAPI\compiler" -Destination "cache" 148 | Move-Item -Path "C:\Program Files (x86)\Intel\oneAPI\tbb" -Destination "cache" 149 | Move-Item -Path "C:\Windows\System32\OpenCL.dll" -Destination "cache" 150 | Move-Item -Path "C:\Program Files (x86)\Intel\oneAPI\setvars-vcvarsall.bat" -Destination "cache" 151 | 152 | # Delete the following if you don't want to save install logs 153 | artifacts: 154 | when: always 155 | paths: 156 | - extract.log 157 | - bootstrapper* 158 | - installer* 159 | expire_in: 1 week 160 | 161 | build_linux_cpp: 162 | image: ubuntu:20.04 163 | stage: build 164 | cache: 165 | key: # GitLab CI doesn't support steps before cache is restored, i.e. only static cache keys are supported. 166 | prefix: install-${LINUX_HPCKIT_URL}-${LINUX_CPP_COMPONENTS_WEB}-compiler 167 | files: 168 | - scripts/cache_exclude_linux_no_sudo.sh 169 | paths: 170 | - cache 171 | before_script: 172 | - . scripts/install_prerequisites_linux_no_sudo.sh 173 | - | 174 | if [[ -d cache ]] 175 | then 176 | mkdir -p /opt/intel/oneapi 177 | mv cache/compiler /opt/intel/oneapi/ 178 | else 179 | . scripts/install_linux_no_sudo.sh $LINUX_HPCKIT_URL $LINUX_CPP_COMPONENTS_WEB 180 | fi 181 | script: 182 | - scripts/build_linux.sh c++ ${SAMPLES_TAG} 183 | after_script: 184 | - | 185 | if [[ ! -d cache ]] 186 | then 187 | . scripts/cache_exclude_linux_no_sudo.sh 188 | mkdir cache 189 | fi 190 | mv /opt/intel/oneapi/compiler cache 191 | # Delete the following if you don't want to save install logs 192 | artifacts: 193 | when: always 194 | paths: 195 | - extract.log 196 | - bootstrapper* 197 | - installer* 198 | expire_in: 1 week 199 | 200 | build_linux_fortran: 201 | image: ubuntu:20.04 202 | stage: build 203 | cache: 204 | key: # GitLab CI doesn't support steps before cache is restored, i.e. only static cache keys are supported. 205 | prefix: install-${LINUX_HPCKIT_URL}-${LINUX_FORTRAN_COMPONENTS_WEB}-compiler 206 | files: 207 | - scripts/cache_exclude_linux_no_sudo.sh 208 | paths: 209 | - cache 210 | before_script: 211 | - . scripts/install_prerequisites_linux_no_sudo.sh 212 | - | 213 | if [[ -d cache ]] 214 | then 215 | mkdir -p /opt/intel/oneapi 216 | mv cache/compiler /opt/intel/oneapi/ 217 | else 218 | . scripts/install_linux_no_sudo.sh $LINUX_HPCKIT_URL $LINUX_FORTRAN_COMPONENTS_WEB 219 | fi 220 | script: 221 | - scripts/build_linux.sh fortran ${SAMPLES_TAG} 222 | after_script: 223 | - | 224 | if [[ ! -d cache ]] 225 | then 226 | . scripts/cache_exclude_linux_no_sudo.sh 227 | mkdir cache 228 | fi 229 | mv /opt/intel/oneapi/compiler cache 230 | # Delete the following if you don't want to save install logs 231 | artifacts: 232 | when: always 233 | paths: 234 | - extract.log 235 | - bootstrapper* 236 | - installer* 237 | expire_in: 1 week 238 | 239 | build_linux_dpcpp: 240 | image: ubuntu:20.04 241 | stage: build 242 | cache: 243 | key: # GitLab CI doesn't support steps before cache is restored, i.e. only static cache keys are supported. 244 | prefix: install-${LINUX_BASEKIT_URL}-${LINUX_DPCPP_COMPONENTS_WEB}-compiler-tbb 245 | files: 246 | - scripts/cache_exclude_linux_no_sudo.sh 247 | paths: 248 | - cache 249 | before_script: 250 | - . scripts/install_prerequisites_linux_no_sudo.sh 251 | - | 252 | if [[ -d cache ]] 253 | then 254 | mkdir -p /opt/intel/oneapi 255 | mv cache/compiler /opt/intel/oneapi/ 256 | mv cache/tbb /opt/intel/oneapi/ 257 | else 258 | . scripts/install_linux_no_sudo.sh $LINUX_BASEKIT_URL $LINUX_DPCPP_COMPONENTS_WEB 259 | fi 260 | script: 261 | - scripts/build_linux.sh dpc++ ${SAMPLES_TAG} 262 | after_script: 263 | - | 264 | if [[ ! -d cache ]] 265 | then 266 | . scripts/cache_exclude_linux_no_sudo.sh 267 | mkdir cache 268 | fi 269 | mv /opt/intel/oneapi/compiler cache 270 | mv /opt/intel/oneapi/tbb cache 271 | # Delete the following if you don't want to save install logs 272 | artifacts: 273 | when: always 274 | paths: 275 | - extract.log 276 | - bootstrapper* 277 | - installer* 278 | expire_in: 1 week 279 | 280 | build_linux_apt_cpp: 281 | image: ubuntu:20.04 282 | stage: build 283 | cache: 284 | key: # GitLab CI doesn't support steps before cache is restored, i.e. only static cache keys are supported. 285 | prefix: install-${CACHE_NUMBER}-${LINUX_CPP_COMPONENTS}-compiler 286 | files: 287 | - scripts/cache_exclude_linux_no_sudo.sh 288 | paths: 289 | - cache 290 | before_script: 291 | - . scripts/install_prerequisites_linux_apt_no_sudo.sh 292 | - | 293 | if [[ -d cache ]] 294 | then 295 | mkdir -p /opt/intel/oneapi 296 | mv cache/compiler /opt/intel/oneapi/ 297 | else 298 | . scripts/setup_apt_repo_linux_no_sudo.sh 299 | . scripts/install_linux_apt_no_sudo.sh $LINUX_CPP_COMPONENTS 300 | fi 301 | script: 302 | - scripts/build_linux.sh c++ ${SAMPLES_TAG} 303 | after_script: 304 | - | 305 | if [[ ! -d cache ]] 306 | then 307 | . scripts/cache_exclude_linux_no_sudo.sh 308 | mkdir cache 309 | fi 310 | mv /opt/intel/oneapi/compiler cache 311 | 312 | build_linux_apt_fortran: 313 | image: ubuntu:20.04 314 | stage: build 315 | cache: 316 | key: 317 | prefix: install-${CACHE_NUMBER}-${LINUX_FORTRAN_COMPONENTS}-compiler 318 | files: 319 | - scripts/cache_exclude_linux_no_sudo.sh 320 | paths: 321 | - cache 322 | before_script: 323 | - . scripts/install_prerequisites_linux_apt_no_sudo.sh 324 | - | 325 | if [[ -d cache ]] 326 | then 327 | mkdir -p /opt/intel/oneapi 328 | mv cache/compiler /opt/intel/oneapi/ 329 | else 330 | . scripts/setup_apt_repo_linux_no_sudo.sh 331 | . scripts/install_linux_apt_no_sudo.sh $LINUX_FORTRAN_COMPONENTS 332 | fi 333 | script: 334 | - scripts/build_linux.sh fortran ${SAMPLES_TAG} 335 | after_script: 336 | - | 337 | if [[ ! -d cache ]] 338 | then 339 | . scripts/cache_exclude_linux_no_sudo.sh 340 | mkdir cache 341 | fi 342 | mv /opt/intel/oneapi/compiler cache 343 | 344 | build_linux_apt_dpcpp: 345 | image: ubuntu:20.04 346 | stage: build 347 | cache: 348 | key: 349 | prefix: install-${CACHE_NUMBER}-${LINUX_DPCPP_COMPONENTS}-compiler-tbb 350 | files: 351 | - scripts/cache_exclude_linux_no_sudo.sh 352 | paths: 353 | - cache 354 | before_script: 355 | - . scripts/install_prerequisites_linux_apt_no_sudo.sh 356 | - | 357 | if [[ -d cache ]] 358 | then 359 | mkdir -p /opt/intel/oneapi 360 | mv cache/compiler /opt/intel/oneapi/ 361 | mv cache/tbb /opt/intel/oneapi/ 362 | else 363 | . scripts/setup_apt_repo_linux_no_sudo.sh 364 | . scripts/install_linux_apt_no_sudo.sh $LINUX_DPCPP_COMPONENTS 365 | fi 366 | script: 367 | - scripts/build_linux.sh dpc++ ${SAMPLES_TAG} 368 | after_script: 369 | - | 370 | if [[ ! -d cache ]] 371 | then 372 | . scripts/cache_exclude_linux_no_sudo.sh 373 | mkdir cache 374 | fi 375 | mv /opt/intel/oneapi/compiler cache 376 | mv /opt/intel/oneapi/tbb cache 377 | 378 | build_linux_dnf_cpp: 379 | image: fedora:37 380 | stage: build 381 | cache: 382 | key: # GitLab CI doesn't support steps before cache is restored, i.e. only static cache keys are supported. 383 | prefix: install-${CACHE_NUMBER}-${LINUX_CPP_COMPONENTS}-compiler 384 | files: 385 | - scripts/cache_exclude_linux_no_sudo.sh 386 | paths: 387 | - cache 388 | before_script: 389 | - . scripts/install_prerequisites_linux_dnf_no_sudo.sh 390 | - | 391 | if [[ -d cache ]] 392 | then 393 | mkdir -p /opt/intel/oneapi 394 | mv cache/compiler /opt/intel/oneapi/ 395 | else 396 | . scripts/setup_yum_dnf_repo_linux_no_sudo.sh 397 | . scripts/install_linux_dnf_no_sudo.sh $LINUX_CPP_COMPONENTS 398 | fi 399 | script: 400 | - scripts/build_linux.sh c++ ${SAMPLES_TAG} 401 | after_script: 402 | - | 403 | if [[ ! -d cache ]] 404 | then 405 | . scripts/cache_exclude_linux_no_sudo.sh 406 | mkdir cache 407 | fi 408 | mv /opt/intel/oneapi/compiler cache 409 | 410 | build_linux_dnf_fortran: 411 | image: fedora:37 412 | stage: build 413 | cache: 414 | key: 415 | prefix: install-${CACHE_NUMBER}-${LINUX_FORTRAN_COMPONENTS}-compiler 416 | files: 417 | - scripts/cache_exclude_linux_no_sudo.sh 418 | paths: 419 | - cache 420 | before_script: 421 | - . scripts/install_prerequisites_linux_dnf_no_sudo.sh 422 | - | 423 | if [[ -d cache ]] 424 | then 425 | mkdir -p /opt/intel/oneapi 426 | mv cache/compiler /opt/intel/oneapi/ 427 | else 428 | . scripts/setup_yum_dnf_repo_linux_no_sudo.sh 429 | . scripts/install_linux_dnf_no_sudo.sh $LINUX_FORTRAN_COMPONENTS 430 | fi 431 | script: 432 | - scripts/build_linux.sh fortran ${SAMPLES_TAG} 433 | after_script: 434 | - | 435 | if [[ ! -d cache ]] 436 | then 437 | . scripts/cache_exclude_linux_no_sudo.sh 438 | mkdir cache 439 | fi 440 | mv /opt/intel/oneapi/compiler cache 441 | 442 | build_linux_dnf_dpcpp: 443 | image: fedora:37 444 | stage: build 445 | cache: 446 | key: 447 | prefix: install-${CACHE_NUMBER}-${LINUX_DPCPP_COMPONENTS}-compiler-tbb 448 | files: 449 | - scripts/cache_exclude_linux_no_sudo.sh 450 | paths: 451 | - cache 452 | before_script: 453 | - . scripts/install_prerequisites_linux_dnf_no_sudo.sh 454 | - | 455 | if [[ -d cache ]] 456 | then 457 | mkdir -p /opt/intel/oneapi 458 | mv cache/compiler /opt/intel/oneapi/ 459 | mv cache/tbb /opt/intel/oneapi/ 460 | else 461 | . scripts/setup_yum_dnf_repo_linux_no_sudo.sh 462 | . scripts/install_linux_dnf_no_sudo.sh $LINUX_DPCPP_COMPONENTS 463 | fi 464 | script: 465 | - scripts/build_linux.sh dpc++ ${SAMPLES_TAG} 466 | after_script: 467 | - | 468 | if [[ ! -d cache ]] 469 | then 470 | . scripts/cache_exclude_linux_no_sudo.sh 471 | mkdir cache 472 | fi 473 | mv /opt/intel/oneapi/compiler cache 474 | mv /opt/intel/oneapi/tbb cache 475 | -------------------------------------------------------------------------------- /.azure-pipelines.yml: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2022 Intel Corporation 2 | # 3 | # SPDX-License-Identifier: MIT 4 | 5 | trigger: 6 | - master 7 | 8 | variables: 9 | - name: WINDOWS_BASEKIT_URL 10 | value: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/1f18901e-877d-469d-a41a-a10f11b39336/intel-oneapi-base-toolkit-2025.3.0.372_offline.exe 11 | - name: WINDOWS_HPCKIT_URL 12 | value: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/3a871580-f839-46ed-aeae-685084127279/intel-oneapi-hpc-toolkit-2025.3.0.378_offline.exe 13 | - name: LINUX_BASEKIT_URL 14 | value: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/d640da34-77cc-4ab2-8019-ac5592f4ec19/intel-oneapi-base-toolkit-2025.3.0.375_offline.sh 15 | - name: LINUX_HPCKIT_URL 16 | value: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/66021d90-934d-41f4-bedf-b8c00bbe98bc/intel-oneapi-hpc-toolkit-2025.3.0.381_offline.sh 17 | - name: WINDOWS_CPP_COMPONENTS 18 | value: intel.oneapi.win.cpp-dpcpp-common 19 | - name: WINDOWS_FORTRAN_COMPONENTS 20 | value: intel.oneapi.win.ifort-compiler 21 | - name: WINDOWS_DPCPP_COMPONENTS 22 | value: intel.oneapi.win.cpp-dpcpp-common 23 | - name: LINUX_CPP_COMPONENTS 24 | value: intel-oneapi-dpcpp-cpp-compiler 25 | - name: LINUX_FORTRAN_COMPONENTS 26 | value: intel-oneapi-compiler-fortran 27 | - name: LINUX_DPCPP_COMPONENTS 28 | value: intel-oneapi-compiler-dpcpp-cpp 29 | - name: LINUX_CPP_COMPONENTS_WEB 30 | value: intel.oneapi.lin.dpcpp-cpp-compiler 31 | - name: LINUX_FORTRAN_COMPONENTS_WEB 32 | value: intel.oneapi.lin.ifort-compiler 33 | - name: LINUX_DPCPP_COMPONENTS_WEB 34 | value: intel.oneapi.lin.dpcpp-cpp-compiler 35 | - name: SAMPLES_TAG 36 | value: 2025.1.0 37 | - name: COMPILER_VERSION 38 | value: 2025.3 39 | - name: TBB_VERSION 40 | value: 2022.3 41 | - name: VS_VER 42 | value: vs2022 43 | 44 | resources: 45 | containers: 46 | - container: oneapi-hpckit 47 | image: intel/oneapi-hpckit:latest 48 | options: '-v /usr/bin/sudo:/usr/bin/sudo -v /usr/lib/sudo/libsudo_util.so.0:/usr/lib/sudo/libsudo_util.so.0 -v /usr/lib/sudo/sudoers.so:/usr/lib/sudo/sudoers.so' 49 | - container: oneapi-basekit 50 | image: intel/oneapi-basekit:latest 51 | options: '-v /usr/bin/sudo:/usr/bin/sudo -v /usr/lib/sudo/libsudo_util.so.0:/usr/lib/sudo/libsudo_util.so.0 -v /usr/lib/sudo/sudoers.so:/usr/lib/sudo/sudoers.so' 52 | 53 | jobs: 54 | - job: build_windows_cpp 55 | pool: 56 | vmImage: 'windows-latest' 57 | steps: 58 | - task: Cache@2 # multiple paths per cache not supported yet. See https://github.com/microsoft/azure-pipelines-agent/pull/2834 59 | inputs: 60 | path: vcvarsall 61 | key: '"install" | "$(WINDOWS_HPCKIT_URL)" | "$(WINDOWS_CPP_COMPONENTS)" | "vcvarsall" | scripts/cache_exclude_windows.sh' 62 | cacheHitVar: CACHE_RESTORED 63 | - task: Cache@2 64 | condition: eq(variables.CACHE_RESTORED, 'true') 65 | inputs: 66 | path: C:\Program Files (x86)\Intel\oneAPI\compiler 67 | key: '"install" | "$(WINDOWS_HPCKIT_URL)" | "$(WINDOWS_CPP_COMPONENTS)" | "compiler" | scripts/cache_exclude_windows.sh' 68 | cacheHitVar: CACHE_RESTORED 69 | - script: scripts/install_windows.bat $(WINDOWS_HPCKIT_URL) $(WINDOWS_CPP_COMPONENTS) 70 | displayName: install 71 | condition: ne(variables.CACHE_RESTORED, 'true') 72 | - bash: cp vcvarsall/setvars-vcvarsall.bat "C:/Program Files (x86)/Intel/oneAPI/" 73 | displayName: restore setvars-vcvarsall.bat from cache 74 | condition: eq(variables.CACHE_RESTORED, 'true') 75 | - script: scripts/build_windows.bat c++ $(VS_VER) $(SAMPLES_TAG) 76 | displayName: build 77 | - bash: scripts/cache_exclude_windows.sh 78 | displayName: exclude unused files from cache 79 | condition: ne(variables.CACHE_RESTORED, 'true') 80 | - bash: | 81 | mkdir -p vcvarsall 82 | cp "C:/Program Files (x86)/Intel/oneAPI/setvars-vcvarsall.bat" vcvarsall/ 83 | displayName: copy setvars-vcvarsall.bat to a folder for caching 84 | condition: ne(variables.CACHE_RESTORED, 'true') 85 | 86 | # Delete the following if you don't want to save install logs 87 | - task: CopyFiles@2 88 | condition: ne(variables.CACHE_RESTORED, 'true') 89 | inputs: 90 | sourceFolder: '$(Build.SourcesDirectory)' 91 | contents: | 92 | extract.log 93 | bootstrapper* 94 | installer* 95 | targetFolder: '$(Build.ArtifactStagingDirectory)' 96 | - task: PublishBuildArtifacts@1 97 | condition: ne(variables.CACHE_RESTORED, 'true') 98 | inputs: 99 | pathToPublish: '$(Build.ArtifactStagingDirectory)' 100 | artifactName: InstallLogs_$(Agent.JobName) 101 | 102 | - job: build_windows_fortran 103 | pool: 104 | vmImage: 'windows-latest' 105 | steps: 106 | - task: Cache@2 # multiple paths per cache not supported yet. See https://github.com/microsoft/azure-pipelines-agent/pull/2834 107 | inputs: 108 | path: vcvarsall 109 | key: '"install" | "$(WINDOWS_HPCKIT_URL)" | "$(WINDOWS_FORTRAN_COMPONENTS)" | "vcvarsall" | scripts/cache_exclude_windows.sh' 110 | cacheHitVar: CACHE_RESTORED 111 | - task: Cache@2 112 | condition: eq(variables.CACHE_RESTORED, 'true') 113 | inputs: 114 | path: C:\Program Files (x86)\Intel\oneAPI\compiler 115 | key: '"install" | "$(WINDOWS_HPCKIT_URL)" | "$(WINDOWS_FORTRAN_COMPONENTS)" | "compiler" | scripts/cache_exclude_windows.sh' 116 | cacheHitVar: CACHE_RESTORED 117 | - script: scripts/install_windows.bat $(WINDOWS_HPCKIT_URL) $(WINDOWS_FORTRAN_COMPONENTS) 118 | displayName: install 119 | condition: ne(variables.CACHE_RESTORED, 'true') 120 | - bash: cp vcvarsall/setvars-vcvarsall.bat "C:/Program Files (x86)/Intel/oneAPI/" 121 | displayName: restore setvars-vcvarsall.bat from cache 122 | condition: eq(variables.CACHE_RESTORED, 'true') 123 | - script: scripts/build_windows.bat fortran $(VS_VER) $(SAMPLES_TAG) 124 | displayName: build 125 | - bash: scripts/cache_exclude_windows.sh 126 | displayName: exclude unused files from cache 127 | condition: ne(variables.CACHE_RESTORED, 'true') 128 | - bash: | 129 | mkdir -p vcvarsall 130 | cp "C:/Program Files (x86)/Intel/oneAPI/setvars-vcvarsall.bat" vcvarsall/ 131 | displayName: copy setvars-vcvarsall.bat to a folder for caching 132 | condition: ne(variables.CACHE_RESTORED, 'true') 133 | 134 | # Delete the following if you don't want to save install logs 135 | - task: CopyFiles@2 136 | condition: ne(variables.CACHE_RESTORED, 'true') 137 | inputs: 138 | sourceFolder: '$(Build.SourcesDirectory)' 139 | contents: | 140 | extract.log 141 | bootstrapper* 142 | installer* 143 | targetFolder: '$(Build.ArtifactStagingDirectory)' 144 | - task: PublishBuildArtifacts@1 145 | condition: ne(variables.CACHE_RESTORED, 'true') 146 | inputs: 147 | pathToPublish: '$(Build.ArtifactStagingDirectory)' 148 | artifactName: InstallLogs_$(Agent.JobName) 149 | 150 | - job: build_windows_dpcpp 151 | pool: 152 | vmImage: 'windows-latest' 153 | steps: 154 | - task: Cache@2 # multiple paths per cache not supported yet. See https://github.com/microsoft/azure-pipelines-agent/pull/2834 155 | inputs: 156 | path: vcvarsall 157 | key: '"install" | "$(WINDOWS_BASEKIT_URL)" | "$(WINDOWS_DPCPP_COMPONENTS)" | "vcvarsall" | scripts/cache_exclude_windows.sh' 158 | cacheHitVar: CACHE_RESTORED 159 | - task: Cache@2 160 | condition: eq(variables.CACHE_RESTORED, 'true') 161 | inputs: 162 | path: C:\Program Files (x86)\Intel\oneAPI\compiler 163 | key: '"install" | "$(WINDOWS_BASEKIT_URL)" | "$(WINDOWS_DPCPP_COMPONENTS)" | "compiler" | scripts/cache_exclude_windows.sh' 164 | cacheHitVar: CACHE_RESTORED 165 | - task: Cache@2 166 | condition: eq(variables.CACHE_RESTORED, 'true') 167 | inputs: 168 | path: C:\Program Files (x86)\Intel\oneAPI\tbb 169 | key: '"install" | "$(WINDOWS_BASEKIT_URL)" | "$(WINDOWS_DPCPP_COMPONENTS)" | "tbb" | scripts/cache_exclude_windows.sh' 170 | cacheHitVar: CACHE_RESTORED 171 | - task: Cache@2 172 | condition: eq(variables.CACHE_RESTORED, 'true') 173 | inputs: 174 | path: opencl # caching of individual files is not supported, caching OpenCL.dll in a folder as a workaround. 175 | key: '"install" | "$(WINDOWS_BASEKIT_URL)" | "$(WINDOWS_DPCPP_COMPONENTS)" | "opencl_folder" | scripts/cache_exclude_windows.sh' 176 | cacheHitVar: CACHE_RESTORED 177 | - script: scripts/install_windows.bat $(WINDOWS_BASEKIT_URL) $(WINDOWS_DPCPP_COMPONENTS) 178 | displayName: install 179 | condition: ne(variables.CACHE_RESTORED, 'true') 180 | - script: scripts/restore_registry.bat $(COMPILER_VERSION) $(TBB_VERSION) 181 | displayName: restory registry on cache hit 182 | condition: eq(variables.CACHE_RESTORED, 'true') 183 | - bash: cp vcvarsall/setvars-vcvarsall.bat "C:/Program Files (x86)/Intel/oneAPI/" 184 | displayName: restore setvars-vcvarsall.bat from cache 185 | condition: eq(variables.CACHE_RESTORED, 'true') 186 | - bash: cp opencl/OpenCL.dll C:/Windows/System32/ 187 | displayName: restore OpenCL.dll from cache 188 | condition: eq(variables.CACHE_RESTORED, 'true') 189 | - script: scripts/build_windows.bat dpc++ $(VS_VER) $(SAMPLES_TAG) 190 | displayName: build 191 | - bash: scripts/cache_exclude_windows.sh 192 | displayName: exclude unused files from cache 193 | condition: ne(variables.CACHE_RESTORED, 'true') 194 | - bash: | 195 | mkdir -p vcvarsall 196 | cp "C:/Program Files (x86)/Intel/oneAPI/setvars-vcvarsall.bat" vcvarsall/ 197 | displayName: copy setvars-vcvarsall.bat to a folder for caching 198 | condition: ne(variables.CACHE_RESTORED, 'true') 199 | - bash: | 200 | mkdir -p opencl 201 | cp C:/Windows/System32/OpenCL.dll opencl/ 202 | displayName: copy OpenCL.dll to a folder for caching 203 | condition: ne(variables.CACHE_RESTORED, 'true') 204 | 205 | # Delete the following if you don't want to save install logs 206 | - task: CopyFiles@2 207 | condition: ne(variables.CACHE_RESTORED, 'true') 208 | inputs: 209 | sourceFolder: '$(Build.SourcesDirectory)' 210 | contents: | 211 | extract.log 212 | bootstrapper* 213 | installer* 214 | targetFolder: '$(Build.ArtifactStagingDirectory)' 215 | - task: PublishBuildArtifacts@1 216 | condition: ne(variables.CACHE_RESTORED, 'true') 217 | inputs: 218 | pathToPublish: '$(Build.ArtifactStagingDirectory)' 219 | artifactName: InstallLogs_$(Agent.JobName) 220 | 221 | - job: build_linux_cpp 222 | pool: 223 | vmImage: 'ubuntu-latest' 224 | steps: 225 | - task: Cache@2 226 | inputs: 227 | path: /opt/intel/oneapi/compiler 228 | key: '"install" | "$(LINUX_HPCKIT_URL)" | "$(LINUX_CPP_COMPONENTS_WEB)" | "compiler" | scripts/cache_exclude_linux.sh' 229 | cacheHitVar: CACHE_RESTORED 230 | - script: scripts/install_linux.sh $(LINUX_HPCKIT_URL) $(LINUX_CPP_COMPONENTS_WEB) 231 | displayName: install 232 | condition: ne(variables.CACHE_RESTORED, 'true') 233 | - script: scripts/build_linux.sh c++ $(SAMPLES_TAG) 234 | displayName: build 235 | - bash: scripts/cache_exclude_linux.sh 236 | displayName: exclude unused files from cache 237 | condition: ne(variables.CACHE_RESTORED, 'true') 238 | 239 | # Delete the following if you don't want to save install logs 240 | - task: CopyFiles@2 241 | condition: ne(variables.CACHE_RESTORED, 'true') 242 | inputs: 243 | sourceFolder: '$(Build.SourcesDirectory)' 244 | contents: | 245 | extract.log 246 | bootstrapper* 247 | installer* 248 | targetFolder: '$(Build.ArtifactStagingDirectory)' 249 | - task: PublishBuildArtifacts@1 250 | condition: ne(variables.CACHE_RESTORED, 'true') 251 | inputs: 252 | pathToPublish: '$(Build.ArtifactStagingDirectory)' 253 | artifactName: InstallLogs_$(Agent.JobName) 254 | 255 | - job: build_linux_fortran 256 | pool: 257 | vmImage: 'ubuntu-latest' 258 | steps: 259 | - task: Cache@2 260 | inputs: 261 | path: /opt/intel/oneapi/compiler 262 | key: '"install" | "$(LINUX_HPCKIT_URL)" | "$(LINUX_FORTRAN_COMPONENTS_WEB)" | "compiler" | scripts/cache_exclude_linux.sh' 263 | cacheHitVar: CACHE_RESTORED 264 | - script: scripts/install_linux.sh $(LINUX_HPCKIT_URL) $(LINUX_FORTRAN_COMPONENTS_WEB) 265 | displayName: install 266 | condition: ne(variables.CACHE_RESTORED, 'true') 267 | - script: scripts/build_linux.sh fortran $(SAMPLES_TAG) 268 | displayName: build 269 | - bash: scripts/cache_exclude_linux.sh 270 | displayName: exclude unused files from cache 271 | condition: ne(variables.CACHE_RESTORED, 'true') 272 | 273 | # Delete the following if you don't want to save install logs 274 | - task: CopyFiles@2 275 | condition: ne(variables.CACHE_RESTORED, 'true') 276 | inputs: 277 | sourceFolder: '$(Build.SourcesDirectory)' 278 | contents: | 279 | extract.log 280 | bootstrapper* 281 | installer* 282 | targetFolder: '$(Build.ArtifactStagingDirectory)' 283 | - task: PublishBuildArtifacts@1 284 | condition: ne(variables.CACHE_RESTORED, 'true') 285 | inputs: 286 | pathToPublish: '$(Build.ArtifactStagingDirectory)' 287 | artifactName: InstallLogs_$(Agent.JobName) 288 | 289 | - job: build_linux_dpcpp 290 | pool: 291 | vmImage: 'ubuntu-latest' 292 | steps: 293 | - task: Cache@2 294 | inputs: 295 | path: /opt/intel/oneapi/compiler 296 | key: '"install" | "$(LINUX_BASEKIT_URL)" | "$(LINUX_DPCPP_COMPONENTS_WEB)" | "compiler" | scripts/cache_exclude_linux.sh' 297 | - task: Cache@2 298 | inputs: 299 | path: /opt/intel/oneapi/tbb 300 | key: '"install" | "$(LINUX_BASEKIT_URL)" | "$(LINUX_DPCPP_COMPONENTS_WEB)" | "tbb" | scripts/cache_exclude_linux.sh' 301 | cacheHitVar: CACHE_RESTORED 302 | - script: scripts/install_linux.sh $(LINUX_BASEKIT_URL) $(LINUX_DPCPP_COMPONENTS_WEB) 303 | displayName: install 304 | condition: ne(variables.CACHE_RESTORED, 'true') 305 | - script: scripts/build_linux.sh dpc++ $(SAMPLES_TAG) 306 | displayName: build 307 | - bash: scripts/cache_exclude_linux.sh 308 | displayName: exclude unused files from cache 309 | condition: ne(variables.CACHE_RESTORED, 'true') 310 | 311 | # Delete the following if you don't want to save install logs 312 | - task: CopyFiles@2 313 | condition: ne(variables.CACHE_RESTORED, 'true') 314 | inputs: 315 | sourceFolder: '$(Build.SourcesDirectory)' 316 | contents: | 317 | extract.log 318 | bootstrapper* 319 | installer* 320 | targetFolder: '$(Build.ArtifactStagingDirectory)' 321 | - task: PublishBuildArtifacts@1 322 | condition: ne(variables.CACHE_RESTORED, 'true') 323 | inputs: 324 | pathToPublish: '$(Build.ArtifactStagingDirectory)' 325 | artifactName: InstallLogs_$(Agent.JobName) 326 | 327 | - job: build_linux_apt_cpp 328 | pool: 329 | vmImage: 'ubuntu-latest' 330 | steps: 331 | - script: scripts/setup_apt_repo_linux.sh 332 | displayName: setup apt repo 333 | - script: scripts/apt_depends.sh $LINUX_CPP_COMPONENTS | tee depends.txt 334 | displayName: collect versioned dependencies of apt packages 335 | - task: Cache@2 336 | inputs: 337 | path: /opt/intel/oneapi/compiler 338 | key: '"install" | "$(LINUX_CPP_COMPONENTS)" | depends.txt | "compiler" | scripts/cache_exclude_linux.sh' 339 | cacheHitVar: CACHE_RESTORED 340 | - script: scripts/install_linux_apt.sh $(LINUX_CPP_COMPONENTS) 341 | displayName: install 342 | condition: ne(variables.CACHE_RESTORED, 'true') 343 | - script: scripts/build_linux.sh c++ $(SAMPLES_TAG) 344 | displayName: build 345 | - bash: scripts/cache_exclude_linux.sh 346 | displayName: exclude unused files from cache 347 | condition: ne(variables.CACHE_RESTORED, 'true') 348 | 349 | - job: build_linux_apt_fortran 350 | pool: 351 | vmImage: 'ubuntu-latest' 352 | steps: 353 | - script: scripts/setup_apt_repo_linux.sh 354 | displayName: setup apt repo 355 | - script: scripts/apt_depends.sh $LINUX_CPP_COMPONENTS | tee depends.txt 356 | displayName: collect versioned dependencies of apt packages 357 | - task: Cache@2 358 | inputs: 359 | path: /opt/intel/oneapi/compiler 360 | key: '"install" | "$(LINUX_FORTRAN_COMPONENTS)" | depends.txt | "compiler" | scripts/cache_exclude_linux.sh' 361 | cacheHitVar: CACHE_RESTORED 362 | - script: scripts/install_linux_apt.sh $(LINUX_FORTRAN_COMPONENTS) 363 | displayName: install 364 | condition: ne(variables.CACHE_RESTORED, 'true') 365 | - script: scripts/build_linux.sh fortran $(SAMPLES_TAG) 366 | displayName: build 367 | - bash: scripts/cache_exclude_linux.sh 368 | displayName: exclude unused files from cache 369 | condition: ne(variables.CACHE_RESTORED, 'true') 370 | 371 | - job: build_linux_apt_dpcpp 372 | pool: 373 | vmImage: 'ubuntu-latest' 374 | steps: 375 | - script: scripts/setup_apt_repo_linux.sh 376 | displayName: setup apt repo 377 | - script: scripts/apt_depends.sh $LINUX_CPP_COMPONENTS | tee depends.txt 378 | displayName: collect versioned dependencies of apt packages 379 | - task: Cache@2 380 | inputs: 381 | path: /opt/intel/oneapi/compiler 382 | key: '"install" | "$(LINUX_DPCPP_COMPONENTS)" | depends.txt | "compiler" | scripts/cache_exclude_linux.sh' 383 | - task: Cache@2 384 | inputs: 385 | path: /opt/intel/oneapi/tbb 386 | key: '"install" | "$(LINUX_DPCPP_COMPONENTS)" | depends.txt | "tbb" | scripts/cache_exclude_linux.sh' 387 | cacheHitVar: CACHE_RESTORED 388 | - script: scripts/install_linux_apt.sh $(LINUX_DPCPP_COMPONENTS) 389 | displayName: install 390 | condition: ne(variables.CACHE_RESTORED, 'true') 391 | - script: scripts/build_linux.sh dpc++ $(SAMPLES_TAG) 392 | displayName: build 393 | - bash: scripts/cache_exclude_linux.sh 394 | displayName: exclude unused files from cache 395 | condition: ne(variables.CACHE_RESTORED, 'true') 396 | -------------------------------------------------------------------------------- /LICENSES/CC-BY-4.0.txt: -------------------------------------------------------------------------------- 1 | Creative Commons Attribution 4.0 International Creative Commons Corporation 2 | ("Creative Commons") is not a law firm and does not provide legal services 3 | or legal advice. Distribution of Creative Commons public licenses does not 4 | create a lawyer-client or other relationship. Creative Commons makes its licenses 5 | and related information available on an "as-is" basis. Creative Commons gives 6 | no warranties regarding its licenses, any material licensed under their terms 7 | and conditions, or any related information. Creative Commons disclaims all 8 | liability for damages resulting from their use to the fullest extent possible. 9 | 10 | Using Creative Commons Public Licenses 11 | 12 | Creative Commons public licenses provide a standard set of terms and conditions 13 | that creators and other rights holders may use to share original works of 14 | authorship and other material subject to copyright and certain other rights 15 | specified in the public license below. The following considerations are for 16 | informational purposes only, are not exhaustive, and do not form part of our 17 | licenses. 18 | 19 | Considerations for licensors: Our public licenses are intended for use by 20 | those authorized to give the public permission to use material in ways otherwise 21 | restricted by copyright and certain other rights. Our licenses are irrevocable. 22 | Licensors should read and understand the terms and conditions of the license 23 | they choose before applying it. Licensors should also secure all rights necessary 24 | before applying our licenses so that the public can reuse the material as 25 | expected. Licensors should clearly mark any material not subject to the license. 26 | This includes other CC-licensed material, or material used under an exception 27 | or limitation to copyright. More considerations for licensors : wiki.creativecommons.org/Considerations_for_licensors 28 | 29 | Considerations for the public: By using one of our public licenses, a licensor 30 | grants the public permission to use the licensed material under specified 31 | terms and conditions. If the licensor's permission is not necessary for any 32 | reason–for example, because of any applicable exception or limitation to copyright–then 33 | that use is not regulated by the license. Our licenses grant only permissions 34 | under copyright and certain other rights that a licensor has authority to 35 | grant. Use of the licensed material may still be restricted for other reasons, 36 | including because others have copyright or other rights in the material. A 37 | licensor may make special requests, such as asking that all changes be marked 38 | or described. Although not required by our licenses, you are encouraged to 39 | respect those requests where reasonable. More considerations for the public 40 | : wiki.creativecommons.org/Considerations_for_licensees Creative Commons Attribution 41 | 4.0 International Public License 42 | 43 | By exercising the Licensed Rights (defined below), You accept and agree to 44 | be bound by the terms and conditions of this Creative Commons Attribution 45 | 4.0 International Public License ("Public License"). To the extent this Public 46 | License may be interpreted as a contract, You are granted the Licensed Rights 47 | in consideration of Your acceptance of these terms and conditions, and the 48 | Licensor grants You such rights in consideration of benefits the Licensor 49 | receives from making the Licensed Material available under these terms and 50 | conditions. 51 | 52 | Section 1 – Definitions. 53 | 54 | a. Adapted Material means material subject to Copyright and Similar Rights 55 | that is derived from or based upon the Licensed Material and in which the 56 | Licensed Material is translated, altered, arranged, transformed, or otherwise 57 | modified in a manner requiring permission under the Copyright and Similar 58 | Rights held by the Licensor. For purposes of this Public License, where the 59 | Licensed Material is a musical work, performance, or sound recording, Adapted 60 | Material is always produced where the Licensed Material is synched in timed 61 | relation with a moving image. 62 | 63 | b. Adapter's License means the license You apply to Your Copyright and Similar 64 | Rights in Your contributions to Adapted Material in accordance with the terms 65 | and conditions of this Public License. 66 | 67 | c. Copyright and Similar Rights means copyright and/or similar rights closely 68 | related to copyright including, without limitation, performance, broadcast, 69 | sound recording, and Sui Generis Database Rights, without regard to how the 70 | rights are labeled or categorized. For purposes of this Public License, the 71 | rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. 72 | 73 | d. Effective Technological Measures means those measures that, in the absence 74 | of proper authority, may not be circumvented under laws fulfilling obligations 75 | under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, 76 | and/or similar international agreements. 77 | 78 | e. Exceptions and Limitations means fair use, fair dealing, and/or any other 79 | exception or limitation to Copyright and Similar Rights that applies to Your 80 | use of the Licensed Material. 81 | 82 | f. Licensed Material means the artistic or literary work, database, or other 83 | material to which the Licensor applied this Public License. 84 | 85 | g. Licensed Rights means the rights granted to You subject to the terms and 86 | conditions of this Public License, which are limited to all Copyright and 87 | Similar Rights that apply to Your use of the Licensed Material and that the 88 | Licensor has authority to license. 89 | 90 | h. Licensor means the individual(s) or entity(ies) granting rights under this 91 | Public License. 92 | 93 | i. Share means to provide material to the public by any means or process that 94 | requires permission under the Licensed Rights, such as reproduction, public 95 | display, public performance, distribution, dissemination, communication, or 96 | importation, and to make material available to the public including in ways 97 | that members of the public may access the material from a place and at a time 98 | individually chosen by them. 99 | 100 | j. Sui Generis Database Rights means rights other than copyright resulting 101 | from Directive 96/9/EC of the European Parliament and of the Council of 11 102 | March 1996 on the legal protection of databases, as amended and/or succeeded, 103 | as well as other essentially equivalent rights anywhere in the world. 104 | 105 | k. You means the individual or entity exercising the Licensed Rights under 106 | this Public License. Your has a corresponding meaning. 107 | 108 | Section 2 – Scope. 109 | 110 | a. License grant. 111 | 112 | 1. Subject to the terms and conditions of this Public License, the Licensor 113 | hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, 114 | irrevocable license to exercise the Licensed Rights in the Licensed Material 115 | to: 116 | 117 | A. reproduce and Share the Licensed Material, in whole or in part; and 118 | 119 | B. produce, reproduce, and Share Adapted Material. 120 | 121 | 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions 122 | and Limitations apply to Your use, this Public License does not apply, and 123 | You do not need to comply with its terms and conditions. 124 | 125 | 3. Term. The term of this Public License is specified in Section 6(a). 126 | 127 | 4. Media and formats; technical modifications allowed. The Licensor authorizes 128 | You to exercise the Licensed Rights in all media and formats whether now known 129 | or hereafter created, and to make technical modifications necessary to do 130 | so. The Licensor waives and/or agrees not to assert any right or authority 131 | to forbid You from making technical modifications necessary to exercise the 132 | Licensed Rights, including technical modifications necessary to circumvent 133 | Effective Technological Measures. For purposes of this Public License, simply 134 | making modifications authorized by this Section 2(a)(4) never produces Adapted 135 | Material. 136 | 137 | 5. Downstream recipients. 138 | 139 | A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed 140 | Material automatically receives an offer from the Licensor to exercise the 141 | Licensed Rights under the terms and conditions of this Public License. 142 | 143 | B. No downstream restrictions. You may not offer or impose any additional 144 | or different terms or conditions on, or apply any Effective Technological 145 | Measures to, the Licensed Material if doing so restricts exercise of the Licensed 146 | Rights by any recipient of the Licensed Material. 147 | 148 | 6. No endorsement. Nothing in this Public License constitutes or may be construed 149 | as permission to assert or imply that You are, or that Your use of the Licensed 150 | Material is, connected with, or sponsored, endorsed, or granted official status 151 | by, the Licensor or others designated to receive attribution as provided in 152 | Section 3(a)(1)(A)(i). 153 | 154 | b. Other rights. 155 | 156 | 1. Moral rights, such as the right of integrity, are not licensed under this 157 | Public License, nor are publicity, privacy, and/or other similar personality 158 | rights; however, to the extent possible, the Licensor waives and/or agrees 159 | not to assert any such rights held by the Licensor to the limited extent necessary 160 | to allow You to exercise the Licensed Rights, but not otherwise. 161 | 162 | 2. Patent and trademark rights are not licensed under this Public License. 163 | 164 | 3. To the extent possible, the Licensor waives any right to collect royalties 165 | from You for the exercise of the Licensed Rights, whether directly or through 166 | a collecting society under any voluntary or waivable statutory or compulsory 167 | licensing scheme. In all other cases the Licensor expressly reserves any right 168 | to collect such royalties. 169 | 170 | Section 3 – License Conditions. 171 | 172 | Your exercise of the Licensed Rights is expressly made subject to the following 173 | conditions. 174 | 175 | a. Attribution. 176 | 177 | 1. If You Share the Licensed Material (including in modified form), You must: 178 | 179 | A. retain the following if it is supplied by the Licensor with the Licensed 180 | Material: 181 | 182 | i. identification of the creator(s) of the Licensed Material and any others 183 | designated to receive attribution, in any reasonable manner requested by the 184 | Licensor (including by pseudonym if designated); 185 | 186 | ii. a copyright notice; 187 | 188 | iii. a notice that refers to this Public License; 189 | 190 | iv. a notice that refers to the disclaimer of warranties; 191 | 192 | v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; 193 | 194 | B. indicate if You modified the Licensed Material and retain an indication 195 | of any previous modifications; and 196 | 197 | C. indicate the Licensed Material is licensed under this Public License, and 198 | include the text of, or the URI or hyperlink to, this Public License. 199 | 200 | 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner 201 | based on the medium, means, and context in which You Share the Licensed Material. 202 | For example, it may be reasonable to satisfy the conditions by providing a 203 | URI or hyperlink to a resource that includes the required information. 204 | 205 | 3. If requested by the Licensor, You must remove any of the information required 206 | by Section 3(a)(1)(A) to the extent reasonably practicable. 207 | 208 | 4. If You Share Adapted Material You produce, the Adapter's License You apply 209 | must not prevent recipients of the Adapted Material from complying with this 210 | Public License. 211 | 212 | Section 4 – Sui Generis Database Rights. 213 | 214 | Where the Licensed Rights include Sui Generis Database Rights that apply to 215 | Your use of the Licensed Material: 216 | 217 | a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, 218 | reuse, reproduce, and Share all or a substantial portion of the contents of 219 | the database; 220 | 221 | b. if You include all or a substantial portion of the database contents in 222 | a database in which You have Sui Generis Database Rights, then the database 223 | in which You have Sui Generis Database Rights (but not its individual contents) 224 | is Adapted Material; and 225 | 226 | c. You must comply with the conditions in Section 3(a) if You Share all or 227 | a substantial portion of the contents of the database. 228 | 229 | For the avoidance of doubt, this Section 4 supplements and does not replace 230 | Your obligations under this Public License where the Licensed Rights include 231 | other Copyright and Similar Rights. 232 | 233 | Section 5 – Disclaimer of Warranties and Limitation of Liability. 234 | 235 | a. Unless otherwise separately undertaken by the Licensor, to the extent possible, 236 | the Licensor offers the Licensed Material as-is and as-available, and makes 237 | no representations or warranties of any kind concerning the Licensed Material, 238 | whether express, implied, statutory, or other. This includes, without limitation, 239 | warranties of title, merchantability, fitness for a particular purpose, non-infringement, 240 | absence of latent or other defects, accuracy, or the presence or absence of 241 | errors, whether or not known or discoverable. Where disclaimers of warranties 242 | are not allowed in full or in part, this disclaimer may not apply to You. 243 | 244 | b. To the extent possible, in no event will the Licensor be liable to You 245 | on any legal theory (including, without limitation, negligence) or otherwise 246 | for any direct, special, indirect, incidental, consequential, punitive, exemplary, 247 | or other losses, costs, expenses, or damages arising out of this Public License 248 | or use of the Licensed Material, even if the Licensor has been advised of 249 | the possibility of such losses, costs, expenses, or damages. Where a limitation 250 | of liability is not allowed in full or in part, this limitation may not apply 251 | to You. 252 | 253 | c. The disclaimer of warranties and limitation of liability provided above 254 | shall be interpreted in a manner that, to the extent possible, most closely 255 | approximates an absolute disclaimer and waiver of all liability. 256 | 257 | Section 6 – Term and Termination. 258 | 259 | a. This Public License applies for the term of the Copyright and Similar Rights 260 | licensed here. However, if You fail to comply with this Public License, then 261 | Your rights under this Public License terminate automatically. 262 | 263 | b. Where Your right to use the Licensed Material has terminated under Section 264 | 6(a), it reinstates: 265 | 266 | 1. automatically as of the date the violation is cured, provided it is cured 267 | within 30 days of Your discovery of the violation; or 268 | 269 | 2. upon express reinstatement by the Licensor. 270 | 271 | c. For the avoidance of doubt, this Section 6(b) does not affect any right 272 | the Licensor may have to seek remedies for Your violations of this Public 273 | License. 274 | 275 | d. For the avoidance of doubt, the Licensor may also offer the Licensed Material 276 | under separate terms or conditions or stop distributing the Licensed Material 277 | at any time; however, doing so will not terminate this Public License. 278 | 279 | e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. 280 | 281 | Section 7 – Other Terms and Conditions. 282 | 283 | a. The Licensor shall not be bound by any additional or different terms or 284 | conditions communicated by You unless expressly agreed. 285 | 286 | b. Any arrangements, understandings, or agreements regarding the Licensed 287 | Material not stated herein are separate from and independent of the terms 288 | and conditions of this Public License. 289 | 290 | Section 8 – Interpretation. 291 | 292 | a. For the avoidance of doubt, this Public License does not, and shall not 293 | be interpreted to, reduce, limit, restrict, or impose conditions on any use 294 | of the Licensed Material that could lawfully be made without permission under 295 | this Public License. 296 | 297 | b. To the extent possible, if any provision of this Public License is deemed 298 | unenforceable, it shall be automatically reformed to the minimum extent necessary 299 | to make it enforceable. If the provision cannot be reformed, it shall be severed 300 | from this Public License without affecting the enforceability of the remaining 301 | terms and conditions. 302 | 303 | c. No term or condition of this Public License will be waived and no failure 304 | to comply consented to unless expressly agreed to by the Licensor. 305 | 306 | d. Nothing in this Public License constitutes or may be interpreted as a limitation 307 | upon, or waiver of, any privileges and immunities that apply to the Licensor 308 | or You, including from the legal processes of any jurisdiction or authority. 309 | 310 | Creative Commons is not a party to its public licenses. Notwithstanding, Creative 311 | Commons may elect to apply one of its public licenses to material it publishes 312 | and in those instances will be considered the "Licensor." The text of the 313 | Creative Commons public licenses is dedicated to the public domain under the 314 | CC0 Public Domain Dedication. Except for the limited purpose of indicating 315 | that material is shared under a Creative Commons public license or as otherwise 316 | permitted by the Creative Commons policies published at creativecommons.org/policies, 317 | Creative Commons does not authorize the use of the trademark "Creative Commons" 318 | or any other trademark or logo of Creative Commons without its prior written 319 | consent including, without limitation, in connection with any unauthorized 320 | modifications to any of its public licenses or any other arrangements, understandings, 321 | or agreements concerning use of licensed material. For the avoidance of doubt, 322 | this paragraph does not form part of the public licenses. 323 | 324 | Creative Commons may be contacted at creativecommons.org. 325 | -------------------------------------------------------------------------------- /.github/workflows/build_all.yml: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2022 Intel Corporation 2 | # 3 | # SPDX-License-Identifier: MIT 4 | 5 | name: build_all 6 | permissions: read-all 7 | 8 | on: push 9 | 10 | env: 11 | WINDOWS_BASEKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/1f18901e-877d-469d-a41a-a10f11b39336/intel-oneapi-base-toolkit-2025.3.0.372_offline.exe 12 | WINDOWS_HPCKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/3a871580-f839-46ed-aeae-685084127279/intel-oneapi-hpc-toolkit-2025.3.0.378_offline.exe 13 | LINUX_BASEKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/d640da34-77cc-4ab2-8019-ac5592f4ec19/intel-oneapi-base-toolkit-2025.3.0.375_offline.sh 14 | LINUX_HPCKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/66021d90-934d-41f4-bedf-b8c00bbe98bc/intel-oneapi-hpc-toolkit-2025.3.0.381_offline.sh 15 | LINUX_AIKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/491d5c2a-67fe-48d0-884f-6aecd88f5d8a/ai-tools-2025.0.0.75_offline.sh 16 | WINDOWS_CPP_COMPONENTS: intel.oneapi.win.cpp-dpcpp-common 17 | WINDOWS_FORTRAN_COMPONENTS: intel.oneapi.win.ifort-compiler 18 | WINDOWS_DPCPP_COMPONENTS: intel.oneapi.win.cpp-dpcpp-common 19 | LINUX_CPP_COMPONENTS: intel-oneapi-dpcpp-cpp-compiler 20 | LINUX_FORTRAN_COMPONENTS: intel-oneapi-compiler-fortran 21 | LINUX_DPCPP_COMPONENTS: intel-oneapi-compiler-dpcpp-cpp 22 | LINUX_CPP_COMPONENTS_WEB: intel.oneapi.lin.dpcpp-cpp-compiler 23 | LINUX_FORTRAN_COMPONENTS_WEB: intel.oneapi.lin.ifort-compiler 24 | LINUX_DPCPP_COMPONENTS_WEB: intel.oneapi.lin.dpcpp-cpp-compiler 25 | CACHE_NUMBER: 11 26 | SAMPLES_TAG: 2025.3.0 27 | AI_SAMPLES_TAG: 2025.0.0 28 | COMPILER_VERSION: 2025.3 29 | TBB_VERSION: 2022.3 30 | VS_VER: vs2022 31 | 32 | jobs: 33 | build_windows_cpp: 34 | runs-on: windows-latest 35 | defaults: 36 | run: 37 | shell: bash 38 | steps: 39 | - uses: actions/checkout@v3 40 | - name: cache install 41 | id: cache-install 42 | uses: actions/cache@v3 43 | with: 44 | path: | 45 | C:\Program Files (x86)\Intel\oneAPI\setvars-vcvarsall.bat 46 | C:\Program Files (x86)\Intel\oneAPI\compiler 47 | key: install-${{ env.CACHE_NUMBER }}-${{ env.WINDOWS_HPCKIT_URL }}-${{ env.WINDOWS_CPP_COMPONENTS }}-compiler-${{ hashFiles('**/scripts/cache_exclude_windows.sh') }} 48 | - name: install 49 | if: steps.cache-install.outputs.cache-hit != 'true' 50 | run: scripts/install_windows.bat $WINDOWS_HPCKIT_URL $WINDOWS_CPP_COMPONENTS 51 | - name: build 52 | run: scripts/build_windows.bat c++ $VS_VER $SAMPLES_TAG 53 | - name: exclude unused files from cache 54 | if: steps.cache-install.outputs.cache-hit != 'true' 55 | shell: bash 56 | run: scripts/cache_exclude_windows.sh 57 | 58 | # Delete the following if you don't want to save install logs 59 | - name: Saving install logs 60 | if: steps.cache-install.outputs.cache-hit != 'true' 61 | uses: actions/upload-artifact@v4 62 | with: 63 | name: InstallLogs_${{ github.job }} 64 | path: | 65 | extract.log 66 | bootstrapper* 67 | installer* 68 | retention-days: 7 69 | 70 | build_windows_fortran: 71 | runs-on: windows-latest 72 | defaults: 73 | run: 74 | shell: bash 75 | steps: 76 | - uses: actions/checkout@v3 77 | - name: cache install 78 | id: cache-install 79 | uses: actions/cache@v3 80 | with: 81 | path: | 82 | C:\Program Files (x86)\Intel\oneAPI\setvars-vcvarsall.bat 83 | C:\Program Files (x86)\Intel\oneAPI\compiler 84 | key: install-${{ env.CACHE_NUMBER }}-${{ env.WINDOWS_HPCKIT_URL }}-${{ env.WINDOWS_FORTRAN_COMPONENTS }}-compiler-${{ hashFiles('**/scripts/cache_exclude_windows.sh') }} 85 | - name: install 86 | if: steps.cache-install.outputs.cache-hit != 'true' 87 | run: scripts/install_windows.bat $WINDOWS_HPCKIT_URL $WINDOWS_FORTRAN_COMPONENTS 88 | - name: build 89 | run: scripts/build_windows.bat fortran $VS_VER $SAMPLES_TAG 90 | - name: exclude unused files from cache 91 | if: steps.cache-install.outputs.cache-hit != 'true' 92 | shell: bash 93 | run: scripts/cache_exclude_windows.sh 94 | 95 | # Delete the following if you don't want to save install logs 96 | - name: Saving install logs 97 | if: steps.cache-install.outputs.cache-hit != 'true' 98 | uses: actions/upload-artifact@v4 99 | with: 100 | name: InstallLogs_${{ github.job }} 101 | path: | 102 | extract.log 103 | bootstrapper* 104 | installer* 105 | retention-days: 7 106 | 107 | build_windows_dpcpp: 108 | runs-on: windows-latest 109 | defaults: 110 | run: 111 | shell: bash 112 | steps: 113 | - uses: actions/checkout@v3 114 | - name: cache install 115 | id: cache-install 116 | uses: actions/cache@v3 117 | with: 118 | path: | 119 | C:\Program Files (x86)\Intel\oneAPI\setvars-vcvarsall.bat 120 | C:\Program Files (x86)\Intel\oneAPI\compiler 121 | C:\Program Files (x86)\Intel\oneAPI\tbb 122 | C:\Windows\System32\OpenCL.dll 123 | key: install-${{ env.CACHE_NUMBER }}-${{ env.WINDOWS_BASEKIT_URL }}-${{ env.WINDOWS_DPCPP_COMPONENTS }}-compiler-tbb-opencl-${{ hashFiles('**/scripts/cache_exclude_windows.sh') }} 124 | - name: install 125 | if: steps.cache-install.outputs.cache-hit != 'true' 126 | run: scripts/install_windows.bat $WINDOWS_BASEKIT_URL $WINDOWS_DPCPP_COMPONENTS 127 | - name: restore registry on cache hit 128 | if: steps.cache-install.outputs.cache-hit == 'true' 129 | run: scripts/restore_registry.bat $COMPILER_VERSION $TBB_VERSION 130 | - name: build 131 | run: scripts/build_windows.bat dpc++ $VS_VER $SAMPLES_TAG 132 | - name: exclude unused files from cache 133 | if: steps.cache-install.outputs.cache-hit != 'true' 134 | shell: bash 135 | run: scripts/cache_exclude_windows.sh 136 | 137 | # Delete the following if you don't want to save install logs 138 | - name: Saving install logs 139 | if: steps.cache-install.outputs.cache-hit != 'true' 140 | uses: actions/upload-artifact@v4 141 | with: 142 | name: InstallLogs_${{ github.job }} 143 | path: | 144 | extract.log 145 | bootstrapper* 146 | installer* 147 | retention-days: 7 148 | 149 | build_linux_cpp: 150 | runs-on: ubuntu-latest 151 | defaults: 152 | run: 153 | shell: bash 154 | steps: 155 | - uses: actions/checkout@v3 156 | - name: cache install 157 | id: cache-install 158 | uses: actions/cache@v3 159 | with: 160 | path: | 161 | /opt/intel/oneapi/compiler 162 | key: install-${{ env.CACHE_NUMBER }}-${{ env.LINUX_HPCKIT_URL }}-${{ env.LINUX_CPP_COMPONENTS_WEB }}-compiler-${{ hashFiles('**/scripts/cache_exclude_linux.sh') }} 163 | - name: install 164 | if: steps.cache-install.outputs.cache-hit != 'true' 165 | run: scripts/install_linux.sh $LINUX_HPCKIT_URL $LINUX_CPP_COMPONENTS_WEB 166 | - name: build 167 | run: scripts/build_linux.sh c++ $SAMPLES_TAG 168 | - name: exclude unused files from cache 169 | if: steps.cache-install.outputs.cache-hit != 'true' 170 | run: scripts/cache_exclude_linux.sh 171 | 172 | # Delete the following if you don't want to save install logs 173 | - name: Saving install logs 174 | if: steps.cache-install.outputs.cache-hit != 'true' 175 | uses: actions/upload-artifact@v4 176 | with: 177 | name: InstallLogs_${{ github.job }} 178 | path: | 179 | bootstrapper* 180 | installer* 181 | retention-days: 7 182 | 183 | build_linux_fortran: 184 | runs-on: ubuntu-latest 185 | defaults: 186 | run: 187 | shell: bash 188 | steps: 189 | - uses: actions/checkout@v3 190 | - name: cache install 191 | id: cache-install 192 | uses: actions/cache@v3 193 | with: 194 | path: | 195 | /opt/intel/oneapi/compiler 196 | key: install-${{ env.CACHE_NUMBER }}-${{ env.LINUX_HPCKIT_URL }}-${{ env.LINUX_FORTRAN_COMPONENTS_WEB }}-compiler-${{ hashFiles('**/scripts/cache_exclude_linux.sh') }} 197 | - name: install 198 | if: steps.cache-install.outputs.cache-hit != 'true' 199 | run: scripts/install_linux.sh $LINUX_HPCKIT_URL $LINUX_FORTRAN_COMPONENTS_WEB 200 | - name: build 201 | run: scripts/build_linux.sh fortran $SAMPLES_TAG 202 | - name: exclude unused files from cache 203 | if: steps.cache-install.outputs.cache-hit != 'true' 204 | run: scripts/cache_exclude_linux.sh 205 | 206 | # Delete the following if you don't want to save install logs 207 | - name: Saving install logs 208 | if: steps.cache-install.outputs.cache-hit != 'true' 209 | uses: actions/upload-artifact@v4 210 | with: 211 | name: InstallLogs_${{ github.job }} 212 | path: | 213 | bootstrapper* 214 | installer* 215 | retention-days: 7 216 | 217 | build_linux_dpcpp: 218 | runs-on: ubuntu-latest 219 | defaults: 220 | run: 221 | shell: bash 222 | steps: 223 | - uses: actions/checkout@v3 224 | - name: cache install 225 | id: cache-install 226 | uses: actions/cache@v3 227 | with: 228 | path: | 229 | /opt/intel/oneapi/compiler 230 | /opt/intel/oneapi/tbb 231 | key: install-${{ env.CACHE_NUMBER }}-${{ env.LINUX_BASEKIT_URL }}-${{ env.LINUX_DPCPP_COMPONENTS_WEB }}-compiler-tbb-${{ hashFiles('**/scripts/cache_exclude_linux.sh') }} 232 | - name: install 233 | if: steps.cache-install.outputs.cache-hit != 'true' 234 | run: scripts/install_linux.sh $LINUX_BASEKIT_URL $LINUX_DPCPP_COMPONENTS_WEB 235 | - name: build 236 | run: scripts/build_linux.sh dpc++ $SAMPLES_TAG 237 | - name: exclude unused files from cache 238 | if: steps.cache-install.outputs.cache-hit != 'true' 239 | run: scripts/cache_exclude_linux.sh 240 | 241 | # Delete the following if you don't want to save install logs 242 | - name: Saving install logs 243 | if: steps.cache-install.outputs.cache-hit != 'true' 244 | uses: actions/upload-artifact@v4 245 | with: 246 | name: InstallLogs_${{ github.job }} 247 | path: | 248 | bootstrapper* 249 | installer* 250 | retention-days: 7 251 | 252 | build_linux_aitools: 253 | runs-on: ubuntu-latest 254 | defaults: 255 | run: 256 | shell: bash 257 | steps: 258 | - uses: actions/checkout@v3 259 | - name: install 260 | run: scripts/install_linux_aitools.sh $LINUX_AIKIT_URL 261 | - name: build 262 | run: scripts/build_linux_aitools.sh $AI_SAMPLES_TAG 263 | 264 | # Delete the following if you don't want to save install logs 265 | - name: Saving install logs 266 | if: steps.cache-install.outputs.cache-hit != 'true' 267 | uses: actions/upload-artifact@v4 268 | with: 269 | name: InstallLogs_${{ github.job }} 270 | path: | 271 | bootstrapper* 272 | installer* 273 | retention-days: 7 274 | 275 | build_linux_apt_cpp: 276 | runs-on: ubuntu-latest 277 | defaults: 278 | run: 279 | shell: bash 280 | steps: 281 | - uses: actions/checkout@v3 282 | - name: setup apt repo 283 | run: scripts/setup_apt_repo_linux.sh 284 | - name: collect versioned dependencies of apt packages 285 | run: scripts/apt_depends.sh $LINUX_CPP_COMPONENTS | tee depends.txt 286 | - name: cache install 287 | id: cache-install 288 | uses: actions/cache@v3 289 | with: 290 | path: | 291 | /opt/intel/oneapi/compiler 292 | key: install-${{ env.LINUX_CPP_COMPONENTS }}-${{ hashFiles('**/depends.txt') }}-compiler-${{ hashFiles('**/scripts/cache_exclude_linux.sh') }} 293 | - name: install 294 | if: steps.cache-install.outputs.cache-hit != 'true' 295 | run: scripts/install_linux_apt.sh $LINUX_CPP_COMPONENTS 296 | - name: build 297 | run: scripts/build_linux.sh c++ $SAMPLES_TAG 298 | - name: exclude unused files from cache 299 | if: steps.cache-install.outputs.cache-hit != 'true' 300 | run: scripts/cache_exclude_linux.sh 301 | 302 | build_linux_apt_fortran: 303 | runs-on: ubuntu-latest 304 | defaults: 305 | run: 306 | shell: bash 307 | steps: 308 | - uses: actions/checkout@v3 309 | - name: setup apt repo 310 | run: scripts/setup_apt_repo_linux.sh 311 | - name: collect versioned dependencies of apt packages 312 | run: scripts/apt_depends.sh $LINUX_FORTRAN_COMPONENTS | tee depends.txt 313 | - name: cache install 314 | id: cache-install 315 | uses: actions/cache@v3 316 | with: 317 | path: | 318 | /opt/intel/oneapi/compiler 319 | key: install-${{ env.LINUX_FORTRAN_COMPONENTS }}-${{ hashFiles('**/depends.txt') }}-compiler-${{ hashFiles('**/scripts/cache_exclude_linux.sh') }} 320 | - name: install 321 | if: steps.cache-install.outputs.cache-hit != 'true' 322 | run: scripts/install_linux_apt.sh $LINUX_FORTRAN_COMPONENTS 323 | - name: build 324 | run: scripts/build_linux.sh fortran $SAMPLES_TAG 325 | - name: exclude unused files from cache 326 | if: steps.cache-install.outputs.cache-hit != 'true' 327 | run: scripts/cache_exclude_linux.sh 328 | 329 | build_linux_apt_dpcpp: 330 | runs-on: ubuntu-latest 331 | defaults: 332 | run: 333 | shell: bash 334 | steps: 335 | - uses: actions/checkout@v3 336 | - name: setup apt repo 337 | run: scripts/setup_apt_repo_linux.sh 338 | - name: collect versioned dependencies of apt packages 339 | run: scripts/apt_depends.sh $LINUX_DPCPP_COMPONENTS | tee depends.txt 340 | - name: cache install 341 | id: cache-install 342 | uses: actions/cache@v3 343 | with: 344 | path: | 345 | /opt/intel/oneapi/compiler 346 | /opt/intel/oneapi/tbb 347 | key: install-${{ env.LINUX_DPCPP_COMPONENTS }}-${{ hashFiles('**/depends.txt') }}-compiler-tbb-${{ hashFiles('**/scripts/cache_exclude_linux.sh') }} 348 | - name: install 349 | if: steps.cache-install.outputs.cache-hit != 'true' 350 | run: scripts/install_linux_apt.sh $LINUX_DPCPP_COMPONENTS 351 | - name: build 352 | run: scripts/build_linux.sh dpc++ $SAMPLES_TAG 353 | - name: exclude unused files from cache 354 | if: steps.cache-install.outputs.cache-hit != 'true' 355 | run: scripts/cache_exclude_linux.sh 356 | 357 | build_linux_dnf_cpp: 358 | runs-on: ubuntu-latest 359 | container: fedora:37 360 | defaults: 361 | run: 362 | shell: bash 363 | steps: 364 | - uses: actions/checkout@v3 365 | - name: install prerequisites 366 | run: scripts/install_prerequisites_linux_dnf.sh 367 | - name: setup yum/dnf repo 368 | run: scripts/setup_yum_dnf_repo_linux.sh 369 | - name: collect versioned dependencies of dnf packages 370 | run: scripts/dnf_depends.sh $LINUX_CPP_COMPONENTS | tee depends.txt 371 | - name: cache install 372 | id: cache-install 373 | uses: actions/cache@v3 374 | with: 375 | path: | 376 | /opt/intel/oneapi/compiler 377 | key: install-${{ env.LINUX_CPP_COMPONENTS }}-${{ hashFiles('**/depends.txt') }}-compiler-${{ hashFiles('**/scripts/cache_exclude_linux.sh') }} 378 | - name: install 379 | if: steps.cache-install.outputs.cache-hit != 'true' 380 | run: scripts/install_linux_dnf.sh $LINUX_CPP_COMPONENTS 381 | - name: build 382 | run: scripts/build_linux.sh c++ $SAMPLES_TAG 383 | - name: exclude unused files from cache 384 | if: steps.cache-install.outputs.cache-hit != 'true' 385 | run: scripts/cache_exclude_linux.sh 386 | 387 | build_linux_dnf_fortran: 388 | runs-on: ubuntu-latest 389 | container: fedora:37 390 | defaults: 391 | run: 392 | shell: bash 393 | steps: 394 | - uses: actions/checkout@v3 395 | - name: install prerequisites 396 | run: scripts/install_prerequisites_linux_dnf.sh 397 | - name: setup yum/dnf repo 398 | run: scripts/setup_yum_dnf_repo_linux.sh 399 | - name: collect versioned dependencies of dnf packages 400 | run: scripts/dnf_depends.sh $LINUX_FORTRAN_COMPONENTS | tee depends.txt 401 | - name: cache install 402 | id: cache-install 403 | uses: actions/cache@v3 404 | with: 405 | path: | 406 | /opt/intel/oneapi/compiler 407 | key: install-${{ env.LINUX_FORTRAN_COMPONENTS }}-${{ hashFiles('**/depends.txt') }}-compiler-${{ hashFiles('**/scripts/cache_exclude_linux.sh') }} 408 | - name: install 409 | if: steps.cache-install.outputs.cache-hit != 'true' 410 | run: scripts/install_linux_dnf.sh $LINUX_FORTRAN_COMPONENTS 411 | - name: build 412 | run: scripts/build_linux.sh fortran $SAMPLES_TAG 413 | - name: exclude unused files from cache 414 | if: steps.cache-install.outputs.cache-hit != 'true' 415 | run: scripts/cache_exclude_linux.sh 416 | 417 | build_linux_dnf_dpcpp: 418 | runs-on: ubuntu-latest 419 | container: fedora:37 420 | defaults: 421 | run: 422 | shell: bash 423 | steps: 424 | - uses: actions/checkout@v3 425 | - name: install prerequisites 426 | run: scripts/install_prerequisites_linux_dnf.sh 427 | - name: setup yum/dnf repo 428 | run: scripts/setup_yum_dnf_repo_linux.sh 429 | - name: collect versioned dependencies of dnf packages 430 | run: scripts/dnf_depends.sh $LINUX_DPCPP_COMPONENTS | tee depends.txt 431 | - name: cache install 432 | id: cache-install 433 | uses: actions/cache@v3 434 | with: 435 | path: | 436 | /opt/intel/oneapi/compiler 437 | /opt/intel/oneapi/tbb 438 | key: install-${{ env.LINUX_DPCPP_COMPONENTS }}-${{ hashFiles('**/depends.txt') }}-compiler-tbb-${{ hashFiles('**/scripts/cache_exclude_linux.sh') }} 439 | - name: install 440 | if: steps.cache-install.outputs.cache-hit != 'true' 441 | run: scripts/install_linux_dnf.sh $LINUX_DPCPP_COMPONENTS 442 | - name: build 443 | run: scripts/build_linux.sh dpc++ $SAMPLES_TAG 444 | - name: exclude unused files from cache 445 | if: steps.cache-install.outputs.cache-hit != 'true' 446 | run: scripts/cache_exclude_linux.sh 447 | -------------------------------------------------------------------------------- /.circleci/config.yml: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2022 Intel Corporation 2 | # 3 | # SPDX-License-Identifier: MIT 4 | 5 | version: 2.1 6 | parameters: 7 | WINDOWS_BASEKIT_URL: 8 | type: string 9 | default: "https://registrationcenter-download.intel.com/akdlm/IRC_NAS/1f18901e-877d-469d-a41a-a10f11b39336/intel-oneapi-base-toolkit-2025.3.0.372_offline.exe" 10 | WINDOWS_HPCKIT_URL: 11 | type: string 12 | default: "https://registrationcenter-download.intel.com/akdlm/IRC_NAS/3a871580-f839-46ed-aeae-685084127279/intel-oneapi-hpc-toolkit-2025.3.0.378_offline.exe" 13 | LINUX_BASEKIT_URL: 14 | type: string 15 | default: "https://registrationcenter-download.intel.com/akdlm/IRC_NAS/d640da34-77cc-4ab2-8019-ac5592f4ec19/intel-oneapi-base-toolkit-2025.3.0.375_offline.sh" 16 | LINUX_HPCKIT_URL: 17 | type: string 18 | default: "https://registrationcenter-download.intel.com/akdlm/IRC_NAS/66021d90-934d-41f4-bedf-b8c00bbe98bc/intel-oneapi-hpc-toolkit-2025.3.0.381_offline.sh" 19 | WINDOWS_CPP_COMPONENTS: 20 | type: string 21 | default: "intel.oneapi.win.cpp-dpcpp-common" 22 | WINDOWS_FORTRAN_COMPONENTS: 23 | type: string 24 | default: "intel.oneapi.win.ifort-compiler" 25 | WINDOWS_DPCPP_COMPONENTS: 26 | type: string 27 | default: "intel.oneapi.win.cpp-dpcpp-common" 28 | LINUX_CPP_COMPONENTS: 29 | type: string 30 | default: "intel-oneapi-dpcpp-cpp-compiler" 31 | LINUX_FORTRAN_COMPONENTS: 32 | type: string 33 | default: "intel-oneapi-compiler-fortran" 34 | LINUX_DPCPP_COMPONENTS: 35 | type: string 36 | default: "intel-oneapi-compiler-dpcpp-cpp" 37 | LINUX_CPP_COMPONENTS_WEB: 38 | type: string 39 | default: "intel.oneapi.lin.dpcpp-cpp-compiler" 40 | LINUX_FORTRAN_COMPONENTS_WEB: 41 | type: string 42 | default: "intel.oneapi.lin.ifort-compiler" 43 | LINUX_DPCPP_COMPONENTS_WEB: 44 | type: string 45 | default: "intel.oneapi.lin.dpcpp-cpp-compiler" 46 | SAMPLES_TAG: 47 | type: string 48 | default: "2025.3.0" 49 | COMPILER_VERSION: 50 | type: string 51 | default: "2025.3" 52 | TBB_VERSION: 53 | type: string 54 | default: "2022.3" 55 | VS_VER: 56 | type: string 57 | default: "vs2017" 58 | 59 | orbs: 60 | win: circleci/windows@2.4.0 61 | 62 | jobs: 63 | build_windows_cpp: 64 | executor: 65 | name: win/default 66 | shell: bash.exe 67 | steps: 68 | - checkout 69 | - restore_cache: 70 | keys: 71 | - install-<< pipeline.parameters.WINDOWS_HPCKIT_URL >>-<< pipeline.parameters.WINDOWS_CPP_COMPONENTS >>-compiler-vcvarsall-{{ checksum "scripts/cache_exclude_windows.sh" }} 72 | - run: 73 | name: install 74 | command: | 75 | [ -d "C:\Program Files (x86)\Intel\oneAPI\compiler" ] && exit 0 76 | scripts/install_windows.bat << pipeline.parameters.WINDOWS_HPCKIT_URL >> << pipeline.parameters.WINDOWS_CPP_COMPONENTS >> 77 | - run: 78 | name: build 79 | command: scripts/build_windows.bat c++ << pipeline.parameters.VS_VER >> << pipeline.parameters.SAMPLES_TAG >> 80 | - run: 81 | name: exclude unused files from cache 82 | command: scripts/cache_exclude_windows.sh 83 | - save_cache: 84 | key: install-<< pipeline.parameters.WINDOWS_HPCKIT_URL >>-<< pipeline.parameters.WINDOWS_CPP_COMPONENTS >>-compiler-{{ checksum "scripts/cache_exclude_windows.sh" }} 85 | paths: 86 | - C:\Program Files (x86)\Intel\oneAPI\compiler 87 | - C:\Program Files (x86)\Intel\oneAPI\setvars-vcvarsall.bat 88 | 89 | # Delete the following if you don't want to save install logs 90 | - run: 91 | command: | 92 | mkdir InstallLogs 93 | cp extract* bootstrapper* installer* InstallLogs || : 94 | when: always 95 | - store_artifacts: 96 | path: InstallLogs 97 | 98 | build_windows_fortran: 99 | executor: 100 | name: win/default 101 | shell: bash.exe 102 | steps: 103 | - checkout 104 | - restore_cache: 105 | keys: 106 | - install-<< pipeline.parameters.WINDOWS_HPCKIT_URL >>-<< pipeline.parameters.WINDOWS_FORTRAN_COMPONENTS >>-compiler-vcvarsall-{{ checksum "scripts/cache_exclude_windows.sh" }} 107 | - run: 108 | name: install 109 | command: | 110 | [ -d "C:\Program Files (x86)\Intel\oneAPI\compiler" ] && exit 0 111 | scripts/install_windows.bat << pipeline.parameters.WINDOWS_HPCKIT_URL >> << pipeline.parameters.WINDOWS_FORTRAN_COMPONENTS >> 112 | - run: 113 | name: build 114 | command: scripts/build_windows.bat fortran << pipeline.parameters.VS_VER >> << pipeline.parameters.SAMPLES_TAG >> 115 | - run: 116 | name: exclude unused files from cache 117 | command: scripts/cache_exclude_windows.sh 118 | - save_cache: 119 | key: install-<< pipeline.parameters.WINDOWS_HPCKIT_URL >>-<< pipeline.parameters.WINDOWS_FORTRAN_COMPONENTS >>-compiler-{{ checksum "scripts/cache_exclude_windows.sh" }} 120 | paths: 121 | - C:\Program Files (x86)\Intel\oneAPI\compiler 122 | - C:\Program Files (x86)\Intel\oneAPI\setvars-vcvarsall.bat 123 | 124 | # Delete the following if you don't want to save install logs 125 | - run: 126 | command: | 127 | mkdir InstallLogs 128 | cp extract* bootstrapper* installer* InstallLogs || : 129 | when: always 130 | - store_artifacts: 131 | path: InstallLogs 132 | 133 | build_windows_dpcpp: 134 | executor: 135 | name: win/default 136 | shell: bash.exe 137 | steps: 138 | - checkout 139 | - restore_cache: 140 | keys: 141 | - install-<< pipeline.parameters.WINDOWS_BASEKIT_URL >>-<< pipeline.parameters.WINDOWS_DPCPP_COMPONENTS >>-compiler-tbb-opencl-vcvarsall-{{ checksum "scripts/cache_exclude_windows.sh" }} 142 | - run: 143 | name: restory registry on cache hit 144 | command: | 145 | [ ! -d "C:\Program Files (x86)\Intel\oneAPI\compiler" ] && exit 0 146 | scripts/restore_registry.bat << pipeline.parameters.COMPILER_VERSION >> << pipeline.parameters.TBB_VERSION >> 147 | - run: 148 | name: install 149 | command: | 150 | [ -d "C:\Program Files (x86)\Intel\oneAPI\compiler" ] && exit 0 151 | scripts/install_windows.bat << pipeline.parameters.WINDOWS_BASEKIT_URL >> << pipeline.parameters.WINDOWS_DPCPP_COMPONENTS >> 152 | - run: 153 | name: build 154 | command: scripts/build_windows.bat dpc++ << pipeline.parameters.VS_VER >> << pipeline.parameters.SAMPLES_TAG >> 155 | - run: 156 | name: exclude unused files from cache 157 | command: scripts/cache_exclude_windows.sh 158 | - save_cache: 159 | key: install-<< pipeline.parameters.WINDOWS_BASEKIT_URL >>-<< pipeline.parameters.WINDOWS_DPCPP_COMPONENTS >>-compiler-tbb-opencl-{{ checksum "scripts/cache_exclude_windows.sh" }} 160 | paths: 161 | - C:\Program Files (x86)\Intel\oneAPI\compiler 162 | - C:\Program Files (x86)\Intel\oneAPI\tbb 163 | - C:\Windows\System32\OpenCL.dll 164 | - C:\Program Files (x86)\Intel\oneAPI\setvars-vcvarsall.bat 165 | 166 | # Delete the following if you don't want to save install logs 167 | - run: 168 | command: | 169 | mkdir InstallLogs 170 | cp extract* bootstrapper* installer* InstallLogs || : 171 | when: always 172 | - store_artifacts: 173 | path: InstallLogs 174 | 175 | build_linux_cpp: 176 | docker: 177 | - image: ubuntu:20.04 178 | steps: 179 | - checkout 180 | - run: 181 | name: install prerequisites 182 | command: . scripts/install_prerequisites_linux_no_sudo.sh 183 | - restore_cache: 184 | keys: 185 | - install-<< pipeline.parameters.LINUX_HPCKIT_URL >>-<< pipeline.parameters.LINUX_CPP_COMPONENTS_WEB >>-compiler-${{ checksum "scripts/cache_exclude_linux_no_sudo.sh" }} 186 | - run: 187 | name: install 188 | command: | 189 | [ -d /opt/intel/oneapi/compiler ] && exit 0 190 | . scripts/install_linux_no_sudo.sh << pipeline.parameters.LINUX_HPCKIT_URL >> << pipeline.parameters.LINUX_CPP_COMPONENTS_WEB >> 191 | - run: 192 | name: build 193 | command: scripts/build_linux.sh c++ << pipeline.parameters.SAMPLES_TAG >> 194 | - run: 195 | name: exclude unused files from cache 196 | command: . scripts/cache_exclude_linux_no_sudo.sh 197 | - save_cache: 198 | key: install-<< pipeline.parameters.LINUX_HPCKIT_URL >>-<< pipeline.parameters.LINUX_CPP_COMPONENTS_WEB >>-compiler-${{ checksum "scripts/cache_exclude_linux_no_sudo.sh" }} 199 | paths: 200 | - /opt/intel/oneapi/compiler 201 | 202 | # Delete the following if you don't want to save install logs 203 | - run: 204 | command: | 205 | mkdir InstallLogs 206 | cp extract* bootstrapper* installer* InstallLogs || : 207 | when: always 208 | - store_artifacts: 209 | path: InstallLogs 210 | 211 | build_linux_fortran: 212 | docker: 213 | - image: ubuntu:20.04 214 | steps: 215 | - checkout 216 | - run: 217 | name: install prerequisites 218 | command: . scripts/install_prerequisites_linux_no_sudo.sh 219 | - restore_cache: 220 | keys: 221 | - install-<< pipeline.parameters.LINUX_HPCKIT_URL >>-<< pipeline.parameters.LINUX_FORTRAN_COMPONENTS_WEB >>-compiler-${{ checksum "scripts/cache_exclude_linux_no_sudo.sh" }} 222 | - run: 223 | name: install 224 | command: | 225 | [ -d /opt/intel/oneapi/compiler ] && exit 0 226 | . scripts/install_linux_no_sudo.sh << pipeline.parameters.LINUX_HPCKIT_URL >> << pipeline.parameters.LINUX_FORTRAN_COMPONENTS_WEB >> 227 | - run: 228 | name: build 229 | command: scripts/build_linux.sh fortran << pipeline.parameters.SAMPLES_TAG >> 230 | - run: 231 | name: exclude unused files from cache 232 | command: . scripts/cache_exclude_linux_no_sudo.sh 233 | - save_cache: 234 | key: install-<< pipeline.parameters.LINUX_HPCKIT_URL >>-<< pipeline.parameters.LINUX_FORTRAN_COMPONENTS_WEB >>-compiler-${{ checksum "scripts/cache_exclude_linux_no_sudo.sh" }} 235 | paths: 236 | - /opt/intel/oneapi/compiler 237 | 238 | # Delete the following if you don't want to save install logs 239 | - run: 240 | command: | 241 | mkdir InstallLogs 242 | cp extract* bootstrapper* installer* InstallLogs || : 243 | when: always 244 | - store_artifacts: 245 | path: InstallLogs 246 | 247 | build_linux_dpcpp: 248 | docker: 249 | - image: ubuntu:20.04 250 | steps: 251 | - checkout 252 | - run: 253 | name: install prerequisites 254 | command: . scripts/install_prerequisites_linux_no_sudo.sh 255 | - restore_cache: 256 | keys: 257 | - install-<< pipeline.parameters.LINUX_BASEKIT_URL >>-<< pipeline.parameters.LINUX_DPCPP_COMPONENTS_WEB >>-compiler-${{ checksum "scripts/cache_exclude_linux_no_sudo.sh" }} 258 | - run: 259 | name: install 260 | command: | 261 | [ -d /opt/intel/oneapi/compiler ] && exit 0 262 | . scripts/install_linux_no_sudo.sh << pipeline.parameters.LINUX_BASEKIT_URL >> << pipeline.parameters.LINUX_DPCPP_COMPONENTS_WEB >> 263 | - run: 264 | name: build 265 | command: scripts/build_linux.sh dpc++ << pipeline.parameters.SAMPLES_TAG >> 266 | - run: 267 | name: exclude unused files from cache 268 | command: . scripts/cache_exclude_linux_no_sudo.sh 269 | - save_cache: 270 | key: install-<< pipeline.parameters.LINUX_BASEKIT_URL >>-<< pipeline.parameters.LINUX_DPCPP_COMPONENTS_WEB >>-compiler-tbb-${{ checksum "scripts/cache_exclude_linux_no_sudo.sh" }} 271 | paths: 272 | - /opt/intel/oneapi/compiler 273 | - /opt/intel/oneapi/tbb 274 | 275 | # Delete the following if you don't want to save install logs 276 | - run: 277 | command: | 278 | mkdir InstallLogs 279 | cp extract* bootstrapper* installer* InstallLogs || : 280 | when: always 281 | - store_artifacts: 282 | path: InstallLogs 283 | 284 | build_linux_apt_cpp: 285 | docker: 286 | - image: ubuntu:20.04 287 | steps: 288 | - checkout 289 | - run: 290 | name: install prerequisites 291 | command: . scripts/install_prerequisites_linux_apt_no_sudo.sh 292 | - run: 293 | name: setup apt repo 294 | command: . scripts/setup_apt_repo_linux_no_sudo.sh 295 | - run: 296 | name: collect versioned dependencies of apt packages 297 | command: . scripts/apt_depends.sh << pipeline.parameters.LINUX_CPP_COMPONENTS >> | tee depends.txt 298 | - restore_cache: 299 | keys: 300 | - install-<< pipeline.parameters.LINUX_CPP_COMPONENTS >>-{{ checksum "depends.txt" }}-compiler-${{ checksum "scripts/cache_exclude_linux_no_sudo.sh" }} 301 | - run: 302 | name: install 303 | command: | 304 | [ -d /opt/intel/oneapi/compiler ] && exit 0 305 | . scripts/install_linux_apt_no_sudo.sh << pipeline.parameters.LINUX_CPP_COMPONENTS >> 306 | - run: 307 | name: build 308 | command: scripts/build_linux.sh c++ << pipeline.parameters.SAMPLES_TAG >> 309 | - run: 310 | name: exclude unused files from cache 311 | command: . scripts/cache_exclude_linux_no_sudo.sh 312 | - save_cache: 313 | key: install-<< pipeline.parameters.LINUX_CPP_COMPONENTS >>-{{ checksum "depends.txt" }}-compiler-${{ checksum "scripts/cache_exclude_linux_no_sudo.sh" }} 314 | paths: 315 | - /opt/intel/oneapi/compiler 316 | 317 | build_linux_apt_fortran: 318 | docker: 319 | - image: ubuntu:20.04 320 | steps: 321 | - checkout 322 | - run: 323 | name: install prerequisites 324 | command: . scripts/install_prerequisites_linux_apt_no_sudo.sh 325 | - run: 326 | name: setup apt repo 327 | command: . scripts/setup_apt_repo_linux_no_sudo.sh 328 | - run: 329 | name: collect versioned dependencies of apt packages 330 | command: . scripts/apt_depends.sh << pipeline.parameters.LINUX_FORTRAN_COMPONENTS >> | tee depends.txt 331 | - restore_cache: 332 | keys: 333 | - install-<< pipeline.parameters.LINUX_FORTRAN_COMPONENTS >>-{{ checksum "depends.txt" }}-compiler-${{ checksum "scripts/cache_exclude_linux_no_sudo.sh" }} 334 | - run: 335 | name: install 336 | command: | 337 | [ -d /opt/intel/oneapi/compiler ] && exit 0 338 | . scripts/install_linux_apt_no_sudo.sh << pipeline.parameters.LINUX_FORTRAN_COMPONENTS >> 339 | - run: 340 | name: build 341 | command: scripts/build_linux.sh fortran << pipeline.parameters.SAMPLES_TAG >> 342 | - run: 343 | name: exclude unused files from cache 344 | command: . scripts/cache_exclude_linux_no_sudo.sh 345 | - save_cache: 346 | key: install-<< pipeline.parameters.LINUX_FORTRAN_COMPONENTS >>-{{ checksum "depends.txt" }}-compiler-${{ checksum "scripts/cache_exclude_linux_no_sudo.sh" }} 347 | paths: 348 | - /opt/intel/oneapi/compiler 349 | 350 | build_linux_apt_dpcpp: 351 | docker: 352 | - image: ubuntu:20.04 353 | steps: 354 | - checkout 355 | - run: 356 | name: install prerequisites 357 | command: . scripts/install_prerequisites_linux_apt_no_sudo.sh 358 | - run: 359 | name: setup apt repo 360 | command: . scripts/setup_apt_repo_linux_no_sudo.sh 361 | - run: 362 | name: collect versioned dependencies of apt packages 363 | command: . scripts/apt_depends.sh << pipeline.parameters.LINUX_DPCPP_COMPONENTS >> | tee depends.txt 364 | - restore_cache: 365 | keys: 366 | - install-<< pipeline.parameters.LINUX_DPCPP_COMPONENTS >>-{{ checksum "depends.txt" }}-compiler-${{ checksum "scripts/cache_exclude_linux_no_sudo.sh" }} 367 | - run: 368 | name: install 369 | command: | 370 | [ -d /opt/intel/oneapi/compiler ] && exit 0 371 | . scripts/install_linux_apt_no_sudo.sh << pipeline.parameters.LINUX_DPCPP_COMPONENTS >> 372 | - run: 373 | name: build 374 | command: scripts/build_linux.sh dpc++ << pipeline.parameters.SAMPLES_TAG >> 375 | - run: 376 | name: exclude unused files from cache 377 | command: . scripts/cache_exclude_linux_no_sudo.sh 378 | - save_cache: 379 | key: install-<< pipeline.parameters.LINUX_DPCPP_COMPONENTS >>-{{ checksum "depends.txt" }}-compiler-tbb-${{ checksum "scripts/cache_exclude_linux_no_sudo.sh" }} 380 | paths: 381 | - /opt/intel/oneapi/compiler 382 | - /opt/intel/oneapi/tbb 383 | 384 | build_linux_dnf_cpp: 385 | docker: 386 | - image: fedora:37 387 | steps: 388 | - checkout 389 | - run: 390 | name: install prerequisites 391 | command: . scripts/install_prerequisites_linux_dnf_no_sudo.sh 392 | - run: 393 | name: setup yum/dnf repo 394 | command: . scripts/setup_yum_dnf_repo_linux_no_sudo.sh 395 | - run: 396 | name: collect versioned dependencies of dnf packages 397 | command: . scripts/dnf_depends.sh << pipeline.parameters.LINUX_CPP_COMPONENTS >> | tee depends.txt 398 | - restore_cache: 399 | keys: 400 | - install-<< pipeline.parameters.LINUX_CPP_COMPONENTS >>-{{ checksum "depends.txt" }}-compiler-${{ checksum "scripts/cache_exclude_linux_no_sudo.sh" }} 401 | - run: 402 | name: install 403 | command: | 404 | [ -d /opt/intel/oneapi/compiler ] && exit 0 405 | . scripts/install_linux_dnf_no_sudo.sh << pipeline.parameters.LINUX_CPP_COMPONENTS >> 406 | - run: 407 | name: build 408 | command: scripts/build_linux.sh c++ << pipeline.parameters.SAMPLES_TAG >> 409 | - run: 410 | name: exclude unused files from cache 411 | command: . scripts/cache_exclude_linux_no_sudo.sh 412 | - save_cache: 413 | key: install-<< pipeline.parameters.LINUX_CPP_COMPONENTS >>-{{ checksum "depends.txt" }}-compiler-${{ checksum "scripts/cache_exclude_linux_no_sudo.sh" }} 414 | paths: 415 | - /opt/intel/oneapi/compiler 416 | 417 | build_linux_dnf_fortran: 418 | docker: 419 | - image: fedora:37 420 | steps: 421 | - checkout 422 | - run: 423 | name: install prerequisites 424 | command: . scripts/install_prerequisites_linux_dnf_no_sudo.sh 425 | - run: 426 | name: setup yum/dnf repo 427 | command: . scripts/setup_yum_dnf_repo_linux_no_sudo.sh 428 | - run: 429 | name: collect versioned dependencies of dnf packages 430 | command: . scripts/dnf_depends.sh << pipeline.parameters.LINUX_FORTRAN_COMPONENTS >> | tee depends.txt 431 | - restore_cache: 432 | keys: 433 | - install-<< pipeline.parameters.LINUX_FORTRAN_COMPONENTS >>-{{ checksum "depends.txt" }}-compiler-${{ checksum "scripts/cache_exclude_linux_no_sudo.sh" }} 434 | - run: 435 | name: install 436 | command: | 437 | [ -d /opt/intel/oneapi/compiler ] && exit 0 438 | . scripts/install_linux_dnf_no_sudo.sh << pipeline.parameters.LINUX_FORTRAN_COMPONENTS >> 439 | - run: 440 | name: build 441 | command: scripts/build_linux.sh fortran << pipeline.parameters.SAMPLES_TAG >> 442 | - run: 443 | name: exclude unused files from cache 444 | command: . scripts/cache_exclude_linux_no_sudo.sh 445 | - save_cache: 446 | key: install-<< pipeline.parameters.LINUX_FORTRAN_COMPONENTS >>-{{ checksum "depends.txt" }}-compiler-${{ checksum "scripts/cache_exclude_linux_no_sudo.sh" }} 447 | paths: 448 | - /opt/intel/oneapi/compiler 449 | 450 | build_linux_dnf_dpcpp: 451 | docker: 452 | - image: fedora:37 453 | steps: 454 | - checkout 455 | - run: 456 | name: install prerequisites 457 | command: . scripts/install_prerequisites_linux_dnf_no_sudo.sh 458 | - run: 459 | name: setup yum/dnf repo 460 | command: . scripts/setup_yum_dnf_repo_linux_no_sudo.sh 461 | - run: 462 | name: collect versioned dependencies of dnf packages 463 | command: . scripts/dnf_depends.sh << pipeline.parameters.LINUX_DPCPP_COMPONENTS >> | tee depends.txt 464 | - restore_cache: 465 | keys: 466 | - install-<< pipeline.parameters.LINUX_DPCPP_COMPONENTS >>-{{ checksum "depends.txt" }}-compiler-${{ checksum "scripts/cache_exclude_linux_no_sudo.sh" }} 467 | - run: 468 | name: install 469 | command: | 470 | [ -d /opt/intel/oneapi/compiler ] && exit 0 471 | . scripts/install_linux_dnf_no_sudo.sh << pipeline.parameters.LINUX_DPCPP_COMPONENTS >> 472 | - run: 473 | name: build 474 | command: scripts/build_linux.sh dpc++ << pipeline.parameters.SAMPLES_TAG >> 475 | - run: 476 | name: exclude unused files from cache 477 | command: . scripts/cache_exclude_linux_no_sudo.sh 478 | - save_cache: 479 | key: install-<< pipeline.parameters.LINUX_DPCPP_COMPONENTS >>-{{ checksum "depends.txt" }}-compiler-tbb-${{ checksum "scripts/cache_exclude_linux_no_sudo.sh" }} 480 | paths: 481 | - /opt/intel/oneapi/compiler 482 | - /opt/intel/oneapi/tbb 483 | 484 | build_linux_container_cpp: 485 | docker: 486 | - image: intel/oneapi-hpckit 487 | steps: 488 | - run: 489 | name: install_git 490 | command: apt update && apt install -y git 491 | - checkout 492 | - run: 493 | name: build 494 | command: scripts/build_linux.sh c++ << pipeline.parameters.SAMPLES_TAG >> 495 | 496 | build_linux_container_fortran: 497 | docker: 498 | - image: intel/oneapi-hpckit 499 | steps: 500 | - run: 501 | name: install_git 502 | command: apt update && apt install -y git 503 | - checkout 504 | - run: 505 | name: build 506 | command: scripts/build_linux.sh fortran << pipeline.parameters.SAMPLES_TAG >> 507 | 508 | build_linux_container_dpcpp: 509 | docker: 510 | - image: intel/oneapi-basekit 511 | steps: 512 | - run: 513 | name: install_git 514 | command: apt update && apt install -y git cmake 515 | - checkout 516 | - run: 517 | name: build 518 | command: scripts/build_linux.sh dpc++ << pipeline.parameters.SAMPLES_TAG >> 519 | 520 | workflows: 521 | build-all: 522 | jobs: 523 | - build_windows_cpp 524 | - build_windows_fortran 525 | - build_windows_dpcpp 526 | - build_linux_cpp 527 | - build_linux_fortran 528 | - build_linux_dpcpp 529 | - build_linux_apt_cpp 530 | - build_linux_apt_fortran 531 | - build_linux_apt_dpcpp 532 | - build_linux_dnf_cpp 533 | - build_linux_dnf_fortran 534 | - build_linux_dnf_dpcpp 535 | - build_linux_container_cpp 536 | - build_linux_container_fortran 537 | - build_linux_container_dpcpp 538 | --------------------------------------------------------------------------------