From 9ccbec310c06460367c2227ce78d1a2be17c09f3 Mon Sep 17 00:00:00 2001 From: Simone Gasparini Date: Mon, 24 Feb 2020 11:19:42 +0100 Subject: [PATCH 01/10] [ci] add debug build --- .travis.yml | 48 ++++++++++++++++++++++++++++++++++++------------ 1 file changed, 36 insertions(+), 12 deletions(-) diff --git a/.travis.yml b/.travis.yml index 98fc8264..d3edeb97 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,15 +23,18 @@ env: global: - NUM_CPU="`grep processor /proc/cpuinfo | wc -l`"; echo $NUM_CPU - - BUILD_TYPE="RELEASE" - BUILD_SYSTEM="`uname -s`" - BUILD_PROCESSOR="`uname -p`" - POPSIFT_SOURCE=${TRAVIS_BUILD_DIR} - - POPSIFT_BUILD=${TRAVIS_BUILD_DIR}/build - - POPSIFT_INSTALL=${POPSIFT_BUILD}/install + - POPSIFT_BUILD_RELEASE=${TRAVIS_BUILD_DIR}/build_release + - POPSIFT_BUILD_DEBUG=${TRAVIS_BUILD_DIR}/build_debug + - POPSIFT_INSTALL_RELEASE=${POPSIFT_BUILD_RELEASE}/install + - POPSIFT_INSTALL_DEBUG=${POPSIFT_BUILD_DEBUG}/install - POPSIFT_APP_SRC=${POPSIFT_SOURCE}/src/application - - POPSIFT_APP_BUILD=${POPSIFT_APP_SRC}/build - - POPSIFT_APP_INSTALL=${POPSIFT_APP_BUILD}/install + - POPSIFT_APP_BUILD_RELEASE=${POPSIFT_APP_SRC}/build_release + - POPSIFT_APP_BUILD_DEBUG=${POPSIFT_APP_SRC}/build_debug + - POPSIFT_APP_INSTALL_RELEASE=${POPSIFT_APP_BUILD_RELEASE}/install + - POPSIFT_APP_INSTALL_DEBUG=${POPSIFT_APP_BUILD_DEBUG}/install # CMAKE # - CMAKE_URL="https://cmake.org/files/v3.6/cmake-3.6.1-Linux-x86_64.tar.gz" - CMAKE_URL="https://cmake.org/files/v3.13/cmake-3.13.5-Linux-x86_64.tar.gz" @@ -66,23 +69,44 @@ install: - sudo ln -s /usr/local/cuda-${CUDA_VERSION_MAJOR}.${CUDA_VERSION_MINOR} /usr/local/cuda before_script: - # Create build folder - - mkdir -p ${POPSIFT_BUILD} - - cd ${POPSIFT_BUILD} # Classic release build + # Create build folder + - mkdir -p ${POPSIFT_BUILD_RELEASE} + - cd ${POPSIFT_BUILD_RELEASE} + - > + cmake . ${POPSIFT_SOURCE} -DCMAKE_INSTALL_PREFIX=${POPSIFT_INSTALL_RELEASE} -DCMAKE_BUILD_TYPE=Release + + # Classic debug build + # Create build folder + - mkdir -p ${POPSIFT_BUILD_DEBUG} + - cd ${POPSIFT_BUILD_DEBUG} - > - cmake . ${POPSIFT_SOURCE} -DCMAKE_INSTALL_PREFIX=${POPSIFT_INSTALL} + cmake . ${POPSIFT_SOURCE} -DCMAKE_INSTALL_PREFIX=${POPSIFT_INSTALL_DEBUG} -DCMAKE_BUILD_TYPE=Debug script: + - cd ${POPSIFT_BUILD_RELEASE} # limit GCC builds to a reduced number of thread for the virtual machine - make install -j 2 VERBOSE=1 # Perform unit tests # - make test # Perform tests building application with PopSift as 3rd party - cd ${POPSIFT_APP_SRC} - - mkdir -p ${POPSIFT_APP_BUILD} - - cd ${POPSIFT_APP_BUILD} - - cmake .. -DPopSift_DIR=${POPSIFT_INSTALL}/lib/cmake/PopSift/ -DCMAKE_INSTALL_PREFIX=${POPSIFT_APP_INSTALL} + - mkdir -p ${POPSIFT_APP_BUILD_RELEASE} + - cd ${POPSIFT_APP_BUILD_RELEASE} + - cmake .. -DPopSift_DIR=${POPSIFT_INSTALL_RELEASE}/lib/cmake/PopSift/ -DCMAKE_INSTALL_PREFIX=${POPSIFT_APP_INSTALL_RELEASE} -DCMAKE_BUILD_TYPE=Release + - make install -j 2 VERBOSE=1 + +# same for debug + - cd ${POPSIFT_BUILD_DEBUG} + # limit GCC builds to a reduced number of thread for the virtual machine + - make install -j 2 VERBOSE=1 + # Perform unit tests + # - make test + # Perform tests building application with PopSift as 3rd party + - cd ${POPSIFT_APP_SRC} + - mkdir -p ${POPSIFT_APP_BUILD_DEBUG} + - cd ${POPSIFT_APP_BUILD_DEBUG} + - cmake .. -DPopSift_DIR=${POPSIFT_INSTALL_DEBUG}/lib/cmake/PopSift/ -DCMAKE_INSTALL_PREFIX=${POPSIFT_APP_INSTALL_DEBUG} -DCMAKE_BUILD_TYPE=Debug - make install -j 2 VERBOSE=1 cache: From 170593045bcdf18f2ef20581a637c80c2d6a854f Mon Sep 17 00:00:00 2001 From: Simone Gasparini Date: Tue, 25 Feb 2020 09:46:42 +0100 Subject: [PATCH 02/10] [cmake] remove cuda CC that fail in debug --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3134d68c..76b105bc 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -91,9 +91,9 @@ endif() # Shortening the lists saves a lot of compile time. # if(CUDA_VERSION_MAJOR GREATER 7) - set(PopSift_CUDA_CC_LIST_BASIC 30 35 50 52 60 61 62) + set(PopSift_CUDA_CC_LIST_BASIC 30 50 52 60 61) else() - set(PopSift_CUDA_CC_LIST_BASIC 30 35 50 52 ) + set(PopSift_CUDA_CC_LIST_BASIC 30 50 52 ) endif() set(PopSift_CUDA_CC_LIST ${PopSift_CUDA_CC_LIST_BASIC} CACHE STRING "CUDA CC versions to compile") From aa2921681a3d4d3b891a081c65eb64cb8b3e1144 Mon Sep 17 00:00:00 2001 From: Simone Gasparini Date: Tue, 25 Feb 2020 13:50:45 +0100 Subject: [PATCH 03/10] [cmake] reinstate cc 35 --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 76b105bc..d6f23edf 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -91,9 +91,9 @@ endif() # Shortening the lists saves a lot of compile time. # if(CUDA_VERSION_MAJOR GREATER 7) - set(PopSift_CUDA_CC_LIST_BASIC 30 50 52 60 61) + set(PopSift_CUDA_CC_LIST_BASIC 30 35 50 52 60 61) else() - set(PopSift_CUDA_CC_LIST_BASIC 30 50 52 ) + set(PopSift_CUDA_CC_LIST_BASIC 30 35 50 52 ) endif() set(PopSift_CUDA_CC_LIST ${PopSift_CUDA_CC_LIST_BASIC} CACHE STRING "CUDA CC versions to compile") From 8c2f60e92e0cc91944983fecd054afdf49561b03 Mon Sep 17 00:00:00 2001 From: Simone Gasparini Date: Wed, 26 Feb 2020 18:01:53 +0100 Subject: [PATCH 04/10] [ci] use cache only once --- .travis.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index d3edeb97..c339158d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,9 +4,6 @@ sudo: required language: cpp compiler: gcc -cache: - apt: true - addons: apt: packages: @@ -110,5 +107,6 @@ script: - make install -j 2 VERBOSE=1 cache: + apt: true directories: - ${CMAKE_INSTALL} From 99b74192948fbe986cfd51c86fe999e31cd684f6 Mon Sep 17 00:00:00 2001 From: Simone Gasparini Date: Wed, 26 Feb 2020 18:02:21 +0100 Subject: [PATCH 05/10] [ci] sudo not required --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index c339158d..98ffb413 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,4 @@ dist: trusty -sudo: required language: cpp compiler: gcc From 40965e39acd4818f2aa15d51701a571459310149 Mon Sep 17 00:00:00 2001 From: Simone Gasparini Date: Wed, 26 Feb 2020 18:02:55 +0100 Subject: [PATCH 06/10] [ci] using xenial with 8 9.2 and 10.2 --- .travis.yml | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/.travis.yml b/.travis.yml index 98ffb413..409682cf 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,4 @@ -dist: trusty +dist: xenial language: cpp compiler: gcc @@ -6,17 +6,18 @@ compiler: gcc addons: apt: packages: - - libboost-filesystem1.55-dev - - libboost-system1.55-dev - - libboost-program-options1.55-dev - - libboost-thread1.55-dev + - libboost-filesystem-dev + - libboost-system-dev + - libboost-program-options-dev + - libboost-thread-dev env: matrix: - - CUDA_VERSION_MAJOR="7" CUDA_VERSION_MINOR="0" CUDA_PKG_LONGVERSION="${CUDA_VERSION_MAJOR}.${CUDA_VERSION_MINOR}-28" CUDA_PKG_VERSION="${CUDA_VERSION_MAJOR}-${CUDA_VERSION_MINOR}" - - CUDA_VERSION_MAJOR="7" CUDA_VERSION_MINOR="5" CUDA_PKG_LONGVERSION="${CUDA_VERSION_MAJOR}.${CUDA_VERSION_MINOR}-18" CUDA_PKG_VERSION="${CUDA_VERSION_MAJOR}-${CUDA_VERSION_MINOR}" - - CUDA_VERSION_MAJOR="8" CUDA_VERSION_MINOR="0" CUDA_PKG_LONGVERSION="${CUDA_VERSION_MAJOR}.${CUDA_VERSION_MINOR}.61-1" CUDA_PKG_VERSION="${CUDA_VERSION_MAJOR}-${CUDA_VERSION_MINOR}" - + - CUDA_VERSION_MAJOR="8" CUDA_VERSION_MINOR="0" CUDA_PKG_LONGVERSION="${CUDA_VERSION_MAJOR}.${CUDA_VERSION_MINOR}.61-1" CUDA_PKG_VERSION="${CUDA_VERSION_MAJOR}-${CUDA_VERSION_MINOR}" + - CUDA_VERSION_MAJOR="9" CUDA_VERSION_MINOR="2" CUDA_PKG_LONGVERSION="${CUDA_VERSION_MAJOR}.${CUDA_VERSION_MINOR}.148-1" CUDA_PKG_VERSION="${CUDA_VERSION_MAJOR}-${CUDA_VERSION_MINOR}" + - CUDA_VERSION_MAJOR="10" CUDA_VERSION_MINOR="2" CUDA_PKG_LONGVERSION="${CUDA_VERSION_MAJOR}.${CUDA_VERSION_MINOR}.89-1" CUDA_PKG_VERSION="${CUDA_VERSION_MAJOR}-${CUDA_VERSION_MINOR}" + + global: - NUM_CPU="`grep processor /proc/cpuinfo | wc -l`"; echo $NUM_CPU - BUILD_SYSTEM="`uname -s`" @@ -32,7 +33,6 @@ env: - POPSIFT_APP_INSTALL_RELEASE=${POPSIFT_APP_BUILD_RELEASE}/install - POPSIFT_APP_INSTALL_DEBUG=${POPSIFT_APP_BUILD_DEBUG}/install # CMAKE - # - CMAKE_URL="https://cmake.org/files/v3.6/cmake-3.6.1-Linux-x86_64.tar.gz" - CMAKE_URL="https://cmake.org/files/v3.13/cmake-3.13.5-Linux-x86_64.tar.gz" - CMAKE_ROOT=${TRAVIS_BUILD_DIR}/cmake - CMAKE_SOURCE=${CMAKE_ROOT}/source @@ -56,8 +56,9 @@ before_install: fi install: - - CUDA_REPO_PKG=cuda-repo-ubuntu1404_${CUDA_PKG_LONGVERSION}_amd64.deb - - wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/$CUDA_REPO_PKG + - UBUNTU_VERSION=ubuntu1604 + - CUDA_REPO_PKG=cuda-repo-${UBUNTU_VERSION}_${CUDA_PKG_LONGVERSION}_amd64.deb + - wget http://developer.download.nvidia.com/compute/cuda/repos/${UBUNTU_VERSION}/x86_64/$CUDA_REPO_PKG - sudo dpkg -i $CUDA_REPO_PKG - rm ${CUDA_REPO_PKG} - travis_retry sudo apt-get -y update From 2bb8325b38c7a7f486aaf6efe08ae2f2589d6333 Mon Sep 17 00:00:00 2001 From: Simone Gasparini Date: Wed, 26 Feb 2020 18:30:22 +0100 Subject: [PATCH 07/10] [ci] --allow-unauthenticated --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 409682cf..99af5031 100644 --- a/.travis.yml +++ b/.travis.yml @@ -62,7 +62,7 @@ install: - sudo dpkg -i $CUDA_REPO_PKG - rm ${CUDA_REPO_PKG} - travis_retry sudo apt-get -y update - - travis_retry sudo apt-get install -y --no-install-recommends cuda-core-$CUDA_PKG_VERSION cuda-cudart-dev-$CUDA_PKG_VERSION cuda-cublas-dev-$CUDA_PKG_VERSION cuda-curand-dev-$CUDA_PKG_VERSION + - travis_retry sudo apt-get install -y --no-install-recommends --allow-unauthenticated cuda-core-$CUDA_PKG_VERSION cuda-cudart-dev-$CUDA_PKG_VERSION cuda-cublas-dev-$CUDA_PKG_VERSION cuda-curand-dev-$CUDA_PKG_VERSION - sudo ln -s /usr/local/cuda-${CUDA_VERSION_MAJOR}.${CUDA_VERSION_MINOR} /usr/local/cuda before_script: From 262915136cc336d9a684879d7780d95a170cec94 Mon Sep 17 00:00:00 2001 From: Simone Gasparini Date: Wed, 26 Feb 2020 18:39:58 +0100 Subject: [PATCH 08/10] [ci] cuda 10 changed to standard package names --- .travis.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 99af5031..9c5769bb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -62,7 +62,12 @@ install: - sudo dpkg -i $CUDA_REPO_PKG - rm ${CUDA_REPO_PKG} - travis_retry sudo apt-get -y update - - travis_retry sudo apt-get install -y --no-install-recommends --allow-unauthenticated cuda-core-$CUDA_PKG_VERSION cuda-cudart-dev-$CUDA_PKG_VERSION cuda-cublas-dev-$CUDA_PKG_VERSION cuda-curand-dev-$CUDA_PKG_VERSION + - > + if [ ${CUDA_VERSION_MAJOR} -lt 10 ]; then + travis_retry sudo apt-get install -y --no-install-recommends --allow-unauthenticated cuda-core-$CUDA_PKG_VERSION cuda-cudart-dev-$CUDA_PKG_VERSION cuda-cublas-dev-$CUDA_PKG_VERSION cuda-curand-dev-$CUDA_PKG_VERSION + else + travis_retry sudo apt-get install -y --no-install-recommends --allow-unauthenticated libcuda-dev libcudart-dev libcublas-dev libcurand-dev + fi - sudo ln -s /usr/local/cuda-${CUDA_VERSION_MAJOR}.${CUDA_VERSION_MINOR} /usr/local/cuda before_script: From a70d6b7c1097abf6daf6d58a759d8047ea6e4968 Mon Sep 17 00:00:00 2001 From: Simone Gasparini Date: Wed, 26 Feb 2020 19:15:49 +0100 Subject: [PATCH 09/10] [ci] missing the key? --- .travis.yml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 9c5769bb..3a01d710 100644 --- a/.travis.yml +++ b/.travis.yml @@ -59,15 +59,17 @@ install: - UBUNTU_VERSION=ubuntu1604 - CUDA_REPO_PKG=cuda-repo-${UBUNTU_VERSION}_${CUDA_PKG_LONGVERSION}_amd64.deb - wget http://developer.download.nvidia.com/compute/cuda/repos/${UBUNTU_VERSION}/x86_64/$CUDA_REPO_PKG + - travis_retry sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/${UBUNTU_VERSION}/x86_64/7fa2af80.pub - sudo dpkg -i $CUDA_REPO_PKG - rm ${CUDA_REPO_PKG} - travis_retry sudo apt-get -y update - - > - if [ ${CUDA_VERSION_MAJOR} -lt 10 ]; then - travis_retry sudo apt-get install -y --no-install-recommends --allow-unauthenticated cuda-core-$CUDA_PKG_VERSION cuda-cudart-dev-$CUDA_PKG_VERSION cuda-cublas-dev-$CUDA_PKG_VERSION cuda-curand-dev-$CUDA_PKG_VERSION - else - travis_retry sudo apt-get install -y --no-install-recommends --allow-unauthenticated libcuda-dev libcudart-dev libcublas-dev libcurand-dev - fi + - travis_retry sudo apt-get install -y --no-install-recommends --allow-unauthenticated cuda-core-$CUDA_PKG_VERSION cuda-cudart-dev-$CUDA_PKG_VERSION cuda-cublas-dev-$CUDA_PKG_VERSION cuda-curand-dev-$CUDA_PKG_VERSION +# - > +# if [ ${CUDA_VERSION_MAJOR} -lt 10 ]; then +# travis_retry sudo apt-get install -y --no-install-recommends --allow-unauthenticated cuda-core-$CUDA_PKG_VERSION cuda-cudart-dev-$CUDA_PKG_VERSION cuda-cublas-dev-$CUDA_PKG_VERSION cuda-curand-dev-$CUDA_PKG_VERSION +# else +# travis_retry sudo apt-get install -y --no-install-recommends --allow-unauthenticated libcuda-dev libcudart-dev libcublas-dev libcurand-dev +# fi - sudo ln -s /usr/local/cuda-${CUDA_VERSION_MAJOR}.${CUDA_VERSION_MINOR} /usr/local/cuda before_script: From ce9fa954a6f84d38cc97b068cd71073c3e30f338 Mon Sep 17 00:00:00 2001 From: Simone Gasparini Date: Wed, 26 Feb 2020 19:36:51 +0100 Subject: [PATCH 10/10] [ci] cublas changed the name! --- .travis.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3a01d710..3e9d2db1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -63,13 +63,14 @@ install: - sudo dpkg -i $CUDA_REPO_PKG - rm ${CUDA_REPO_PKG} - travis_retry sudo apt-get -y update - - travis_retry sudo apt-get install -y --no-install-recommends --allow-unauthenticated cuda-core-$CUDA_PKG_VERSION cuda-cudart-dev-$CUDA_PKG_VERSION cuda-cublas-dev-$CUDA_PKG_VERSION cuda-curand-dev-$CUDA_PKG_VERSION -# - > -# if [ ${CUDA_VERSION_MAJOR} -lt 10 ]; then -# travis_retry sudo apt-get install -y --no-install-recommends --allow-unauthenticated cuda-core-$CUDA_PKG_VERSION cuda-cudart-dev-$CUDA_PKG_VERSION cuda-cublas-dev-$CUDA_PKG_VERSION cuda-curand-dev-$CUDA_PKG_VERSION -# else -# travis_retry sudo apt-get install -y --no-install-recommends --allow-unauthenticated libcuda-dev libcudart-dev libcublas-dev libcurand-dev -# fi + # cuda > 10.0 changed cublas naming + - > + if [ ${CUDA_VERSION_MAJOR} -lt 10 ]; then + CUBLAS_PKG=cuda-cublas-dev-$CUDA_PKG_VERSION + else + CUBLAS_PKG=libcublas-dev + fi + - travis_retry sudo apt-get install -y --no-install-recommends --allow-unauthenticated cuda-core-$CUDA_PKG_VERSION cuda-cudart-dev-$CUDA_PKG_VERSION ${CUBLAS_PKG} cuda-curand-dev-$CUDA_PKG_VERSION - sudo ln -s /usr/local/cuda-${CUDA_VERSION_MAJOR}.${CUDA_VERSION_MINOR} /usr/local/cuda before_script: