-
Notifications
You must be signed in to change notification settings - Fork 0
92 lines (83 loc) · 2.82 KB
/
linux_intel.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
name: Linux Intel
# triggered events (push, pull_request) for the master branch
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
ubuntu_build:
name: Ubuntu Intel Build
# Run on ubuntu-latest
runs-on: ubuntu-latest
env:
LINUX_HPCKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/d4e49548-1492-45c9-b678-8268cb0f1b05/l_HPCKit_p_2024.2.0.635_offline.sh
CC: icx
FC: ifx
CXX: icx
steps:
# Cache Intel HPC Toolkit
- name: Cache Intel HPC Toolkit
id: cache-intel-hpc-toolkit
uses: actions/cache@v2
with:
path: /opt/intel/oneapi
key: install-${{ env.LINUX_HPCKIT_URL }}-all
# Install Intel HPC Toolkit
- name: Install Intel HPC Toolkit
if: steps.cache-intel-hpc-toolkit.outputs.cache-hit != 'true'
run: |
curl --output webimage.sh --url "$LINUX_HPCKIT_URL" --retry 5 --retry-delay 5
chmod +x webimage.sh
./webimage.sh -x -f webimage_extracted --log extract.log
rm -rf webimage.sh
WEBIMAGE_NAME=$(ls -1 webimage_extracted/)
sudo webimage_extracted/"$WEBIMAGE_NAME"/bootstrapper -s --action install --components=all --eula=accept --continue-with-optional-error=yes --log-dir=.
cat /opt/intel/oneapi/logs/installer.install.intel.oneapi.lin.hpckit.*
rm -rf webimage_extracted
# Check location of installed Intel compilers
- name: Check compiler install
run: |
source /opt/intel/oneapi/setvars.sh
which icx
which ifx
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Checkout repository
uses: actions/checkout@v2
# Test debug mode
- name: Build gf debug
run: |
source /opt/intel/oneapi/setvars.sh
cd ref
rm -rf build
mkdir build
cd build
#export OMP_NUM_THREADS=4
export CC=icx
export FC=ifx
cmake -DCMAKE_BUILD_TYPE=debug -DENABLE_GPU=off ..
make VERBOSE=1
ctest --output-on-failure
# Test release mode
- name: Build gf release
run: |
source /opt/intel/oneapi/setvars.sh
cd ref
rm -rf build
mkdir build
cd build
#export OMP_NUM_THREADS=4
export CC=icx
export FC=ifx
cmake -DCMAKE_BUILD_TYPE=release -DENABLE_GPU=off ..
make VERBOSE=1
ctest --output-on-failure
-
name: Debug session
if: ${{ failure() }}
uses: mxschmitt/action-tmate@v3
timeout-minutes: 60
with:
limit-access-to-actor: true