Skip to content

Commit 0ac8664

Browse files
committed
Moved CI to GitHub Actions
1 parent 92fe753 commit 0ac8664

File tree

5 files changed

+136
-79
lines changed

5 files changed

+136
-79
lines changed

.github/workflows/main.yml

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
name: julia 1.0/1.3
2+
on:
3+
- push
4+
- pull_request
5+
6+
jobs:
7+
testMKLjl:
8+
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }}
9+
runs-on: ${{ matrix.os }}
10+
strategy:
11+
fail-fast: false
12+
matrix:
13+
version:
14+
- '1.0'
15+
- '1.3'
16+
os:
17+
- ubuntu-latest
18+
- macOS-latest
19+
# - windows-latest
20+
arch:
21+
- x64
22+
steps:
23+
- uses: actions/checkout@v2
24+
- uses: julia-actions/setup-julia@v1
25+
with:
26+
version: ${{ matrix.version }}
27+
arch: ${{ matrix.arch }}
28+
- run: julia --color=yes --project -e 'using Pkg; Pkg.add(PackageSpec(url=\"https://github.com/JuliaComputing/MKL.jl\")); Pkg.instantiate()'
29+
if: matrix.os == 'windows-latest'
30+
- run: julia --color=yes --project -e 'using Pkg; Pkg.add(PackageSpec(url="https://github.com/JuliaComputing/MKL.jl")); Pkg.instantiate()'
31+
if: matrix.os != 'windows-latest'
32+
- uses: julia-actions/julia-buildpkg@latest
33+
- uses: julia-actions/julia-runtest@latest
34+
35+
testAptMKL:
36+
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }}
37+
runs-on: ${{ matrix.os }}
38+
strategy:
39+
matrix:
40+
version:
41+
- '1.0'
42+
- '1.3'
43+
os:
44+
- ubuntu-latest
45+
arch:
46+
- x64
47+
env:
48+
LD_LIBRARY_PATH: /opt/intel/compilers_and_libraries_2019.4.243/linux/mkl/lib/intel64_lin/
49+
steps:
50+
- name: Install MKL via apt
51+
run: |
52+
curl https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB > GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
53+
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
54+
rm GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
55+
sudo sh -c 'echo deb https://apt.repos.intel.com/mkl all main > /etc/apt/sources.list.d/intel-mkl.list'
56+
sudo apt-get update
57+
sudo apt-get install -y intel-mkl-64bit-2019.4-070
58+
- uses: actions/checkout@v2
59+
- uses: julia-actions/setup-julia@v1
60+
with:
61+
version: ${{ matrix.version }}
62+
arch: ${{ matrix.arch }}
63+
- uses: julia-actions/julia-buildpkg@latest
64+
- uses: julia-actions/julia-runtest@latest

.github/workflows/nightly.yml

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
name: julia nightly
2+
on:
3+
push:
4+
pull_request:
5+
schedule:
6+
- cron: '1 0 1,15 * *'
7+
8+
jobs:
9+
testMKLjl:
10+
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }}
11+
runs-on: ${{ matrix.os }}
12+
strategy:
13+
fail-fast: false
14+
matrix:
15+
version:
16+
- 'nightly'
17+
os:
18+
- ubuntu-latest
19+
- macOS-latest
20+
# - windows-latest
21+
arch:
22+
- x64
23+
steps:
24+
- uses: actions/checkout@v2
25+
- uses: julia-actions/setup-julia@v1
26+
with:
27+
version: ${{ matrix.version }}
28+
arch: ${{ matrix.arch }}
29+
- run: julia --color=yes --project -e 'using Pkg; Pkg.add(PackageSpec(url=\"https://github.com/JuliaComputing/MKL.jl\")); Pkg.instantiate()'
30+
if: matrix.os == 'windows-latest'
31+
- run: julia --color=yes --project -e 'using Pkg; Pkg.add(PackageSpec(url="https://github.com/JuliaComputing/MKL.jl")); Pkg.instantiate()'
32+
if: matrix.os != 'windows-latest'
33+
- uses: julia-actions/julia-buildpkg@latest
34+
- uses: julia-actions/julia-runtest@latest
35+
36+
testAptMKL:
37+
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }}
38+
runs-on: ${{ matrix.os }}
39+
strategy:
40+
matrix:
41+
version:
42+
- 'nightly'
43+
os:
44+
- ubuntu-latest
45+
arch:
46+
- x64
47+
env:
48+
LD_LIBRARY_PATH: /opt/intel/compilers_and_libraries_2019.4.243/linux/mkl/lib/intel64_lin/
49+
steps:
50+
- name: Install MKL via apt
51+
run: |
52+
curl https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB > GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
53+
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
54+
rm GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
55+
sudo sh -c 'echo deb https://apt.repos.intel.com/mkl all main > /etc/apt/sources.list.d/intel-mkl.list'
56+
sudo apt-get update
57+
sudo apt-get install -y intel-mkl-64bit-2019.4-070
58+
source /opt/intel/mkl/bin/mklvars.sh intel64
59+
- uses: actions/checkout@v2
60+
- uses: julia-actions/setup-julia@v1
61+
with:
62+
version: ${{ matrix.version }}
63+
arch: ${{ matrix.arch }}
64+
- uses: julia-actions/julia-buildpkg@latest
65+
- uses: julia-actions/julia-runtest@latest

.travis.yml

Lines changed: 0 additions & 29 deletions
This file was deleted.

README.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# IntelVectorMath.jl (formerly VML.jl)
2-
[![Build Status](https://travis-ci.com/JuliaMath/IntelVectorMath.jl.svg?branch=master)](https://travis-ci.com/JuliaMath/IntelVectorMath.jl)
3-
[![Build status](https://ci.appveyor.com/api/projects/status/btdduqfsxux8fhsr?svg=true)](https://ci.appveyor.com/project/Crown421/IntelVectorMath-jl)
2+
![](https://github.com/JuliaMath/VML.jl/workflows/julia%201.0/1.3/badge.svg)
3+
![](https://github.com/JuliaMath/VML.jl/workflows/julia%20nightly/badge.svg)
44

55
This package provides bindings to the Intel MKL [Vector Mathematics Functions](https://software.intel.com/en-us/node/521751).
66
This is often substantially faster than broadcasting Julia's built-in functions, especially when applying a transcendental function over a large array.
@@ -165,14 +165,16 @@ Next steps for this package
165165
* [x] Avoiding overloading base and optional overload function
166166
* [x] Travis and AppVeyor testing
167167
* [x] Adding CIS function
168-
* [ ] Updating Benchmarks
168+
* [x] Move Testing to GitHub Actions
169+
* [x] Add test for using standalone MKL
170+
* [ ] Update Benchmarks
169171
* [ ] Add tests for mutating functions
170-
* [ ] Add test for using standalone MKL
172+
171173

172174

173175
## Advanced
174176
IntelVectorMath.jl works via Libdl which loads the relevant shared libraries. Libdl automatically finds the relevant libraries if the location of the binaries has been added to the system search paths.
175-
This already taken care of if you use MKL.jl, but the stand-alone may require you to source `mklvars.sh`. The default command on Mac and Ubuntu is `source /opt/intel/mkl/bin/mklvars.sh intel64`. You may want to add this to your `.bashrc`.
177+
This already taken care of if you use MKL.jl, but the stand-alone may require you to source `mklvars.sh` in the shell you are opening the REPL in. The default command on Mac and Ubuntu is `source /opt/intel/mkl/bin/mklvars.sh intel64`. You may want to add this to your `.bashrc`.
176178
Adding a new `*.conf` file in `/etc/ld.so.conf.d` also works, as the `intel-mkl-slim` package in the AUR does automatically.
177179

178180
Further, IntelVectorMath.jl uses [CpuId.jl](https://github.com/m-j-w/CpuId.jl) to detect if your processor supports the newer `avx2` instructions, and if not defaults to `libmkl_vml_avx`. If your system does not have AVX this package will currently not work for you.

appveyor.yml

Lines changed: 0 additions & 45 deletions
This file was deleted.

0 commit comments

Comments
 (0)