Commit 2656b1dd authored by Nikita Titov's avatar Nikita Titov Committed by Guolin Ke
Browse files

[ci] bring GPU tests back to Travis (#1428)

* bring gpu tests back

* corrected docs according to the news that AMD drops the support of AMD APP SDK

* replaced link to AMD APP SDK

* fixed downloading AMD APP SDK from GitHub without auth

* fixed path tp AMD APP SDK in docs

* removed exports

* clarify AMD APP SDK package installation condition
parent b4535b8d
......@@ -23,8 +23,8 @@ env:
- TASK=if-else
- TASK=sdist PYTHON_VERSION=3.4
- TASK=bdist PYTHON_VERSION=3.5
# - TASK=gpu METHOD=source
# - TASK=gpu METHOD=pip
- TASK=gpu METHOD=source
- TASK=gpu METHOD=pip
matrix:
exclude:
......
#!/bin/bash
# Original script from https://github.com/gregvw/amd_sdk/
# Location from which get nonce and file name from
URL="https://developer.amd.com/amd-accelerated-parallel-processing-app-sdk/"
URLDOWN="https://developer.amd.com/amd-license-agreement-appsdk/"
NONCE1_STRING='name="amd_developer_central_downloads_page_nonce"'
FILE_STRING='name="f"'
POSTID_STRING='name="post_id"'
NONCE2_STRING='name="amd_developer_central_nonce"'
#For newest FORM=`wget -qO - $URL | sed -n '/download-2/,/64-bit/p'`
FORM=`wget --no-check-certificate -qO - $URL | sed -n '/download-5/,/64-bit/p'`
# Get nonce from form
NONCE1=`echo $FORM | awk -F ${NONCE1_STRING} '{print $2}'`
NONCE1=`echo $NONCE1 | awk -F'"' '{print $2}'`
echo $NONCE1
# get the postid
POSTID=`echo $FORM | awk -F ${POSTID_STRING} '{print $2}'`
POSTID=`echo $POSTID | awk -F'"' '{print $2}'`
echo $POSTID
# get file name
FILE=`echo $FORM | awk -F ${FILE_STRING} '{print $2}'`
FILE=`echo $FILE | awk -F'"' '{print $2}'`
echo $FILE
FORM=`wget --no-check-certificate -qO - $URLDOWN --post-data "amd_developer_central_downloads_page_nonce=${NONCE1}&f=${FILE}&post_id=${POSTID}"`
NONCE2=`echo $FORM | awk -F ${NONCE2_STRING} '{print $2}'`
NONCE2=`echo $NONCE2 | awk -F'"' '{print $2}'`
echo $NONCE2
wget --no-check-certificate --content-disposition --trust-server-names $URLDOWN --post-data "amd_developer_central_nonce=${NONCE2}&f=${FILE}" -O AMD-SDK.tar.bz2;
if [[ ${TASK} == "gpu" ]]; then
bash .travis/amd_sdk.sh;
tar -xjf AMD-SDK.tar.bz2;
if [[ ${TASK} == "gpu" ]] && [[ $TRAVIS_OS_NAME == "linux" ]]; then
wget "https://github.com/Microsoft/LightGBM/releases/download/v2.0.12/AMD-APP-SDKInstaller-v3.0.130.135-GA-linux64.tar.bz2";
tar -xjf AMD-APP-SDK*.tar.bz2;
AMDAPPSDK=${HOME}/AMDAPPSDK;
export OPENCL_VENDOR_PATH=${AMDAPPSDK}/etc/OpenCL/vendors;
mkdir -p ${OPENCL_VENDOR_PATH};
sh AMD-APP-SDK*.sh --tar -xf -C ${AMDAPPSDK};
echo libamdocl64.so > ${OPENCL_VENDOR_PATH}/amdocl64.icd;
export LD_LIBRARY_PATH=${AMDAPPSDK}/lib/x86_64:${LD_LIBRARY_PATH};
chmod +x ${AMDAPPSDK}/bin/x86_64/clinfo;
${AMDAPPSDK}/bin/x86_64/clinfo;
export LIBRARY_PATH="$HOME/miniconda/envs/test-env/lib:$LIBRARY_PATH"
export LD_RUN_PATH="$HOME/miniconda/envs/test-env/lib:$LD_RUN_PATH"
export CPLUS_INCLUDE_PATH="$HOME/miniconda/envs/test-env/include:$AMDAPPSDK/include/:$CPLUS_INCLUDE_PATH"
export LD_LIBRARY_PATH="$AMDAPPSDK/lib/x86_64:$LD_LIBRARY_PATH";
fi
if [[ $TRAVIS_OS_NAME == "osx" ]]; then
......
......@@ -14,7 +14,7 @@ You can find below a table of correspondence:
+===========================+=================+=================+=================+==============+
| `Intel SDK for OpenCL`_ | Supported | Supported \* | Supported | Untested |
+---------------------------+-----------------+-----------------+-----------------+--------------+
| `AMD APP SDK`_ | Supported | Untested \* | Supported | Fails |
| AMD APP SDK \*\*\* | Supported | Untested \* | Supported | Fails |
+---------------------------+-----------------+-----------------+-----------------+--------------+
| `NVIDIA CUDA Toolkit`_ | Fails \*\* | Fails \*\* | Fails \*\* | Supported |
+---------------------------+-----------------+-----------------+-----------------+--------------+
......@@ -23,6 +23,7 @@ Legend:
- \* Not usable directly.
- \*\* Reported as unsupported in public forums.
- \*\*\* AMD has decided to drop the support for APP SDK and deleted all links to installation packages. You can download the installation package for Linux from `our GitHub repo`_.
AMD GPUs using Intel SDK for OpenCL is not a typo, nor AMD APP SDK compatibility with CPUs.
......@@ -286,7 +287,7 @@ Keep in mind that using the integrated graphics card is not directly possible wi
.. _Intel SDK for OpenCL: https://software.intel.com/en-us/articles/opencl-drivers
.. _AMD APP SDK: http://developer.amd.com/ # amd-accelerated-parallel-processing-app-sdk/
.. _our GitHub repo: https://github.com/Microsoft/LightGBM/releases/download/v2.0.12/AMD-APP-SDKInstaller-v3.0.130.135-GA-linux64.tar.bz2
.. _NVIDIA CUDA Toolkit: https://developer.nvidia.com/cuda-downloads
......
......@@ -79,11 +79,11 @@ You need to know on what you are going to use LightGBM!:
- For running on Intel, get `Intel SDK for OpenCL`_ (NOT RECOMMENDED)
- For running on AMD, get `AMD APP SDK`_
- For running on AMD, get AMD APP SDK
- For running on NVIDIA, get `CUDA Toolkit`_
Further reading and correspondnce table (especially if you intend to use cross-platform devices,
Further reading and correspondence table (especially if you intend to use cross-platform devices,
like Intel CPU with AMD APP SDK): `GPU SDK Correspondence and Device Targeting Table <./GPU-Targets.rst>`__.
**Warning**: using Intel OpenCL is not recommended and may crash your machine due to being non compliant to OpenCL standards.
......@@ -568,8 +568,6 @@ And open an issue in GitHub `here`_ with that log.
.. _Intel SDK for OpenCL: https://software.intel.com/en-us/articles/opencl-drivers
.. _AMD APP SDK: http://developer.amd.com/ # amd-accelerated-parallel-processing-app-sdk/
.. _CUDA Toolkit: https://developer.nvidia.com/cuda-downloads
.. _this: http://iweb.dl.sourceforge.net/project/mingw-w64/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/installer/mingw-w64-install.exe
......
......@@ -243,10 +243,12 @@ Following procedure is for the MSVC (Microsoft Visual C++) build.
- For running on Intel, get `Intel SDK for OpenCL`_.
- For running on AMD, get `AMD APP SDK`_.
- For running on AMD, get AMD APP SDK.
- For running on NVIDIA, get `CUDA Toolkit`_.
Further reading and correspondence table: `GPU SDK Correspondence and Device Targeting Table <./GPU-Targets.rst>`__.
3. Install `Boost Binary`_.
**Note**: Match your Visual C++ version:
......@@ -392,8 +394,6 @@ This will generate a JAR file containing the LightGBM `C API <./Development-Guid
.. _Intel SDK for OpenCL: https://software.intel.com/en-us/articles/opencl-drivers
.. _AMD APP SDK: http://developer.amd.com/ # amd-accelerated-parallel-processing-app-sdk/
.. _CUDA Toolkit: https://developer.nvidia.com/cuda-downloads
.. _Boost Binary: https://sourceforge.net/projects/boost/files/boost-binaries/1.64.0/
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment