Skip to content

Commit 466d65c

Browse files
author
Oscar Torreno
authored
Upgrade to ArrayFire 3.6.2 (#24)
1 parent 0ab43fa commit 466d65c

File tree

6 files changed

+86
-83
lines changed

6 files changed

+86
-83
lines changed

.CI/travis/install-arrayfire.sh

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,29 @@
77

88
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
99
brew install fftw freeimage
10-
if [ ! -e "installers/arrayfire-unified-3.5.1.pkg" ]; then
11-
wget https://github.com/shapelets/arrayfire/releases/download/v3.5.1/arrayfire-unified-3.5.1.pkg -O installers/arrayfire-unified-3.5.1.pkg
10+
if [ ! -e "./installers/arrayfire-no-gl.pkg" ]; then
11+
wget https://github.com/shapelets/arrayfire/releases/download/v3.6.2/arrayfire-no-gl.pkg -O installers/arrayfire-no-gl.pkg
1212
fi
1313

1414
# Installs arrayfire
15-
sudo installer -pkg installers/arrayfire-unified-3.5.1.pkg -target /
15+
sudo installer -pkg ./installers/arrayfire-no-gl.pkg -target /
1616
else
17-
if [ ! -e "installers/ArrayFire-no-gl-v3.5.1_Linux_x86_64.sh" ]; then
18-
wget http://arrayfire.s3.amazonaws.com/3.5.1/ArrayFire-no-gl-v3.5.1_Linux_x86_64.sh -O installers/ArrayFire-no-gl-v3.5.1_Linux_x86_64.sh
19-
chmod +x installers/ArrayFire-no-gl-v3.5.1_Linux_x86_64.sh
17+
sudo apt-get update && \
18+
sudo apt-get install -y libboost-all-dev \
19+
libfftw3-dev \
20+
libfontconfig1-dev \
21+
libfreeimage-dev \
22+
liblapack-dev \
23+
liblapacke-dev \
24+
libopenblas-dev
25+
26+
if [ ! -e "./installers/arrayfire-no-gl.sh" ]; then
27+
wget https://github.com/shapelets/arrayfire/releases/download/v3.6.2/arrayfire-no-gl.sh -O installers/arrayfire-no-gl.sh
2028
fi
2129

22-
sudo ./installers/ArrayFire-no-gl-v3.5.1_Linux_x86_64.sh --prefix=/usr/local --skip-license
23-
fi
30+
sudo mkdir -p /opt/arrayfire-3
31+
sudo bash installers/arrayfire-no-gl.sh --prefix=/opt/arrayfire-3 --skip-license
32+
sudo ln -s /opt/arrayfire-3/lib64 /opt/arrayfire-3/lib
33+
echo "/opt/arrayfire-3/lib" | sudo tee /etc/ld.so.conf.d/arrayfire.conf
34+
sudo ldconfig
35+
fi

.CI/travis/install-java.sh

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#!/bin/bash
2+
# Copyright (c) 2018 Shapelets.io
3+
#
4+
# This Source Code Form is subject to the terms of the Mozilla Public
5+
# License, v. 2.0. If a copy of the MPL was not distributed with this
6+
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
7+
8+
echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | sudo debconf-set-selections && \
9+
sudo add-apt-repository -y ppa:webupd8team/java && \
10+
sudo apt-get update && \
11+
sudo apt-get install -y oracle-java8-installer

.CI/travis/install-khiva.sh

Lines changed: 46 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -5,78 +5,77 @@
55
# License, v. 2.0. If a copy of the MPL was not distributed with this
66
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
77

8-
if [["$INSTALL_KHIVA_METHOD" == "installer"]]; then
9-
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
10-
if [ ! -e "installers/khiva-v0.1.0-OnlyCPU.pkg" ]; then
11-
wget https://github.com/shapelets/khiva/releases/download/v0.1.0/khiva-v0.1.0-OnlyCPU.pkg -O installers/khiva-v0.1.0-OnlyCPU.pkg
8+
if [[ "$INSTALL_KHIVA_METHOD" == "installer" ]]; then
9+
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
10+
if [ ! -e "./installers/khiva-v0.1.0.pkg" ]; then
11+
wget https://github.com/shapelets/khiva/releases/download/v0.1.0/khiva-v0.1.0-OnlyCPU.pkg -O ./installers/khiva-v0.1.0-OnlyCPU.pkg
1212
fi
13-
14-
sudo installer -pkg installers/khiva-v0.1.0-OnlyCPU.pkg -target /
13+
# Installs Khiva
14+
sudo installer -pkg ./installers/khiva-v0.1.0-OnlyCPU.pkg -target /
1515
else
16-
if [ ! -e "installers/khiva-v0.1.0-ci.sh" ]; then
17-
wget https://github.com/shapelets/khiva/releases/download/v0.1.0/khiva-v0.1.0-ci.sh -O installers/khiva-v0.1.0-ci.sh
18-
chmod +x installers/khiva-v0.1.0-ci.sh
16+
if [ ! -e "./installers/khiva-v0.1.0-ci.sh" ]; then
17+
wget https://github.com/shapelets/khiva/releases/download/v0.1.0/khiva-v0.1.0-ci.sh -O ./installers/khiva-v0.1.0-ci.sh
18+
chmod +x ./installers/khiva-v0.1.0-ci.sh
1919
fi
20-
2120
sudo ./installers/khiva-v0.1.0-ci.sh --prefix=/usr/local --skip-license
2221
sudo ldconfig
2322
fi
23+
2424
else
2525
# GitHub method
2626
# Install cmake in Linux, it is already installed in osx
2727
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
2828
# Check if the file already exists
29-
if [ ! -e "${TRAVIS_BUILD_DIR}/cmake/cmake-3.11.3-Linux-x86_64.sh" ]; then
30-
mkdir -p cmake && cd cmake
31-
wget https://cmake.org/files/v3.11/cmake-3.11.3-Linux-x86_64.sh
32-
cd ..
29+
if [ ! -e "${TRAVIS_BUILD_DIR}/cmakebin/cmake-3.13.2-Linux-x86_64.sh" ]; then
30+
mkdir -p cmakebin
31+
wget https://github.com/Kitware/CMake/releases/download/v3.13.2/cmake-3.13.2-Linux-x86_64.sh -O cmakebin/cmake-3.13.2-Linux-x86_64.sh
3332
fi
3433
# Install cmake
35-
mkdir cmakebin
36-
cp cmake/cmake-3.11.3-Linux-x86_64.sh cmakebin/cmake-3.11.3-Linux-x86_64.sh
37-
cd cmakebin
38-
chmod +x cmake-3.11.3-Linux-x86_64.sh
39-
sudo ./cmake-3.11.3-Linux-x86_64.sh --skip-license
40-
cd ..
34+
sudo bash cmakebin/cmake-3.13.2-Linux-x86_64.sh --prefix=./cmakebin/ --skip-license
4135
fi
4236

43-
#Installing conan and dependencies
44-
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
45-
sudo apt-get update -y
46-
sudo apt-get install -y python3 python3-pip
37+
#Installing conan and dependencies
38+
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
39+
sudo apt-get update -y
40+
sudo apt-get install -y python3 python3-pip
41+
sudo pip3 install setuptools
42+
sudo pip3 install conan==1.6.1
43+
else
44+
brew upgrade pyenv
45+
export TRAVIS_PYTHON_VERSION=3.6.5
46+
export PATH=$HOME/.pyenv/shims:$HOME/.pyenv/versions/${TRAVIS_PYTHON_VERSION}/bin:$PATH
47+
export PYTHON_VERSION=$(echo $TRAVIS_PYTHON_VERSION | awk -F'.' '{print $1 "." $2}')
48+
49+
pyenv install ${TRAVIS_PYTHON_VERSION} -s
50+
pyenv init -
51+
pyenv local ${TRAVIS_PYTHON_VERSION}
4752

48-
# Installing conan
49-
sudo pip install conan==1.6.1
50-
else
51-
brew upgrade pyenv
52-
export TRAVIS_PYTHON_VERSION=3.6.5
53-
export PATH=$HOME/.pyenv/shims:$HOME/.pyenv/versions/${TRAVIS_PYTHON_VERSION}/bin:$PATH
54-
export PYTHON_VERSION=$(echo $TRAVIS_PYTHON_VERSION | awk -F'.' '{print $1 "." $2}')
55-
56-
pyenv install ${TRAVIS_PYTHON_VERSION} -s
57-
pyenv init -
58-
pyenv local ${TRAVIS_PYTHON_VERSION}
53+
# Installing conan
54+
sudo pip${PYTHON_VERSION} install --upgrade pip
55+
sudo pip${PYTHON_VERSION} install conan
56+
fi
5957

60-
# Installing conan
61-
sudo pip${PYTHON_VERSION} install --upgrade pip
62-
sudo pip${PYTHON_VERSION} install conan
63-
fi
64-
conan remote add -f conan-mpusz https://api.bintray.com/conan/mpusz/conan-mpusz
58+
conan remote add conan-mpusz https://api.bintray.com/conan/mpusz/conan-mpusz
59+
if [ $? -ne 0 ]; then
60+
conan remote update conan-mpusz https://api.bintray.com/conan/mpusz/conan-mpusz
61+
fi
6562

6663
# Cloning Github repo into khiva-library folder
67-
git clone https://github.com/shapelets/khiva.git ../khiva-library
68-
cd ../khiva-library
64+
git clone https://github.com/shapelets/khiva.git khiva-library
65+
cd khiva-library
6966
mkdir -p build && cd build
7067
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
7168
conan install .. -s compiler=apple-clang -s compiler.version=9.1 -s compiler.libcxx=libc++ --build missing
7269
cmake .. -DKHIVA_ONLY_CPU_BACKEND=ON -DKHIVA_BUILD_DOCUMENTATION=OFF -DKHIVA_BUILD_EXAMPLES=OFF -DKHIVA_BUILD_BENCHMARKS=OFF
73-
make install -j8
70+
make install -j8
7471
else
75-
conan install .. --build missing
76-
../../khiva-java/cmakebin/bin/cmake .. -DKHIVA_BUILD_DOCUMENTATION=OFF -DKHIVA_BUILD_EXAMPLES=OFF -DKHIVA_BUILD_BENCHMARKS=OFF
72+
conan install .. -s compiler.libcxx=libstdc++11 --build missing
73+
../../cmakebin/bin/cmake .. -DKHIVA_ENABLE_COVERAGE=ON -DKHIVA_BUILD_DOCUMENTATION=OFF -DKHIVA_BUILD_EXAMPLES=OFF -DKHIVA_BUILD_BENCHMARKS=OFF
7774
sudo make install -j8
7875
sudo ldconfig
7976
fi
80-
# Switching back to the khiva-r folder
81-
cd ${TRAVIS_BUILD_DIR}
77+
# Switching back to the khiva-python folder
78+
cd ..
79+
cd ..
8280
fi
81+

.appveyor.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ platform:
3030
- x64
3131
before_build:
3232
- SET PATH=%JAVA_HOME%\bin;%PATH%
33-
- ps: if(!(Test-Path -Path "C:\Program Files\ArrayFire" )){ appveyor DownloadFile "https://www.dropbox.com/s/ndt1eaouriiu4qi/ArrayFire-v3.5.1.zip?dl=1" -FileName ArrayFire-v3.5.1.zip }
34-
- ps: if(!(Test-Path -Path "C:\Program Files\ArrayFire" )){ 7z x ArrayFire-v3.5.1.zip -o"C:\Program Files" }
33+
- ps: if(!(Test-Path -Path "C:\Program Files\ArrayFire" )){ appveyor DownloadFile "https://www.dropbox.com/s/13wnbd1qynjmw0i/ArrayFire-v3.6.2.zip?dl=1" -FileName ArrayFire-v3.6.2.zip }
34+
- ps: if(!(Test-Path -Path "C:\Program Files\ArrayFire" )){ 7z x ArrayFire-v3.6.2.zip -o"C:\Program Files" }
3535
- reg add HKCU\Software\Kitware\CMake\Packages\ArrayFire /v ArrayFire_CMake_DIR /d "C:\Program Files\ArrayFire\v3\cmake" /f
3636
- vcpkg install --triplet x64-windows gtest eigen3
3737
- ps: if ($env:INSTALL_KHIVA_METHOD -eq "installer"){

.travis.yml

Lines changed: 5 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -10,43 +10,24 @@ sudo: required
1010
matrix:
1111
include:
1212
- os: linux
13-
dist: trusty
14-
env: JDK='Oracle JDK 8'
15-
jdk: oraclejdk8
13+
dist: xenial
14+
env:
15+
- JAVA_HOME='/usr/lib/jvm/java-8-oracle'
1616
cache:
1717
directories:
1818
- ${TRAVIS_BUILD_DIR}/installers
1919
- ${HOME}/.m2
2020
- ${HOME}/.conan
2121
- ${TRAVIS_BUILD_DIR}/cmake
22-
before_install:
23-
- jdk_switcher use oraclejdk8
2422
install:
23+
- source .CI/travis/install-java.sh
2524
- source .CI/travis/install-arrayfire.sh
2625
- source .CI/travis/install-khiva.sh
2726
script:
2827
- source .CI/travis/build-and-test.sh
2928
after_success:
3029
- bash <(curl -s https://codecov.io/bash) -cF Linux -cf ./target/site/jacoco/jacoco.xml
3130

32-
- os: linux
33-
dist: trusty
34-
env: JDK='Oracle JDK 9'
35-
jdk: oraclejdk9
36-
cache:
37-
directories:
38-
- ${TRAVIS_BUILD_DIR}/installers
39-
- ${HOME}/.m2
40-
- ${HOME}/.conan
41-
- ${TRAVIS_BUILD_DIR}/cmake
42-
before_install:
43-
- jdk_switcher use oraclejdk9
44-
install:
45-
- source .CI/travis/install-arrayfire.sh
46-
- source .CI/travis/install-khiva.sh
47-
script:
48-
- source .CI/travis/build-and-test.sh
49-
5031
- os: osx
5132
osx_image: xcode9.3
5233
env:
@@ -93,4 +74,4 @@ matrix:
9374
- brew cask info java
9475
- brew cask install java
9576
script:
96-
- source .CI/travis/build-and-test.sh
77+
- source .CI/travis/build-and-test.sh

src/test/java/io/shapelets/khiva/MatrixTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -258,8 +258,8 @@ public void testFindBestNDiscordsConsecutive() throws Exception {
258258
int[] subsequenceIndex = findDiscords[2].getData();
259259

260260
Assert.assertEquals(subsequenceIndex[0], 12, DELTA);
261-
String os = System.getenv("TRAVIS_OS_NAME");
262-
if (os == null || !os.equals("osx")) {
261+
String os = System.getenv("TRAVIS");
262+
if (os == null || !os.equals("true")) {
263263
Assert.assertNotEquals(subsequenceIndex[1], 11, DELTA);
264264
} else {
265265
Assert.assertEquals(subsequenceIndex[1], 11, DELTA);

0 commit comments

Comments
 (0)