Permalink
Browse files

create a docker image per job and cache it

  • Loading branch information...
BenjaminW3 committed Sep 22, 2017
1 parent 99db278 commit 107049d7d416e8bfdb24d13c04c6929e25c44fb9
View
@@ -0,0 +1 @@
.git
View
@@ -22,14 +22,16 @@ language: generic
os: linux
sudo: required
dist: trusty
services:
- docker
################################################################################
# NOTE: Testing the full matrix is not practical.
# Therefore we aim to have each value been set in at lest one job.
# CXX : {g++, clang++}
# [g++] ALPAKA_GCC_VER : {4.9, 5, 6, 7}
# [clang++] ALPAKA_CLANG_LIBSTDCPP_VERSION : {5}
# [clang++] ALPAKA_CLANG_VER : {3.5.2, 3.6.2, 3.7.1, 3.8.1, 3.9.1, 4.0.0, 5.0.0}
# [g++] ALPAKA_CI_GCC_VER : {4.9, 5, 6, 7}
# [clang++] ALPAKA_CI_CLANG_LIBSTDCPP_VERSION : {5}
# [clang++] ALPAKA_CI_CLANG_VER : {3.5.2, 3.6.2, 3.7.1, 3.8.1, 3.9.1, 4.0.0, 5.0.0}
# CMAKE_BUILD_TYPE : {Debug, Release}
# ALPAKA_CI : {ON}
# ALPAKA_CI_BOOST_BRANCH : {boost-1.62.0, boost-1.63.0, boost-1.64.0, boost-1.65.1}
@@ -55,7 +57,17 @@ dist: trusty
################################################################################
env:
global:
- ALPAKA_CI_DOCKER_BASE_IMAGE_NAME=ubuntu:14.04
- ALPAKA_CI_DOCKER_IMAGE_NAME=alpaka_ubuntu14_04
- ALPAKA_CI_DOCKER_CACHE_DIR=${HOME}/cache/docker
- ALPAKA_CI_DOCKER_CACHE_IMAGE_FILE_PATH=${ALPAKA_CI_DOCKER_CACHE_DIR}/${ALPAKA_CI_DOCKER_IMAGE_NAME}.tar.gz
- ALPAKA_CI_BOOST_ROOT_DIR=${HOME}/boost
- ALPAKA_CI_BOOST_LIB_DIR=${HOME}/boost_libs/x64
- ALPAKA_CI_CLANG_DIR=${HOME}/llvm
- ALPAKA_CI_CMAKE_DIR=${HOME}/CMake
- ALPAKA_CI_CUDA_DIR=${HOME}/CUDA
- ALPAKA_CI_ANALYSIS=OFF
- ALPAKA_CI_CLANG_LIBSTDCPP_VERSION=5
- ALPAKA_DEBUG=0
- ALPAKA_ACC_CPU_B_SEQ_T_SEQ_ENABLE=ON
- ALPAKA_ACC_CPU_B_SEQ_T_THREADS_ENABLE=ON
@@ -66,70 +78,63 @@ env:
- ALPAKA_ACC_CPU_BT_OMP4_ENABLE=ON
- ALPAKA_ACC_GPU_CUDA_ENABLE=OFF
- ALPAKA_ACC_GPU_CUDA_ONLY_MODE=OFF
- ALPAKA_CLANG_LIBSTDCPP_VERSION=5
matrix:
# g++
# We can not enable UBSan when using gcc because it does not have a -fsanitize-blacklist option to suppress errors in boost etc.
# gcc 6 ASan is triggered within libtbb.so
# gcc 7 ASan introduced 'stack-use-after-scope' which is triggered by GOMP_parallel
# Analysis builds
- CXX=g++ CC=gcc ALPAKA_GCC_VER=4.9 CMAKE_BUILD_TYPE=Debug ALPAKA_CI_BOOST_BRANCH=boost-1.62.0 ALPAKA_CI_CMAKE_VER=3.9.1 ALPAKA_CI_SANITIZERS= ALPAKA_CI_ANALYSIS=ON ALPAKA_DEBUG=2 ALPAKA_ACC_GPU_CUDA_ENABLE=ON ALPAKA_CUDA_VER=7.5 ALPAKA_CUDA_COMPILER=nvcc
- CXX=g++ CC=gcc ALPAKA_GCC_VER=7 CMAKE_BUILD_TYPE=Debug ALPAKA_CI_BOOST_BRANCH=boost-1.65.1 ALPAKA_CI_CMAKE_VER=3.7.2 ALPAKA_CI_SANITIZERS= ALPAKA_CI_ANALYSIS=ON ALPAKA_DEBUG=2
- CXX=g++ CC=gcc ALPAKA_CI_GCC_VER=4.9 CMAKE_BUILD_TYPE=Debug ALPAKA_CI_BOOST_BRANCH=boost-1.62.0 ALPAKA_CI_CMAKE_VER=3.9.1 ALPAKA_CI_SANITIZERS= ALPAKA_CI_ANALYSIS=ON ALPAKA_DEBUG=2 ALPAKA_ACC_GPU_CUDA_ENABLE=ON ALPAKA_CUDA_VER=7.5 ALPAKA_CUDA_COMPILER=nvcc
- CXX=g++ CC=gcc ALPAKA_CI_GCC_VER=7 CMAKE_BUILD_TYPE=Debug ALPAKA_CI_BOOST_BRANCH=boost-1.65.1 ALPAKA_CI_CMAKE_VER=3.7.2 ALPAKA_CI_SANITIZERS= ALPAKA_CI_ANALYSIS=ON ALPAKA_DEBUG=2
# Debug builds
- CXX=g++ CC=gcc ALPAKA_GCC_VER=4.9 CMAKE_BUILD_TYPE=Debug ALPAKA_CI_BOOST_BRANCH=boost-1.63.0 ALPAKA_CI_CMAKE_VER=3.8.2 ALPAKA_CI_SANITIZERS= ALPAKA_ACC_GPU_CUDA_ENABLE=ON ALPAKA_CUDA_VER=7.5 ALPAKA_CUDA_COMPILER=nvcc ALPAKA_CUDA_ARCH="20;35" ALPAKA_ACC_GPU_CUDA_ONLY_MODE=ON ALPAKA_ACC_CPU_B_SEQ_T_SEQ_ENABLE=OFF ALPAKA_ACC_CPU_B_SEQ_T_THREADS_ENABLE=OFF ALPAKA_ACC_CPU_B_SEQ_T_FIBERS_ENABLE=OFF ALPAKA_ACC_CPU_B_TBB_T_SEQ_ENABLE=OFF ALPAKA_ACC_CPU_B_OMP2_T_SEQ_ENABLE=OFF ALPAKA_ACC_CPU_B_SEQ_T_OMP2_ENABLE=OFF ALPAKA_ACC_CPU_BT_OMP4_ENABLE=OFF ALPAKA_ACC_CPU_BT_OPENACC2_ENABLE=OFF
- CXX=g++ CC=gcc ALPAKA_GCC_VER=4.9 CMAKE_BUILD_TYPE=Debug ALPAKA_CI_BOOST_BRANCH=boost-1.62.0 ALPAKA_CI_CMAKE_VER=3.7.2 ALPAKA_CI_SANITIZERS= OMP_NUM_THREADS=3 ALPAKA_ACC_GPU_CUDA_ENABLE=ON ALPAKA_CUDA_VER=8.0 ALPAKA_CUDA_COMPILER=nvcc ALPAKA_CUDA_ARCH="20;35"
- CXX=g++ CC=gcc ALPAKA_GCC_VER=5 CMAKE_BUILD_TYPE=Debug ALPAKA_CI_BOOST_BRANCH=boost-1.65.1 ALPAKA_CI_CMAKE_VER=3.9.1 ALPAKA_CI_SANITIZERS= OMP_NUM_THREADS=2 ALPAKA_ACC_GPU_CUDA_ENABLE=ON ALPAKA_CUDA_VER=8.0 ALPAKA_CUDA_COMPILER=nvcc ALPAKA_CUDA_ARCH="35"
- CXX=g++ CC=gcc ALPAKA_GCC_VER=6 CMAKE_BUILD_TYPE=Debug ALPAKA_CI_BOOST_BRANCH=boost-1.64.0 ALPAKA_CI_CMAKE_VER=3.7.2 ALPAKA_CI_SANITIZERS= OMP_NUM_THREADS=4
- CXX=g++ CC=gcc ALPAKA_CI_GCC_VER=4.9 CMAKE_BUILD_TYPE=Debug ALPAKA_CI_BOOST_BRANCH=boost-1.63.0 ALPAKA_CI_CMAKE_VER=3.8.2 ALPAKA_CI_SANITIZERS= ALPAKA_ACC_GPU_CUDA_ENABLE=ON ALPAKA_CUDA_VER=7.5 ALPAKA_CUDA_COMPILER=nvcc ALPAKA_CUDA_ARCH="20;35" ALPAKA_ACC_GPU_CUDA_ONLY_MODE=ON ALPAKA_ACC_CPU_B_SEQ_T_SEQ_ENABLE=OFF ALPAKA_ACC_CPU_B_SEQ_T_THREADS_ENABLE=OFF ALPAKA_ACC_CPU_B_SEQ_T_FIBERS_ENABLE=OFF ALPAKA_ACC_CPU_B_TBB_T_SEQ_ENABLE=OFF ALPAKA_ACC_CPU_B_OMP2_T_SEQ_ENABLE=OFF ALPAKA_ACC_CPU_B_SEQ_T_OMP2_ENABLE=OFF ALPAKA_ACC_CPU_BT_OMP4_ENABLE=OFF ALPAKA_ACC_CPU_BT_OPENACC2_ENABLE=OFF
- CXX=g++ CC=gcc ALPAKA_CI_GCC_VER=4.9 CMAKE_BUILD_TYPE=Debug ALPAKA_CI_BOOST_BRANCH=boost-1.62.0 ALPAKA_CI_CMAKE_VER=3.7.2 ALPAKA_CI_SANITIZERS= OMP_NUM_THREADS=3 ALPAKA_ACC_GPU_CUDA_ENABLE=ON ALPAKA_CUDA_VER=8.0 ALPAKA_CUDA_COMPILER=nvcc ALPAKA_CUDA_ARCH="20;35"
- CXX=g++ CC=gcc ALPAKA_CI_GCC_VER=5 CMAKE_BUILD_TYPE=Debug ALPAKA_CI_BOOST_BRANCH=boost-1.65.1 ALPAKA_CI_CMAKE_VER=3.9.1 ALPAKA_CI_SANITIZERS= OMP_NUM_THREADS=2 ALPAKA_ACC_GPU_CUDA_ENABLE=ON ALPAKA_CUDA_VER=8.0 ALPAKA_CUDA_COMPILER=nvcc ALPAKA_CUDA_ARCH="35"
- CXX=g++ CC=gcc ALPAKA_CI_GCC_VER=6 CMAKE_BUILD_TYPE=Debug ALPAKA_CI_BOOST_BRANCH=boost-1.64.0 ALPAKA_CI_CMAKE_VER=3.7.2 ALPAKA_CI_SANITIZERS= OMP_NUM_THREADS=4
# Release builds
- CXX=g++ CC=gcc ALPAKA_GCC_VER=4.9 CMAKE_BUILD_TYPE=Release ALPAKA_CI_BOOST_BRANCH=boost-1.64.0 ALPAKA_CI_CMAKE_VER=3.9.1 ALPAKA_CI_SANITIZERS= OMP_NUM_THREADS=4 ALPAKA_ACC_GPU_CUDA_ENABLE=ON ALPAKA_CUDA_VER=7.0 ALPAKA_CUDA_COMPILER=nvcc
- CXX=g++ CC=gcc ALPAKA_GCC_VER=4.9 CMAKE_BUILD_TYPE=Release ALPAKA_CI_BOOST_BRANCH=boost-1.62.0 ALPAKA_CI_CMAKE_VER=3.7.2 ALPAKA_CI_SANITIZERS= OMP_NUM_THREADS=3 ALPAKA_ACC_GPU_CUDA_ENABLE=ON ALPAKA_CUDA_VER=7.5 ALPAKA_CUDA_COMPILER=nvcc
- CXX=g++ CC=gcc ALPAKA_GCC_VER=7 CMAKE_BUILD_TYPE=Release ALPAKA_CI_BOOST_BRANCH=boost-1.63.0 ALPAKA_CI_CMAKE_VER=3.8.2 ALPAKA_CI_SANITIZERS= OMP_NUM_THREADS=2
- CXX=g++ CC=gcc ALPAKA_GCC_VER=5 CMAKE_BUILD_TYPE=Release ALPAKA_CI_BOOST_BRANCH=boost-1.65.1 ALPAKA_CI_CMAKE_VER=3.7.2 ALPAKA_CI_SANITIZERS= OMP_NUM_THREADS=4
- CXX=g++ CC=gcc ALPAKA_CI_GCC_VER=4.9 CMAKE_BUILD_TYPE=Release ALPAKA_CI_BOOST_BRANCH=boost-1.64.0 ALPAKA_CI_CMAKE_VER=3.9.1 ALPAKA_CI_SANITIZERS= OMP_NUM_THREADS=4 ALPAKA_ACC_GPU_CUDA_ENABLE=ON ALPAKA_CUDA_VER=7.0 ALPAKA_CUDA_COMPILER=nvcc
- CXX=g++ CC=gcc ALPAKA_CI_GCC_VER=4.9 CMAKE_BUILD_TYPE=Release ALPAKA_CI_BOOST_BRANCH=boost-1.62.0 ALPAKA_CI_CMAKE_VER=3.7.2 ALPAKA_CI_SANITIZERS= OMP_NUM_THREADS=3 ALPAKA_ACC_GPU_CUDA_ENABLE=ON ALPAKA_CUDA_VER=7.5 ALPAKA_CUDA_COMPILER=nvcc
- CXX=g++ CC=gcc ALPAKA_CI_GCC_VER=7 CMAKE_BUILD_TYPE=Release ALPAKA_CI_BOOST_BRANCH=boost-1.63.0 ALPAKA_CI_CMAKE_VER=3.8.2 ALPAKA_CI_SANITIZERS= OMP_NUM_THREADS=2
- CXX=g++ CC=gcc ALPAKA_CI_GCC_VER=5 CMAKE_BUILD_TYPE=Release ALPAKA_CI_BOOST_BRANCH=boost-1.65.1 ALPAKA_CI_CMAKE_VER=3.7.2 ALPAKA_CI_SANITIZERS= OMP_NUM_THREADS=4
# clang++
# Analysis builds
- CXX=clang++ CC=clang ALPAKA_CLANG_VER=3.9.1 CMAKE_BUILD_TYPE=Debug ALPAKA_CI_BOOST_BRANCH=boost-1.62.0 ALPAKA_CI_CMAKE_VER=3.9.1 ALPAKA_CI_SANITIZERS= ALPAKA_CI_ANALYSIS=ON ALPAKA_DEBUG=2 ALPAKA_ACC_GPU_CUDA_ENABLE=ON ALPAKA_CUDA_VER=7.5 ALPAKA_CUDA_COMPILER=clang
- CXX=clang++ CC=clang ALPAKA_CLANG_VER=5.0.0 CMAKE_BUILD_TYPE=Debug ALPAKA_CI_BOOST_BRANCH=boost-1.65.1 ALPAKA_CI_CMAKE_VER=3.7.2 ALPAKA_CI_SANITIZERS= ALPAKA_CI_ANALYSIS=ON ALPAKA_DEBUG=2
- CXX=clang++ CC=clang ALPAKA_CI_CLANG_VER=3.9.1 CMAKE_BUILD_TYPE=Debug ALPAKA_CI_BOOST_BRANCH=boost-1.62.0 ALPAKA_CI_CMAKE_VER=3.9.1 ALPAKA_CI_SANITIZERS= ALPAKA_CI_ANALYSIS=ON ALPAKA_DEBUG=2 ALPAKA_ACC_GPU_CUDA_ENABLE=ON ALPAKA_CUDA_VER=7.5 ALPAKA_CUDA_COMPILER=clang
- CXX=clang++ CC=clang ALPAKA_CI_CLANG_VER=5.0.0 CMAKE_BUILD_TYPE=Debug ALPAKA_CI_BOOST_BRANCH=boost-1.65.1 ALPAKA_CI_CMAKE_VER=3.7.2 ALPAKA_CI_SANITIZERS= ALPAKA_CI_ANALYSIS=ON ALPAKA_DEBUG=2
# Debug builds
- CXX=clang++ CC=clang ALPAKA_CLANG_VER=3.9.1 CMAKE_BUILD_TYPE=Debug ALPAKA_CI_BOOST_BRANCH=boost-1.63.0 ALPAKA_CI_CMAKE_VER=3.8.2 ALPAKA_CI_SANITIZERS= ALPAKA_ACC_GPU_CUDA_ENABLE=ON ALPAKA_CUDA_VER=7.5 ALPAKA_CUDA_COMPILER=clang ALPAKA_CUDA_ARCH="20;35" ALPAKA_ACC_GPU_CUDA_ONLY_MODE=ON ALPAKA_ACC_CPU_B_SEQ_T_SEQ_ENABLE=OFF ALPAKA_ACC_CPU_B_SEQ_T_THREADS_ENABLE=OFF ALPAKA_ACC_CPU_B_SEQ_T_FIBERS_ENABLE=OFF ALPAKA_ACC_CPU_B_TBB_T_SEQ_ENABLE=OFF ALPAKA_ACC_CPU_B_OMP2_T_SEQ_ENABLE=OFF ALPAKA_ACC_CPU_B_SEQ_T_OMP2_ENABLE=OFF ALPAKA_ACC_CPU_BT_OMP4_ENABLE=OFF ALPAKA_ACC_CPU_BT_OPENACC2_ENABLE=OFF
- CXX=clang++ CC=clang ALPAKA_CLANG_VER=3.7.1 CMAKE_BUILD_TYPE=Debug ALPAKA_CI_BOOST_BRANCH=boost-1.62.0 ALPAKA_CI_CMAKE_VER=3.7.2 ALPAKA_CI_SANITIZERS= OMP_NUM_THREADS=3 ALPAKA_ACC_GPU_CUDA_ENABLE=ON ALPAKA_CUDA_VER=8.0 ALPAKA_CUDA_COMPILER=nvcc ALPAKA_CUDA_ARCH="20;35"
- CXX=clang++ CC=clang ALPAKA_CLANG_VER=3.9.1 CMAKE_BUILD_TYPE=Debug ALPAKA_CI_BOOST_BRANCH=boost-1.65.1 ALPAKA_CI_CMAKE_VER=3.9.1 ALPAKA_CI_SANITIZERS= OMP_NUM_THREADS=2 ALPAKA_ACC_GPU_CUDA_ENABLE=ON ALPAKA_CUDA_VER=7.5 ALPAKA_CUDA_COMPILER=clang ALPAKA_CUDA_ARCH="35"
- CXX=clang++ CC=clang ALPAKA_CLANG_VER=4.0.0 CMAKE_BUILD_TYPE=Debug ALPAKA_CI_BOOST_BRANCH=boost-1.64.0 ALPAKA_CI_CMAKE_VER=3.7.2 ALPAKA_CI_SANITIZERS=UBSan OMP_NUM_THREADS=4
- CXX=clang++ CC=clang ALPAKA_CI_CLANG_VER=3.9.1 CMAKE_BUILD_TYPE=Debug ALPAKA_CI_BOOST_BRANCH=boost-1.63.0 ALPAKA_CI_CMAKE_VER=3.8.2 ALPAKA_CI_SANITIZERS= ALPAKA_ACC_GPU_CUDA_ENABLE=ON ALPAKA_CUDA_VER=7.5 ALPAKA_CUDA_COMPILER=clang ALPAKA_CUDA_ARCH="20;35" ALPAKA_ACC_GPU_CUDA_ONLY_MODE=ON ALPAKA_ACC_CPU_B_SEQ_T_SEQ_ENABLE=OFF ALPAKA_ACC_CPU_B_SEQ_T_THREADS_ENABLE=OFF ALPAKA_ACC_CPU_B_SEQ_T_FIBERS_ENABLE=OFF ALPAKA_ACC_CPU_B_TBB_T_SEQ_ENABLE=OFF ALPAKA_ACC_CPU_B_OMP2_T_SEQ_ENABLE=OFF ALPAKA_ACC_CPU_B_SEQ_T_OMP2_ENABLE=OFF ALPAKA_ACC_CPU_BT_OMP4_ENABLE=OFF ALPAKA_ACC_CPU_BT_OPENACC2_ENABLE=OFF
- CXX=clang++ CC=clang ALPAKA_CI_CLANG_VER=3.7.1 CMAKE_BUILD_TYPE=Debug ALPAKA_CI_BOOST_BRANCH=boost-1.62.0 ALPAKA_CI_CMAKE_VER=3.7.2 ALPAKA_CI_SANITIZERS= OMP_NUM_THREADS=3 ALPAKA_ACC_GPU_CUDA_ENABLE=ON ALPAKA_CUDA_VER=8.0 ALPAKA_CUDA_COMPILER=nvcc ALPAKA_CUDA_ARCH="20;35"
- CXX=clang++ CC=clang ALPAKA_CI_CLANG_VER=3.9.1 CMAKE_BUILD_TYPE=Debug ALPAKA_CI_BOOST_BRANCH=boost-1.65.1 ALPAKA_CI_CMAKE_VER=3.9.1 ALPAKA_CI_SANITIZERS= OMP_NUM_THREADS=2 ALPAKA_ACC_GPU_CUDA_ENABLE=ON ALPAKA_CUDA_VER=7.5 ALPAKA_CUDA_COMPILER=clang ALPAKA_CUDA_ARCH="35"
- CXX=clang++ CC=clang ALPAKA_CI_CLANG_VER=4.0.0 CMAKE_BUILD_TYPE=Debug ALPAKA_CI_BOOST_BRANCH=boost-1.64.0 ALPAKA_CI_CMAKE_VER=3.7.2 ALPAKA_CI_SANITIZERS=UBSan OMP_NUM_THREADS=4
# Release builds
- CXX=clang++ CC=clang ALPAKA_CLANG_VER=3.9.1 CMAKE_BUILD_TYPE=Release ALPAKA_CI_BOOST_BRANCH=boost-1.64.0 ALPAKA_CI_CMAKE_VER=3.9.1 ALPAKA_CI_SANITIZERS= OMP_NUM_THREADS=4 ALPAKA_ACC_GPU_CUDA_ENABLE=ON ALPAKA_CUDA_VER=7.0 ALPAKA_CUDA_COMPILER=clang
- CXX=clang++ CC=clang ALPAKA_CLANG_VER=3.5.2 CMAKE_BUILD_TYPE=Release ALPAKA_CI_BOOST_BRANCH=boost-1.62.0 ALPAKA_CI_CMAKE_VER=3.7.2 ALPAKA_CI_SANITIZERS= OMP_NUM_THREADS=3 ALPAKA_ACC_GPU_CUDA_ENABLE=ON ALPAKA_CUDA_VER=8.0 ALPAKA_CUDA_COMPILER=nvcc
- CXX=clang++ CC=clang ALPAKA_CLANG_VER=3.6.2 CMAKE_BUILD_TYPE=Release ALPAKA_CI_BOOST_BRANCH=boost-1.63.0 ALPAKA_CI_CMAKE_VER=3.8.2 ALPAKA_CI_SANITIZERS=ASan+UBSan OMP_NUM_THREADS=2
- CXX=clang++ CC=clang ALPAKA_CLANG_VER=5.0.0 CMAKE_BUILD_TYPE=Release ALPAKA_CI_BOOST_BRANCH=boost-1.65.1 ALPAKA_CI_CMAKE_VER=3.7.2 ALPAKA_CI_SANITIZERS=ESan OMP_NUM_THREADS=4
- CXX=clang++ CC=clang ALPAKA_CI_CLANG_VER=3.9.1 CMAKE_BUILD_TYPE=Release ALPAKA_CI_BOOST_BRANCH=boost-1.64.0 ALPAKA_CI_CMAKE_VER=3.9.1 ALPAKA_CI_SANITIZERS= OMP_NUM_THREADS=4 ALPAKA_ACC_GPU_CUDA_ENABLE=ON ALPAKA_CUDA_VER=7.0 ALPAKA_CUDA_COMPILER=clang
- CXX=clang++ CC=clang ALPAKA_CI_CLANG_VER=3.5.2 CMAKE_BUILD_TYPE=Release ALPAKA_CI_BOOST_BRANCH=boost-1.62.0 ALPAKA_CI_CMAKE_VER=3.7.2 ALPAKA_CI_SANITIZERS= OMP_NUM_THREADS=3 ALPAKA_ACC_GPU_CUDA_ENABLE=ON ALPAKA_CUDA_VER=8.0 ALPAKA_CUDA_COMPILER=nvcc
- CXX=clang++ CC=clang ALPAKA_CI_CLANG_VER=3.6.2 CMAKE_BUILD_TYPE=Release ALPAKA_CI_BOOST_BRANCH=boost-1.63.0 ALPAKA_CI_CMAKE_VER=3.8.2 ALPAKA_CI_SANITIZERS=ASan+UBSan OMP_NUM_THREADS=2
- CXX=clang++ CC=clang ALPAKA_CI_CLANG_VER=5.0.0 CMAKE_BUILD_TYPE=Release ALPAKA_CI_BOOST_BRANCH=boost-1.65.1 ALPAKA_CI_CMAKE_VER=3.7.2 ALPAKA_CI_SANITIZERS=ESan OMP_NUM_THREADS=4
branches:
except:
- doc
cache:
directories:
- ${HOME}/cache
- $ALPAKA_CI_DOCKER_CACHE_DIR
script:
- ./script/travis/print_travisEnv.sh
- source ./script/travis/before_install.sh
- source ./script/travis/install_cmake.sh
- if [ "${ALPAKA_CI_ANALYSIS}" == "ON" ] ;then source ./script/travis/install_analysis.sh ;fi
- if [ "${CXX}" == "g++" ] ;then source ./script/travis/install_gcc.sh ;fi
- if [ "${CXX}" == "clang++" ] ;then source ./script/travis/install_clang.sh ;fi
- if [ "${ALPAKA_ACC_GPU_CUDA_ENABLE}" == "ON" ] ;then source ./script/travis/install_cuda.sh ;fi
- if [ "${ALPAKA_ACC_CPU_B_TBB_T_SEQ_ENABLE}" == "ON" ] ;then source ./script/travis/install_tbb.sh ;fi
- source ./script/travis/install_boost.sh
- source ./script/travis/prepare_sanitizers.sh
- if [ "${ALPAKA_CI_ANALYSIS}" == "ON" ] ;then ./script/travis/run_analysis.sh ;fi
- if [ "${ALPAKA_CI_ANALYSIS}" == "ON" -a "ALPAKA_ACC_GPU_CUDA_ENABLE" == "OFF" ] ;then ./script/travis/run_headerCheck.sh ;fi
- if [ "${ALPAKA_CI_ANALYSIS}" == "OFF" ] ;then ./script/travis/run_tests.sh ;fi
#- ./script/travis/install.sh
- source ./script/travis/docker_install.sh
#- ./script/travis/run.sh
- ./script/travis/docker_run.sh
notifications:
email: false
View
@@ -63,7 +63,7 @@ Supported Compilers
This library uses C++11 (or newer when available).
|Accelerator Back-end|gcc 4.9.2|gcc 5.4|gcc 6.2/7.1|clang 3.5/3.6|clang 3.7/3.8|clang 3.9|clang 4/5|MSVC 2015.3/2017.3|
|Accelerator Back-end|gcc 4.9.2|gcc 5.4|gcc 6.3/7.1|clang 3.5/3.6|clang 3.7/3.8|clang 3.9|clang 4/5|MSVC 2015.3/2017.3|
|---|---|---|---|---|---|---|---|---|
|Serial|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|
|OpenMP 2.0+ blocks|:white_check_mark:|:white_check_mark:|:white_check_mark:|:x:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|
@@ -109,6 +109,17 @@ auto main()
threadsPerBlock,
elementsPerThread);
const size_t nExclamationMarks = 10;
// nvcc < 7.5 does not support lambdas as kernels.
#if !BOOST_COMP_NVCC || BOOST_COMP_NVCC >= BOOST_VERSION_NUMBER(7, 5, 0)
// nvcc 7.5 does not support heterogeneous lambdas (__host__ __device__) as kernels but only __device__ lambdas.
// So with nvcc 7.5 this only works in CUDA only mode or by using ALPAKA_FN_ACC_CUDA_ONLY instead of ALPAKA_FN_ACC
#if !BOOST_COMP_NVCC || BOOST_COMP_NVCC >= BOOST_VERSION_NUMBER(8, 0, 0) || defined(ALPAKA_ACC_GPU_CUDA_ONLY_MODE)
// clang prior to 4.0.0 did not support the __host__ __device__ attributes at the nonstandard position between [] and () but only after ().
// See: https://llvm.org/bugs/show_bug.cgi?id=26341
#if !BOOST_COMP_CLANG_CUDA || BOOST_COMP_CLANG_CUDA >= BOOST_VERSION_NUMBER(4, 0, 0)
/**
* Run "Hello World" kernel with lambda function
@@ -122,44 +133,41 @@ auto main()
*
* This example passes the number exclamation marks, that should
* be written after we greet the world, to the
* lambda function. Furthermore, the exclamation marks
* multiplier is captured directly by the lambda.
* lambda function.
*
* This kind of kernel function
* declaration might be useful when small kernels
* are written for testing or lambda functions
* allready exist.
* already exist.
*/
const size_t nExclamationMarks = 10;
const size_t exclamationMarksMultiplier = 3;
auto const helloWorld(alpaka::exec::create<Acc>(
workdiv,
[exclamationMarksMultiplier] ALPAKA_FN_ACC (Acc & acc, size_t const nExclamationMarksAsArg) -> void {
auto globalThreadIdx = alpaka::idx::getIdx<alpaka::Grid, alpaka::Threads>(acc);
auto globalThreadExtent = alpaka::workdiv::getWorkDiv<alpaka::Grid, alpaka::Threads>(acc);
auto linearizedGlobalThreadIdx = alpaka::idx::mapIdx<1u>(globalThreadIdx,
globalThreadExtent);
printf("[z:%u, y:%u, x:%u][linear:%u] Hello world from a lambda",
static_cast<unsigned>(globalThreadIdx[0]),
static_cast<unsigned>(globalThreadIdx[1]),
static_cast<unsigned>(globalThreadIdx[2]),
static_cast<unsigned>(linearizedGlobalThreadIdx[0]));
[] ALPAKA_FN_ACC (Acc & acc, size_t const nExclamationMarksAsArg) -> void {
auto globalThreadIdx = alpaka::idx::getIdx<alpaka::Grid, alpaka::Threads>(acc);
auto globalThreadExtent = alpaka::workdiv::getWorkDiv<alpaka::Grid, alpaka::Threads>(acc);
auto linearizedGlobalThreadIdx = alpaka::idx::mapIdx<1u>(globalThreadIdx, globalThreadExtent);
for(size_t i = 0; i < nExclamationMarksAsArg * exclamationMarksMultiplier; ++i){
printf("!");
printf("[z:%u, y:%u, x:%u][linear:%u] Hello world from a lambda",
static_cast<unsigned>(globalThreadIdx[0]),
static_cast<unsigned>(globalThreadIdx[1]),
static_cast<unsigned>(globalThreadIdx[2]),
static_cast<unsigned>(linearizedGlobalThreadIdx[0]));
}
for(size_t i = 0; i < nExclamationMarksAsArg; ++i){
printf("!");
}
printf("\n");
printf("\n");
},
nExclamationMarks
));
},
nExclamationMarks
));
alpaka::stream::enqueue(stream, helloWorld);
#endif
#endif
#endif
/**
* Run "Hello World" kernel with std::function
@@ -39,7 +39,8 @@
#include <exception> // std::runtime_error
#include <utility> // std::forward
#include <atomic> // std::atomic
#include <future> // std::future
#include <functional> // std::bind
#include <memory> // std::shared_ptr
namespace alpaka
{
Oops, something went wrong.

0 comments on commit 107049d

Please sign in to comment.