Permalink
Browse files

remove supoort for CUDA 7.x

  • Loading branch information...
BenjaminW3 committed Apr 6, 2018
1 parent 844a67e commit 3ac8dc7c7c79aec08e513430ef745eb0dcfe5211
View
@@ -51,7 +51,7 @@ services:
# ALPAKA_ACC_CPU_BT_OMP4_ENABLE : {ON, OFF}
# [ON] OMP_NUM_THREADS : {1, 2, 3, 4}
# ALPAKA_ACC_GPU_CUDA_ENABLE : {ON, OFF}
# [ON] ALPAKA_CUDA_VER : {7.0, 7.5, 8.0, 9.0, 9.1}
# [ON] ALPAKA_CUDA_VER : {8.0, 9.0, 9.1}
# [ON] ALPAKA_CUDA_COMPILER : {nvcc, [CXX==clang++]:clang}
# ALPAKA_ACC_CPU_B_TBB_T_SEQ_ENABLE : {ON, OFF}
env:
@@ -84,7 +84,7 @@ env:
# gcc 6 ASan is triggered within libtbb.so
# gcc 7 ASan introduced 'stack-use-after-scope' which is triggered by GOMP_parallel
# Analysis builds
- ALPAKA_CI_DOCKER_BASE_IMAGE_NAME=ubuntu:14.04 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.10.3 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
- ALPAKA_CI_DOCKER_BASE_IMAGE_NAME=ubuntu:14.04 CXX=g++ CC=gcc ALPAKA_CI_GCC_VER=4.9 CMAKE_BUILD_TYPE=Debug ALPAKA_CI_BOOST_BRANCH=boost-1.65.1 ALPAKA_CI_CMAKE_VER=3.10.3 ALPAKA_CI_SANITIZERS= ALPAKA_CI_ANALYSIS=ON ALPAKA_DEBUG=2 ALPAKA_ACC_GPU_CUDA_ENABLE=ON ALPAKA_CUDA_VER=9.1 ALPAKA_CUDA_COMPILER=nvcc
- ALPAKA_CI_DOCKER_BASE_IMAGE_NAME=ubuntu:16.04 CXX=g++ CC=gcc ALPAKA_CI_GCC_VER=8 CMAKE_BUILD_TYPE=Debug ALPAKA_CI_BOOST_BRANCH=boost-1.66.0 ALPAKA_CI_CMAKE_VER=3.7.2 ALPAKA_CI_SANITIZERS= ALPAKA_CI_ANALYSIS=ON ALPAKA_DEBUG=2
# Debug builds
@@ -94,25 +94,24 @@ env:
- ALPAKA_CI_DOCKER_BASE_IMAGE_NAME=ubuntu:16.04 CXX=g++ CC=gcc ALPAKA_CI_GCC_VER=8 CMAKE_BUILD_TYPE=Debug ALPAKA_CI_BOOST_BRANCH=boost-1.64.0 ALPAKA_CI_CMAKE_VER=3.11.1 ALPAKA_CI_SANITIZERS= OMP_NUM_THREADS=4
# Release builds
- ALPAKA_CI_DOCKER_BASE_IMAGE_NAME=ubuntu:14.04 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.6 ALPAKA_CI_SANITIZERS= OMP_NUM_THREADS=4 ALPAKA_ACC_GPU_CUDA_ENABLE=ON ALPAKA_CUDA_VER=7.0 ALPAKA_CUDA_COMPILER=nvcc
- ALPAKA_CI_DOCKER_BASE_IMAGE_NAME=ubuntu:14.04 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.11.1 ALPAKA_CI_SANITIZERS= OMP_NUM_THREADS=3 ALPAKA_ACC_GPU_CUDA_ENABLE=ON ALPAKA_CUDA_VER=7.5 ALPAKA_CUDA_COMPILER=nvcc
- ALPAKA_CI_DOCKER_BASE_IMAGE_NAME=ubuntu:16.04 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=3 ALPAKA_ACC_GPU_CUDA_ENABLE=ON ALPAKA_CUDA_VER=8.0 ALPAKA_CUDA_COMPILER=nvcc
- ALPAKA_CI_DOCKER_BASE_IMAGE_NAME=ubuntu:14.04 CXX=g++ CC=gcc ALPAKA_CI_GCC_VER=4.9 CMAKE_BUILD_TYPE=Release ALPAKA_CI_BOOST_BRANCH=boost-1.66.0 ALPAKA_CI_CMAKE_VER=3.9.6 ALPAKA_CI_SANITIZERS= OMP_NUM_THREADS=4 ALPAKA_ACC_GPU_CUDA_ENABLE=ON ALPAKA_CUDA_VER=9.0 ALPAKA_CUDA_COMPILER=nvcc
- ALPAKA_CI_DOCKER_BASE_IMAGE_NAME=ubuntu:16.04 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=3 ALPAKA_ACC_GPU_CUDA_ENABLE=ON ALPAKA_CUDA_VER=9.1 ALPAKA_CUDA_COMPILER=nvcc
- ALPAKA_CI_DOCKER_BASE_IMAGE_NAME=ubuntu:14.04 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
- ALPAKA_CI_DOCKER_BASE_IMAGE_NAME=ubuntu:17.10 CXX=g++ CC=gcc ALPAKA_CI_GCC_VER=6 CMAKE_BUILD_TYPE=Release ALPAKA_CI_BOOST_BRANCH=boost-1.66.0 ALPAKA_CI_CMAKE_VER=3.7.2 ALPAKA_CI_SANITIZERS= OMP_NUM_THREADS=4
# clang++
# Analysis builds
- ALPAKA_CI_DOCKER_BASE_IMAGE_NAME=ubuntu:14.04 CXX=clang++ CC=clang ALPAKA_CI_CLANG_VER=4.0.0 CMAKE_BUILD_TYPE=Debug ALPAKA_CI_BOOST_BRANCH=boost-1.62.0 ALPAKA_CI_CMAKE_VER=3.9.6 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
- ALPAKA_CI_DOCKER_BASE_IMAGE_NAME=ubuntu:16.04 CXX=clang++ CC=clang ALPAKA_CI_CLANG_VER=6.0.0 CMAKE_BUILD_TYPE=Debug ALPAKA_CI_BOOST_BRANCH=boost-1.65.1 ALPAKA_CI_CMAKE_VER=3.11.1 ALPAKA_CI_SANITIZERS= ALPAKA_CI_ANALYSIS=ON ALPAKA_DEBUG=2
- ALPAKA_CI_DOCKER_BASE_IMAGE_NAME=ubuntu:14.04 CXX=clang++ CC=clang ALPAKA_CI_CLANG_VER=4.0.0 CMAKE_BUILD_TYPE=Debug ALPAKA_CI_BOOST_BRANCH=boost-1.66.0 ALPAKA_CI_CMAKE_VER=3.9.6 ALPAKA_CI_SANITIZERS= ALPAKA_CI_ANALYSIS=ON ALPAKA_DEBUG=2 ALPAKA_ACC_GPU_CUDA_ENABLE=ON ALPAKA_CUDA_VER=9.1 ALPAKA_CUDA_COMPILER=clang
- ALPAKA_CI_DOCKER_BASE_IMAGE_NAME=ubuntu:16.04 CXX=clang++ CC=clang ALPAKA_CI_CLANG_VER=6.0.0 CMAKE_BUILD_TYPE=Debug ALPAKA_CI_BOOST_BRANCH=boost-1.65.1 ALPAKA_CI_CMAKE_VER=3.11.1 ALPAKA_CI_SANITIZERS= ALPAKA_CI_ANALYSIS=ON ALPAKA_DEBUG=2
# Debug builds
- ALPAKA_CI_DOCKER_BASE_IMAGE_NAME=ubuntu:14.04 CXX=clang++ CC=clang ALPAKA_CI_CLANG_VER=4.0.0 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_CI_DOCKER_BASE_IMAGE_NAME=ubuntu:14.04 CXX=clang++ CC=clang ALPAKA_CI_CLANG_VER=5.0.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=8.0 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_CI_DOCKER_BASE_IMAGE_NAME=ubuntu:14.04 CXX=clang++ CC=clang ALPAKA_CI_CLANG_VER=4.0.0 CMAKE_BUILD_TYPE=Debug ALPAKA_CI_BOOST_BRANCH=boost-1.65.1 ALPAKA_CI_CMAKE_VER=3.11.1 ALPAKA_CI_SANITIZERS= OMP_NUM_THREADS=3 ALPAKA_ACC_GPU_CUDA_ENABLE=ON ALPAKA_CUDA_VER=9.1 ALPAKA_CUDA_COMPILER=nvcc ALPAKA_CUDA_ARCH="30;35"
- ALPAKA_CI_DOCKER_BASE_IMAGE_NAME=ubuntu:14.04 CXX=clang++ CC=clang ALPAKA_CI_CLANG_VER=5.0.1 CMAKE_BUILD_TYPE=Debug ALPAKA_CI_BOOST_BRANCH=boost-1.67.0 ALPAKA_CI_CMAKE_VER=3.9.6 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"
- ALPAKA_CI_DOCKER_BASE_IMAGE_NAME=ubuntu:14.04 CXX=clang++ CC=clang ALPAKA_CI_CLANG_VER=6.0.0 CMAKE_BUILD_TYPE=Debug ALPAKA_CI_BOOST_BRANCH=boost-1.67.0 ALPAKA_CI_CMAKE_VER=3.9.6 ALPAKA_CI_SANITIZERS= OMP_NUM_THREADS=2 ALPAKA_ACC_GPU_CUDA_ENABLE=ON ALPAKA_CUDA_VER=9.0 ALPAKA_CUDA_COMPILER=clang ALPAKA_CUDA_ARCH="35"
- ALPAKA_CI_DOCKER_BASE_IMAGE_NAME=ubuntu:16.04 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
- ALPAKA_CI_DOCKER_BASE_IMAGE_NAME=ubuntu:14.04 CXX=clang++ CC=clang ALPAKA_CI_CLANG_VER=6.0.0 CMAKE_BUILD_TYPE=Release ALPAKA_CI_BOOST_BRANCH=boost-1.64.0 ALPAKA_CI_CMAKE_VER=3.10.3 ALPAKA_CI_SANITIZERS= OMP_NUM_THREADS=4 ALPAKA_ACC_GPU_CUDA_ENABLE=ON ALPAKA_CUDA_VER=7.0 ALPAKA_CUDA_COMPILER=clang
- ALPAKA_CI_DOCKER_BASE_IMAGE_NAME=ubuntu:14.04 CXX=clang++ CC=clang ALPAKA_CI_CLANG_VER=6.0.0 CMAKE_BUILD_TYPE=Release ALPAKA_CI_BOOST_BRANCH=boost-1.64.0 ALPAKA_CI_CMAKE_VER=3.10.3 ALPAKA_CI_SANITIZERS= OMP_NUM_THREADS=4 ALPAKA_ACC_GPU_CUDA_ENABLE=ON ALPAKA_CUDA_VER=8.0 ALPAKA_CUDA_COMPILER=clang
- ALPAKA_CI_DOCKER_BASE_IMAGE_NAME=ubuntu:16.04 CXX=clang++ CC=clang ALPAKA_CI_CLANG_VER=4.0.0 CMAKE_BUILD_TYPE=Release ALPAKA_CI_BOOST_BRANCH=boost-1.66.0 ALPAKA_CI_CMAKE_VER=3.7.2 ALPAKA_CI_SANITIZERS= OMP_NUM_THREADS=4 ALPAKA_ACC_GPU_CUDA_ENABLE=ON ALPAKA_CUDA_VER=9.1 ALPAKA_CUDA_COMPILER=nvcc
- ALPAKA_CI_DOCKER_BASE_IMAGE_NAME=ubuntu:14.04 CXX=clang++ CC=clang ALPAKA_CI_CLANG_VER=6.0.0 CMAKE_BUILD_TYPE=Release ALPAKA_CI_BOOST_BRANCH=boost-1.63.0 ALPAKA_CI_CMAKE_VER=3.8.2 ALPAKA_CI_SANITIZERS=ASan OMP_NUM_THREADS=2
- ALPAKA_CI_DOCKER_BASE_IMAGE_NAME=ubuntu:16.04 CXX=clang++ CC=clang ALPAKA_CI_CLANG_VER=5.0.1 CMAKE_BUILD_TYPE=Release ALPAKA_CI_BOOST_BRANCH=boost-1.67.0 ALPAKA_CI_CMAKE_VER=3.11.1 ALPAKA_CI_SANITIZERS= OMP_NUM_THREADS=4
View
@@ -28,7 +28,7 @@
# ALPAKA_ACC_CPU_B_SEQ_T_FIBERS_ENABLE will require Boost.Fiber to be built.
# ALPAKA_ACC_CPU_B_OMP2_T_SEQ_ENABLE and ALPAKA_ACC_CPU_B_SEQ_T_OMP2_ENABLE will require a OpenMP 2.0+ capable compiler.
# ALPAKA_ACC_CPU_BT_OMP4_ENABLE will require a OpenMP 4.0+ capable compiler.
# ALPAKA_ACC_GPU_CUDA_ENABLE will require CUDA 7.0+ to be installed.
# ALPAKA_ACC_GPU_CUDA_ENABLE will require CUDA 8.0+ to be installed.
# ALPAKA_ACC_CPU_B_TBB_T_SEQ_ENABLE will require TBB 2.2+ to be installed
#
# Set the following CMake variables BEFORE calling find_packages to
@@ -42,7 +42,7 @@
# - ``ALPAKA_ACC_CPU_B_SEQ_T_OMP2_ENABLE`` {ON, OFF}
# - ``ALPAKA_ACC_CPU_BT_OMP4_ENABLE`` {ON, OFF}
# - ``ALPAKA_ACC_GPU_CUDA_ENABLE`` {ON, OFF}
# - ``ALPAKA_CUDA_VERSION`` {7.0, ...}
# - ``ALPAKA_CUDA_VERSION`` {8.0, ...}
# - ``ALPAKA_CUDA_ARCH`` {sm_20, sm...}
# - ``ALPAKA_CUDA_FAST_MATH`` {ON, OFF}
# - ``ALPAKA_CUDA_FTZ`` {ON, OFF}
View
@@ -55,7 +55,7 @@ Accelerator Back-ends
| std::thread | std::thread |Host CPU (multi core)|sequential|parallel (preemptive multitasking)|
| Boost.Fiber | boost::fibers::fiber |Host CPU (single core)|sequential|parallel (cooperative multitasking)|
|TBB 2.2+ blocks|TBB 2.2+|Host CPU (multi core)|parallel (preemptive multitasking)|sequential (only 1 thread per block)|
|CUDA 7.0+|CUDA 7.0+|NVIDIA GPUs SM 2.0+|parallel (undefined)|parallel (lock-step within warps)|
|CUDA 8.0+|CUDA 8.0+|NVIDIA GPUs SM 2.0+|parallel (undefined)|parallel (lock-step within warps)|
Supported Compilers
@@ -72,7 +72,7 @@ This library uses C++11 (or newer when available).
| std::thread |:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|
| Boost.Fiber |:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|
|TBB 2.2+|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|
|CUDA 7.0+|:white_check_mark: (nvcc 7.0+)|:white_check_mark: (nvcc 8.0+)|:x:|:white_check_mark: (native)|:x:|
|CUDA 8.0+|:white_check_mark: (nvcc 8.0+)|:white_check_mark: (nvcc 8.0+)|:x:|:white_check_mark: (native)|:x:|
Dependencies
@@ -84,7 +84,7 @@ However some of the accelerator back-end implementations require different boost
When an accelerator back-end using *Boost.Fiber* is enabled, `boost-fiber` and all of its dependencies are required to be build in C++11 mode `./b2 cxxflags="-std=c++11"`.
When an accelerator back-end using *CUDA* is enabled, version *7.0* of the *CUDA SDK* is the minimum requirement.
When an accelerator back-end using *CUDA* is enabled, version *8.0* of the *CUDA SDK* is the minimum requirement.
*NOTE*: When using nvcc as *CUDA* compiler, the *CUDA accelerator back-end* can not be enabled together with the *Boost.Fiber accelerator back-end* due to bugs in the nvcc compiler.
*NOTE*: When using clang as a native *CUDA* compiler, the *CUDA accelerator back-end* can not be enabled together with any *OpenMP accelerator back-end* because this combination is currently unsupported.
View
@@ -303,11 +303,11 @@ ENDIF()
IF(ALPAKA_ACC_GPU_CUDA_ENABLE)
IF(NOT DEFINED ALPAKA_CUDA_VERSION)
SET(ALPAKA_CUDA_VERSION 7.0)
SET(ALPAKA_CUDA_VERSION 8.0)
ENDIF()
IF(ALPAKA_CUDA_VERSION VERSION_LESS 7.0)
MESSAGE(WARNING "CUDA Toolkit < 7.0 is not supported!")
IF(ALPAKA_CUDA_VERSION VERSION_LESS 8.0)
MESSAGE(WARNING "CUDA Toolkit < 8.0 is not supported!")
SET(_ALPAKA_FOUND FALSE)
ELSE()
@@ -383,13 +383,8 @@ IF(ALPAKA_ACC_GPU_CUDA_ENABLE)
LIST(APPEND CUDA_NVCC_FLAGS "-Wno-deprecated-gpu-targets")
ENDIF()
IF(NOT CUDA_VERSION VERSION_LESS 7.5)
LIST(APPEND CUDA_NVCC_FLAGS "--expt-extended-lambda")
LIST(APPEND CUDA_NVCC_FLAGS "--expt-relaxed-constexpr")
ELSE()
# CUDA 7.0
LIST(APPEND CUDA_NVCC_FLAGS "--relaxed-constexpr")
ENDIF()
LIST(APPEND CUDA_NVCC_FLAGS "--expt-extended-lambda")
LIST(APPEND CUDA_NVCC_FLAGS "--expt-relaxed-constexpr")
FOREACH(_CUDA_ARCH_ELEM ${ALPAKA_CUDA_ARCH})
# set flags to create device code for the given architecture
@@ -3,10 +3,10 @@
Accelerator Implementations
===========================
|alpaka|Serial|std::thread|Boost.Fiber|OpenMP 2.0|OpenMP 4.0|CUDA 7.0|
|alpaka|Serial|std::thread|Boost.Fiber|OpenMP 2.0|OpenMP 4.0|CUDA 8.0|
|---|---|---|---|---|---|---|
|Devices|Host Core|Host Cores|Host Core|Host Cores|Host Cores|NVIDIA GPUs|
|Lib/API|n/a|std::thread|boost::fibers::fiber|OpenMP 2.0|OpenMP 4.0|CUDA 7.0|
|Lib/API|n/a|std::thread|boost::fibers::fiber|OpenMP 2.0|OpenMP 4.0|CUDA 8.0|
|Kernel execution|n/a|std::thread(kernel)|boost::fibers::fiber(kernel)|omp_set_dynamic(0), #pragma omp parallel num_threads(iNumKernelsInBlock)|#pragma omp target, #pragma omp teams num_teams(...) thread_limit(...), #pragma omp distribute, #pragma omp parallel num_threads(...)|cudaConfigureCall, cudaSetupArgument, cudaLaunch|
|Execution strategy grid-blocks|sequential|sequential|sequential|sequential|undefined|undefined|
|Execution strategy block-kernels|sequential|preemptive multitasking|cooperative multithreading|preemptive multitasking|preemptive multitasking|lock-step within warps|
@@ -97,12 +97,6 @@ auto main()
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)
// Run "Hello World" kernel with a lambda function
//
// Alpaka is able to execute lambda functions (anonymous functions) which
@@ -140,8 +134,6 @@ auto main()
alpaka::queue::enqueue(queue, helloWorldKernel);
#endif
#endif
// Run "Hello World" kernel with a std::function
//
@@ -93,7 +93,7 @@
//-----------------------------------------------------------------------------
// Boost disables variadic templates for nvcc (in some cases because it was buggy).
// However, we rely on it being enabled, as it was in all previous boost versions we support.
// However, we rely on it being enabled.
// After explicitly including <boost/config.hpp> we can safely undefine the wrong setting.
#if BOOST_COMP_NVCC
#include <boost/config.hpp>
@@ -55,12 +55,12 @@
#include <stdexcept>
#include <cstddef>
#if (!defined(CUDART_VERSION) || (CUDART_VERSION < 7000))
#error "CUDA version 7.0 or greater required!"
#if (!defined(CUDART_VERSION) || (CUDART_VERSION < 8000))
#error "CUDA version 8.0 or greater required!"
#endif
#if (!defined(CUDA_VERSION) || (CUDA_VERSION < 7000))
#error "CUDA version 7.0 or greater required!"
#if (!defined(CUDA_VERSION) || (CUDA_VERSION < 8000))
#error "CUDA version 8.0 or greater required!"
#endif
namespace alpaka
@@ -47,7 +47,7 @@
#include <algorithm>
// Some compilers do not support the out of class versions:
// - the nvcc CUDA compiler (at least 7.0, 7.5 and 8.0)
// - the nvcc CUDA compiler (at least 8.0)
// - the intel compiler
#if BOOST_COMP_NVCC || BOOST_COMP_INTEL || (BOOST_COMP_CLANG_CUDA >= BOOST_VERSION_NUMBER(4, 0, 0)) || (BOOST_COMP_GNUC >= BOOST_VERSION_NUMBER(8, 0, 0))
#define ALPAKA_CREATE_VEC_IN_CLASS
@@ -78,14 +78,7 @@ then
# nvcc 9.x supports gcc 6 but does not compile alpaka correctly
if [ "${CXX}" == "g++" ]
then
if (( ALPAKA_CUDA_VER_MAJOR < 8 ))
then
if (( ALPAKA_CI_GCC_VER_MAJOR > 4 ))
then
echo nvcc "${ALPAKA_CUDA_VER}" does not support gcc "${ALPAKA_CI_GCC_VER}"!
exit 1
fi
elif (( ALPAKA_CUDA_VER_MAJOR < 9 ))
if (( ALPAKA_CUDA_VER_MAJOR < 9 ))
then
if (( ALPAKA_CI_GCC_VER_MAJOR > 5 ))
then
@@ -105,28 +98,12 @@ then
fi
fi
# nvcc 7.0 does not support clang on linux.
# nvcc 7.5 does support clang 3.5-3.6 on linux.
# nvcc 7.5 for clang is buggy and does not compile alpaka correctly.
# nvcc 8.0 does support clang 3.8+ on linux. However it fails with errors (e.g. error: calling a __host__ function("__builtin_logl") from a __device__ function("std::log") is not allowed). clang 3.7 on the other hand works.
# nvcc 9.0 does support clang 3.9 on linux.
# nvcc 9.1 does support clang 4.0 on linux.
if [ "${CXX}" == "clang++" ]
then
if [ "${ALPAKA_CUDA_VER}" == "7.0" ]
then
echo nvcc ${ALPAKA_CUDA_VER} does not support clang on linux!
exit 1
elif [ "${ALPAKA_CUDA_VER}" == "7.5" ]
then
echo nvcc 7.5 clang support is too buggy for alpaka!
exit 1
if (( (( ALPAKA_CI_CLANG_VER_MAJOR != 3 )) || ( (( ALPAKA_CI_CLANG_VER_MINOR != 5 )) || (( ALPAKA_CI_CLANG_VER_MINOR != 6 )) ) ))
then
echo clang versions other than 3.5 or 3.6 are not a supported compiler for nvcc ${ALPAKA_CUDA_VER} on linux!
exit 1
fi
elif [ "${ALPAKA_CUDA_VER}" == "8.0" ]
if [ "${ALPAKA_CUDA_VER}" == "8.0" ]
then
if (( (( ALPAKA_CI_CLANG_VER_MAJOR < 3 )) || ( (( ALPAKA_CI_CLANG_VER_MAJOR == 3 )) && (( ALPAKA_CI_CLANG_VER_MINOR < 7 )) ) ))
then
Oops, something went wrong.

0 comments on commit 3ac8dc7

Please sign in to comment.