From 1dd3d8914e7d709f660a3ac56ca95bfc5a9f0546 Mon Sep 17 00:00:00 2001 From: Christopher Di Bella Date: Mon, 19 Feb 2018 13:59:02 +0000 Subject: [PATCH 1/5] Changed old (removed) host branch::get_access function calls to new, non-deprecated calls --- include/sycl/algorithm/count_if.hpp | 3 +-- include/sycl/algorithm/equal.hpp | 5 ++--- include/sycl/algorithm/mismatch.hpp | 5 ++--- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/include/sycl/algorithm/count_if.hpp b/include/sycl/algorithm/count_if.hpp index 9847c8f..e63c458 100644 --- a/include/sycl/algorithm/count_if.hpp +++ b/include/sycl/algorithm/count_if.hpp @@ -100,8 +100,7 @@ typename std::iterator_traits::difference_type count_if( passes++; } while (length > 1); q.wait_and_throw(); - auto hr = bufR.template get_access(); + auto hr = bufR.template get_access(); return hr[0]; } diff --git a/include/sycl/algorithm/equal.hpp b/include/sycl/algorithm/equal.hpp index 4b5038b..fe36eea 100644 --- a/include/sycl/algorithm/equal.hpp +++ b/include/sycl/algorithm/equal.hpp @@ -110,9 +110,8 @@ bool equal(ExecutionPolicy& exec, ForwardIt1 first1, ForwardIt1 last1, ++passes; } while (global_size > 1); q.wait_and_throw(); - auto hr = bufR.template get_access( - cl::sycl::id<1>{0}, cl::sycl::range<1>{1}); + auto hr = bufR.template get_access( + cl::sycl::range<1>{1}, cl::sycl::id<1>{0}); return hr[0]; } diff --git a/include/sycl/algorithm/mismatch.hpp b/include/sycl/algorithm/mismatch.hpp index d8e8e7b..908cb55 100644 --- a/include/sycl/algorithm/mismatch.hpp +++ b/include/sycl/algorithm/mismatch.hpp @@ -125,9 +125,8 @@ std::pair mismatch(ExecutionPolicy& exec, current_length = current_length / local; } while (current_length > 1); q.wait_and_throw(); - const auto hR = bufR.get_access( - cl::sycl::id<1>{0}, cl::sycl::range<1>{1}); + const auto hR = bufR.get_access( + cl::sycl::range<1>{1}, cl::sycl::id<1>{0}); const auto mismatch_id = hR[0]; return std::make_pair(first1 + mismatch_id, first2 + mismatch_id); From a72d960a839d3ccae6eaa8f85d1be8b4e5e59b9c Mon Sep 17 00:00:00 2001 From: Christopher Di Bella Date: Mon, 19 Feb 2018 14:33:59 +0000 Subject: [PATCH 2/5] Fixed further tests that weren't caught, as Google Test was not installed. Closes #65. --- include/sycl/algorithm/find.hpp | 3 +-- include/sycl/algorithm/inner_product.hpp | 3 +-- include/sycl/algorithm/reduce.hpp | 3 +-- include/sycl/algorithm/transform_reduce.hpp | 3 +-- tests/buffer_unique_ptr.cpp | 3 +-- tests/vector.cpp | 6 ++---- 6 files changed, 7 insertions(+), 14 deletions(-) diff --git a/include/sycl/algorithm/find.hpp b/include/sycl/algorithm/find.hpp index 254f508..8330d7a 100644 --- a/include/sycl/algorithm/find.hpp +++ b/include/sycl/algorithm/find.hpp @@ -127,8 +127,7 @@ InputIt find_impl(ExecutionPolicy &sep, InputIt b, InputIt e, q.wait_and_throw(); const auto hI = - t_buf.template get_access(); + t_buf.template get_access(); // there's probably a cleaner way to do this, but essentially once we have // the "search index", we need to increment the begin iterator until diff --git a/include/sycl/algorithm/inner_product.hpp b/include/sycl/algorithm/inner_product.hpp index 50746f8..e1e2baf 100644 --- a/include/sycl/algorithm/inner_product.hpp +++ b/include/sycl/algorithm/inner_product.hpp @@ -166,8 +166,7 @@ T inner_product(ExecutionPolicy &exec, InputIt1 first1, InputIt1 last1, length = length / local; } while (length > 1); // end do-while q.wait_and_throw(); - auto hb = bufr.template get_access(); + auto hb = bufr.template get_access(); return op1(value, hb[0]); } } diff --git a/include/sycl/algorithm/reduce.hpp b/include/sycl/algorithm/reduce.hpp index 16a70cc..3517581 100644 --- a/include/sycl/algorithm/reduce.hpp +++ b/include/sycl/algorithm/reduce.hpp @@ -96,8 +96,7 @@ typename std::iterator_traits::value_type reduce( length = length / local; } while (length > 1); q.wait_and_throw(); - auto hI = bufI.template get_access(); + auto hI = bufI.template get_access(); return bop(hI[0], init); } #else diff --git a/include/sycl/algorithm/transform_reduce.hpp b/include/sycl/algorithm/transform_reduce.hpp index 64d8c42..0b27f00 100644 --- a/include/sycl/algorithm/transform_reduce.hpp +++ b/include/sycl/algorithm/transform_reduce.hpp @@ -100,8 +100,7 @@ T transform_reduce(ExecutionPolicy& exec, InputIterator first, length = length / local; } while (length > 1); q.wait_and_throw(); - auto hR = bufR.template get_access(); + auto hR = bufR.template get_access(); return binary_op(hR[0], init); } diff --git a/tests/buffer_unique_ptr.cpp b/tests/buffer_unique_ptr.cpp index 9b156ff..59bda59 100644 --- a/tests/buffer_unique_ptr.cpp +++ b/tests/buffer_unique_ptr.cpp @@ -70,8 +70,7 @@ TEST_F(UniquePTRAlgorithm, TestSyclUniquePTR) { }); }); - auto result = b.get_access(); + auto result = b.get_access(); for (int i = 0; i != N; ++i) { EXPECT_TRUE(result[i] == 2 * 16 * 3.0f); } diff --git a/tests/vector.cpp b/tests/vector.cpp index 7f8ce8c..d6db91a 100644 --- a/tests/vector.cpp +++ b/tests/vector.cpp @@ -49,8 +49,7 @@ TEST_F(SyclHostIteratorTest, TestIteratorsOnHostAccessor) { { // A host vector is just a vector that contains a host_accessor // The data of the vector is the host accessor - auto hostAcc = sv.get_access(); + auto hostAcc = sv.get_access(); auto vI = v.begin(); int count = 0; @@ -78,8 +77,7 @@ TEST_F(SyclHostIteratorTest, TestUsingStlAlgorithm) { // cl::sycl::buffer sv(cl::sycl::range<1>(v.size())); cl::sycl::buffer sv(v.begin(), v.end()); - auto hostAcc = sv.get_access(); + auto hostAcc = sv.get_access(); std::transform(begin(hostAcc), end(hostAcc), begin(hostAcc), [=](float e) { return e * 2; }); From b1fbf478457ec5d22c70dcca475f2a033b13dc94 Mon Sep 17 00:00:00 2001 From: Christopher Di Bella Date: Mon, 19 Feb 2018 14:50:50 +0000 Subject: [PATCH 3/5] sycl_reduce was not tested locally, and was missed as a result. --- benchmarks/sycl_reduce.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/benchmarks/sycl_reduce.cpp b/benchmarks/sycl_reduce.cpp index 32b7812..723d675 100644 --- a/benchmarks/sycl_reduce.cpp +++ b/benchmarks/sycl_reduce.cpp @@ -99,8 +99,7 @@ benchmark<>::time_units_t benchmark_reduce(const unsigned numReps, } while (length > 1); q.wait_and_throw(); - auto hI = bufI.template get_access(); + auto hI = bufI.template get_access(); std::cout << "SYCL Result of Reduction is: " << hI[0] << std::endl; }; From 9441721dd058bba6bc243ab315f963e6370c02cd Mon Sep 17 00:00:00 2001 From: Christopher Di Bella Date: Tue, 20 Feb 2018 12:55:36 +0000 Subject: [PATCH 4/5] Added CMake support for the external project googletest --- tests/CMakeLists.txt | 73 ++++++------------- tests/CMakeLists.txt.in | 14 ++++ tests/pstl-tests/CMakeLists.txt | 21 ++++++ tests/{ => pstl-tests}/all_of.cpp | 0 tests/{ => pstl-tests}/any_of.cpp | 0 tests/{ => pstl-tests}/buffer_unique_ptr.cpp | 0 tests/{ => pstl-tests}/count.cpp | 0 tests/{ => pstl-tests}/count_if.cpp | 0 tests/{ => pstl-tests}/equal.cpp | 0 tests/{ => pstl-tests}/exclusive_scan.cpp | 0 tests/{ => pstl-tests}/fill.cpp | 0 tests/{ => pstl-tests}/fill_n.cpp | 0 tests/{ => pstl-tests}/find.cpp | 0 tests/{ => pstl-tests}/for_each.cpp | 0 tests/{ => pstl-tests}/for_each_n.cpp | 0 tests/{ => pstl-tests}/generate.cpp | 0 tests/{ => pstl-tests}/generate_n.cpp | 0 tests/{ => pstl-tests}/inclusive_scan.cpp | 0 tests/{ => pstl-tests}/inner_product.cpp | 0 .../invalid_vector_iterators.cpp | 0 tests/{ => pstl-tests}/mismatch.cpp | 0 tests/{ => pstl-tests}/none_of.cpp | 0 tests/{ => pstl-tests}/reduce.cpp | 0 tests/{ => pstl-tests}/replace.cpp | 0 tests/{ => pstl-tests}/replace_copy.cpp | 0 tests/{ => pstl-tests}/replace_copy_if.cpp | 0 tests/{ => pstl-tests}/replace_if.cpp | 0 tests/{ => pstl-tests}/reverse.cpp | 0 tests/{ => pstl-tests}/reverse_copy.cpp | 0 tests/{ => pstl-tests}/sort.cpp | 0 tests/{ => pstl-tests}/transform.cpp | 0 tests/{ => pstl-tests}/transform_reduce.cpp | 0 tests/{ => pstl-tests}/vector.cpp | 0 33 files changed, 56 insertions(+), 52 deletions(-) create mode 100644 tests/CMakeLists.txt.in create mode 100644 tests/pstl-tests/CMakeLists.txt rename tests/{ => pstl-tests}/all_of.cpp (100%) rename tests/{ => pstl-tests}/any_of.cpp (100%) rename tests/{ => pstl-tests}/buffer_unique_ptr.cpp (100%) rename tests/{ => pstl-tests}/count.cpp (100%) rename tests/{ => pstl-tests}/count_if.cpp (100%) rename tests/{ => pstl-tests}/equal.cpp (100%) rename tests/{ => pstl-tests}/exclusive_scan.cpp (100%) rename tests/{ => pstl-tests}/fill.cpp (100%) rename tests/{ => pstl-tests}/fill_n.cpp (100%) rename tests/{ => pstl-tests}/find.cpp (100%) rename tests/{ => pstl-tests}/for_each.cpp (100%) rename tests/{ => pstl-tests}/for_each_n.cpp (100%) rename tests/{ => pstl-tests}/generate.cpp (100%) rename tests/{ => pstl-tests}/generate_n.cpp (100%) rename tests/{ => pstl-tests}/inclusive_scan.cpp (100%) rename tests/{ => pstl-tests}/inner_product.cpp (100%) rename tests/{ => pstl-tests}/invalid_vector_iterators.cpp (100%) rename tests/{ => pstl-tests}/mismatch.cpp (100%) rename tests/{ => pstl-tests}/none_of.cpp (100%) rename tests/{ => pstl-tests}/reduce.cpp (100%) rename tests/{ => pstl-tests}/replace.cpp (100%) rename tests/{ => pstl-tests}/replace_copy.cpp (100%) rename tests/{ => pstl-tests}/replace_copy_if.cpp (100%) rename tests/{ => pstl-tests}/replace_if.cpp (100%) rename tests/{ => pstl-tests}/reverse.cpp (100%) rename tests/{ => pstl-tests}/reverse_copy.cpp (100%) rename tests/{ => pstl-tests}/sort.cpp (100%) rename tests/{ => pstl-tests}/transform.cpp (100%) rename tests/{ => pstl-tests}/transform_reduce.cpp (100%) rename tests/{ => pstl-tests}/vector.cpp (100%) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index de00e1a..0314a5f 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -1,52 +1,21 @@ -set(GMOCK_DIR "${CMAKE_SOURCE_DIR}/external/googletest/googlemock/") - -if (MSVC) - set(GMOCK_LIB_PATH ${GMOCK_DIR}/msvc/2010/x64/Debug/gmock.lib) - set(GMOCK_MAIN_LIB_PATH ${GMOCK_DIR}/msvc/2010/x64/Debug/gmock_main.lib) -else() - set(GMOCK_LIB_PATH ${GMOCK_DIR}/make/gmock_main.a) - set(GMOCK_MAIN_LIB_PATH ${GMOCK_DIR}/make/gmock_main.a) -endif() - -if (EXISTS ${GMOCK_LIB_PATH}) - message(STATUS " GoogleMock found in ${GMOCK_DIR} , building tests ") - include_directories(${GMOCK_DIR}/include) - include_directories(${GMOCK_DIR}/gtest/include) - include_directories(${GMOCK_DIR}/../googletest/include) - - file(GLOB SRC_FILES "*.cpp") - - if (SRC_FILES) - add_library(gmock STATIC IMPORTED) - add_library(gmock_main STATIC IMPORTED) - set_property(TARGET gmock PROPERTY IMPORTED_LOCATION ${GMOCK_LIB_PATH}) - set_property(TARGET gmock_main PROPERTY IMPORTED_LOCATION ${GMOCK_MAIN_LIB_PATH}) - - foreach(file ${SRC_FILES}) - get_filename_component(SOURCE_NAME ${file} NAME_WE) - set(TEST_NAME "test_${SOURCE_NAME}") - message(STATUS " Adding ${SOURCE_NAME} ") - - include_directories(${COMPUTECPP_INCLUDE_DIRECTORY}) - - add_executable(${TEST_NAME} - ${CMAKE_CURRENT_SOURCE_DIR}/${SOURCE_NAME}.cpp ) - target_compile_options(${TEST_NAME} PUBLIC ${HOST_COMPILER_OPTIONS}) - target_link_libraries(${TEST_NAME} PUBLIC ${GMOCK_LIB_PATH}) - target_link_libraries(${TEST_NAME} PUBLIC ${CMAKE_THREAD_LIBS_INIT}) - - add_sycl_to_target(${TEST_NAME} - ${CMAKE_CURRENT_BINARY_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/${SOURCE_NAME}.cpp) - - add_test(NAME ${TEST_NAME} COMMAND ${TEST_NAME}) - endforeach() - - else() - message(WARNING "No tests found") - endif() - -else() - message(WARNING " Tests are not enabled, GoogleMock not found ") - message(WARNING " Note that you need to build the gmock_main file in ${GMOCK_DIR}/make") -endif() +# Download and unpack googletest at configure time +configure_file(CMakeLists.txt.in +"${CMAKE_BINARY_DIR}/googletest-download/CMakeLists.txt") +execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" . +WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/googletest-download" ) +execute_process(COMMAND ${CMAKE_COMMAND} --build . +WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/googletest-download" ) + +# Prevent GoogleTest from overriding our compiler/linker options +# when building with Visual Studio +set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) + +# Add googletest directly to our build. This adds +# the following targets: gtest, gtest_main, gmock +# and gmock_main +add_subdirectory(${CMAKE_BINARY_DIR}/googletest-src + ${CMAKE_BINARY_DIR}/googletest-build) +include_directories(${gtest_SOURCE_DIR}/include) +include_directories(${gmock_SOURCE_DIR}/include) + +add_subdirectory(pstl-tests) diff --git a/tests/CMakeLists.txt.in b/tests/CMakeLists.txt.in new file mode 100644 index 0000000..8f0f70c --- /dev/null +++ b/tests/CMakeLists.txt.in @@ -0,0 +1,14 @@ +cmake_minimum_required(VERSION 3.2.2) +find_package(Threads) + +include(ExternalProject) +ExternalProject_Add(googletest + GIT_REPOSITORY https://github.com/google/googletest.git + GIT_TAG release-1.8.0 + SOURCE_DIR "${CMAKE_BINARY_DIR}/googletest-src" + BINARY_DIR "${CMAKE_BINARY_DIR}/googletest-build" + CONFIGURE_COMMAND "" + BUILD_COMMAND "" + INSTALL_COMMAND "" + TEST_COMMAND "" +) diff --git a/tests/pstl-tests/CMakeLists.txt b/tests/pstl-tests/CMakeLists.txt new file mode 100644 index 0000000..a02392f --- /dev/null +++ b/tests/pstl-tests/CMakeLists.txt @@ -0,0 +1,21 @@ +find_package(Threads) + +function(compile_test source) + set(test_name "pstl.${source}") + set(source "${source}.cpp") + add_executable(${test_name} ${source}) + target_link_libraries(${test_name} PUBLIC "${gtest_BINARY_DIR}/libgtest.a" + PUBLIC "${gtest_BINARY_DIR}/libgtest_main.a" + PUBLIC "${CMAKE_THREAD_LIBS_INIT}") + add_dependencies(${test_name} gtest_main) + add_dependencies(${test_name} gtest) + add_sycl_to_target(${test_name} ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/${source}) + add_test(test.${test_name} ${test_name}) +endfunction() + +file(GLOB files "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp") +foreach (file ${files}) + get_filename_component(file ${file} NAME_WE) + compile_test(${file}) +endforeach() diff --git a/tests/all_of.cpp b/tests/pstl-tests/all_of.cpp similarity index 100% rename from tests/all_of.cpp rename to tests/pstl-tests/all_of.cpp diff --git a/tests/any_of.cpp b/tests/pstl-tests/any_of.cpp similarity index 100% rename from tests/any_of.cpp rename to tests/pstl-tests/any_of.cpp diff --git a/tests/buffer_unique_ptr.cpp b/tests/pstl-tests/buffer_unique_ptr.cpp similarity index 100% rename from tests/buffer_unique_ptr.cpp rename to tests/pstl-tests/buffer_unique_ptr.cpp diff --git a/tests/count.cpp b/tests/pstl-tests/count.cpp similarity index 100% rename from tests/count.cpp rename to tests/pstl-tests/count.cpp diff --git a/tests/count_if.cpp b/tests/pstl-tests/count_if.cpp similarity index 100% rename from tests/count_if.cpp rename to tests/pstl-tests/count_if.cpp diff --git a/tests/equal.cpp b/tests/pstl-tests/equal.cpp similarity index 100% rename from tests/equal.cpp rename to tests/pstl-tests/equal.cpp diff --git a/tests/exclusive_scan.cpp b/tests/pstl-tests/exclusive_scan.cpp similarity index 100% rename from tests/exclusive_scan.cpp rename to tests/pstl-tests/exclusive_scan.cpp diff --git a/tests/fill.cpp b/tests/pstl-tests/fill.cpp similarity index 100% rename from tests/fill.cpp rename to tests/pstl-tests/fill.cpp diff --git a/tests/fill_n.cpp b/tests/pstl-tests/fill_n.cpp similarity index 100% rename from tests/fill_n.cpp rename to tests/pstl-tests/fill_n.cpp diff --git a/tests/find.cpp b/tests/pstl-tests/find.cpp similarity index 100% rename from tests/find.cpp rename to tests/pstl-tests/find.cpp diff --git a/tests/for_each.cpp b/tests/pstl-tests/for_each.cpp similarity index 100% rename from tests/for_each.cpp rename to tests/pstl-tests/for_each.cpp diff --git a/tests/for_each_n.cpp b/tests/pstl-tests/for_each_n.cpp similarity index 100% rename from tests/for_each_n.cpp rename to tests/pstl-tests/for_each_n.cpp diff --git a/tests/generate.cpp b/tests/pstl-tests/generate.cpp similarity index 100% rename from tests/generate.cpp rename to tests/pstl-tests/generate.cpp diff --git a/tests/generate_n.cpp b/tests/pstl-tests/generate_n.cpp similarity index 100% rename from tests/generate_n.cpp rename to tests/pstl-tests/generate_n.cpp diff --git a/tests/inclusive_scan.cpp b/tests/pstl-tests/inclusive_scan.cpp similarity index 100% rename from tests/inclusive_scan.cpp rename to tests/pstl-tests/inclusive_scan.cpp diff --git a/tests/inner_product.cpp b/tests/pstl-tests/inner_product.cpp similarity index 100% rename from tests/inner_product.cpp rename to tests/pstl-tests/inner_product.cpp diff --git a/tests/invalid_vector_iterators.cpp b/tests/pstl-tests/invalid_vector_iterators.cpp similarity index 100% rename from tests/invalid_vector_iterators.cpp rename to tests/pstl-tests/invalid_vector_iterators.cpp diff --git a/tests/mismatch.cpp b/tests/pstl-tests/mismatch.cpp similarity index 100% rename from tests/mismatch.cpp rename to tests/pstl-tests/mismatch.cpp diff --git a/tests/none_of.cpp b/tests/pstl-tests/none_of.cpp similarity index 100% rename from tests/none_of.cpp rename to tests/pstl-tests/none_of.cpp diff --git a/tests/reduce.cpp b/tests/pstl-tests/reduce.cpp similarity index 100% rename from tests/reduce.cpp rename to tests/pstl-tests/reduce.cpp diff --git a/tests/replace.cpp b/tests/pstl-tests/replace.cpp similarity index 100% rename from tests/replace.cpp rename to tests/pstl-tests/replace.cpp diff --git a/tests/replace_copy.cpp b/tests/pstl-tests/replace_copy.cpp similarity index 100% rename from tests/replace_copy.cpp rename to tests/pstl-tests/replace_copy.cpp diff --git a/tests/replace_copy_if.cpp b/tests/pstl-tests/replace_copy_if.cpp similarity index 100% rename from tests/replace_copy_if.cpp rename to tests/pstl-tests/replace_copy_if.cpp diff --git a/tests/replace_if.cpp b/tests/pstl-tests/replace_if.cpp similarity index 100% rename from tests/replace_if.cpp rename to tests/pstl-tests/replace_if.cpp diff --git a/tests/reverse.cpp b/tests/pstl-tests/reverse.cpp similarity index 100% rename from tests/reverse.cpp rename to tests/pstl-tests/reverse.cpp diff --git a/tests/reverse_copy.cpp b/tests/pstl-tests/reverse_copy.cpp similarity index 100% rename from tests/reverse_copy.cpp rename to tests/pstl-tests/reverse_copy.cpp diff --git a/tests/sort.cpp b/tests/pstl-tests/sort.cpp similarity index 100% rename from tests/sort.cpp rename to tests/pstl-tests/sort.cpp diff --git a/tests/transform.cpp b/tests/pstl-tests/transform.cpp similarity index 100% rename from tests/transform.cpp rename to tests/pstl-tests/transform.cpp diff --git a/tests/transform_reduce.cpp b/tests/pstl-tests/transform_reduce.cpp similarity index 100% rename from tests/transform_reduce.cpp rename to tests/pstl-tests/transform_reduce.cpp diff --git a/tests/vector.cpp b/tests/pstl-tests/vector.cpp similarity index 100% rename from tests/vector.cpp rename to tests/pstl-tests/vector.cpp From ecb0ebd40e2247dd03068a4cc14271bbdb2b353e Mon Sep 17 00:00:00 2001 From: Christopher Di Bella Date: Tue, 13 Mar 2018 16:48:30 +0000 Subject: [PATCH 5/5] Disabled triSYCL for GCC 6 until https://github.com/triSYCL/triSYCL/issues/142 is resolved --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 000f7a9..f6cf185 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,7 +8,7 @@ services: - docker env: - - IMPL=triSYCL CXX_COMPILER=g++-6 CC_COMPILER=gcc-6 TARGET=host + # - IMPL=triSYCL CXX_COMPILER=g++-6 CC_COMPILER=gcc-6 TARGET=host - IMPL=triSYCL CXX_COMPILER=clang++-4.0 CC_COMPILER=clang-4.0 TARGET=host - IMPL=COMPUTECPP CXX_COMPILER=g++-6 CC_COMPILER=gcc-6 TARGET=host - IMPL=COMPUTECPP CXX_COMPILER=clang++-4.0 CC_COMPILER=clang-4.0 TARGET=host