diff --git a/.jenkins/common/set_github_status.sh b/.jenkins/common/set_github_status.sh deleted file mode 100755 index 2acf001..0000000 --- a/.jenkins/common/set_github_status.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash -l - -# Copyright (c) 2020 ETH Zurich -# -# SPDX-License-Identifier: BSL-1.0 -# Distributed under the Boost Software License, Version 1.0. (See accompanying -# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -set -eux - -github_token=${1} -commit_repo=${2} -commit_sha=${3} -commit_status=${4} -configuration_name=${5} -build_id=${6} -context=${7} - -curl --verbose \ - --request POST \ - --url "https://api.github.com/repos/${commit_repo}/statuses/${commit_sha}" \ - --header 'Content-Type: application/json' \ - --header "authorization: Bearer ${github_token}" \ - --data "{ \"state\": \"${commit_status}\", \"target_url\": \"https://cdash.cscs.ch/build/${build_id}\", \"description\": \"Jenkins\", \"context\": \"${context}/${configuration_name}\" }" diff --git a/.jenkins/cscs/Jenkinsfile b/.jenkins/cscs/Jenkinsfile deleted file mode 100644 index 31b4836..0000000 --- a/.jenkins/cscs/Jenkinsfile +++ /dev/null @@ -1,84 +0,0 @@ -#!groovy - -// Copyright (c) 2020-2022 ETH Zurich -// -// SPDX-License-Identifier: BSL-1.0 -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -pipeline { - agent { - node { - label 'ssl_daintvm1' - } - } - options { - buildDiscarder( - logRotator( - daysToKeepStr: "14", - numToKeepStr: "50", - artifactDaysToKeepStr: "14", - artifactNumToKeepStr: "50" - ) - ) - } - environment { - SPACK_ROOT = '/apps/daint/SSL/HPX/spack' - GITHUB_TOKEN = credentials('STELLARBOT_GITHUB_TOKEN') - } - stages { - stage('checkout') { - steps { - dir('hpx-kokkos') { - checkout scm - echo "Running ${env.BUILD_ID} on ${env.JENKINS_URL}" - } - } - } - stage('build') { - matrix { - axes { - axis { - name 'configuration_name' - values 'gcc-cuda', 'clang-cuda' - } - axis { - name 'build_type' - values 'Release', 'Debug' - } - axis { - name 'hpx_version' - values 'v1.9.0' - } - axis { - name 'kokkos_version' - values 'develop' - } - axis { - name 'future_type' - values 'event', 'callback' - } - } - stages { - stage('build') { - steps { - dir('hpx-kokkos') { - sh ''' - #!/bin/bash -l - .jenkins/cscs/entry.sh - ''' - } - } - } - } - } - } - } - - post { - always { - archiveArtifacts artifacts: 'hpx-kokkos/jenkins-hpx-kokkos-*', fingerprint: true - archiveArtifacts artifacts: 'hpx-kokkos/*-Testing/**', fingerprint: true - } - } -} diff --git a/.jenkins/cscs/batch.sh b/.jenkins/cscs/batch.sh deleted file mode 100755 index 756e3f3..0000000 --- a/.jenkins/cscs/batch.sh +++ /dev/null @@ -1,90 +0,0 @@ -#!/bin/bash -l - -# Copyright (c) 2020 ETH Zurich -# -# SPDX-License-Identifier: BSL-1.0 -# Distributed under the Boost Software License, Version 1.0. (See accompanying -# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -set -eux - -orig_src_dir="$(pwd)" -src_dir="/dev/shm/hpx-kokkos/src" -build_dir="/dev/shm/hpx-kokkos/build" - -# Copy source directory to /dev/shm for faster builds -mkdir -p "${build_dir}" -cp -r "${orig_src_dir}" "${src_dir}" - -source ${src_dir}/.jenkins/cscs/env-common.sh -source ${src_dir}/.jenkins/cscs/env-${configuration_name}.sh - -# TODO: Use spack finally? -# Install HPX -git clone \ - --branch ${hpx_version} \ - --single-branch \ - --depth 1 \ - https://github.com/STEllAR-GROUP/hpx.git /dev/shm/hpx/src -cmake \ - -S /dev/shm/hpx/src \ - -B /dev/shm/hpx/build \ - -DCMAKE_INSTALL_PREFIX=/dev/shm/hpx/install \ - ${hpx_configure_extra_options} -cmake --build /dev/shm/hpx/build -cmake --install /dev/shm/hpx/build - -# Install Kokkos -git clone \ - --branch ${kokkos_version} \ - --single-branch \ - --depth 1 \ - https://github.com/kokkos/kokkos.git /dev/shm/kokkos/src -cmake \ - -S /dev/shm/kokkos/src \ - -B /dev/shm/kokkos/build \ - -DCMAKE_INSTALL_PREFIX=/dev/shm/kokkos/install \ - -DHPX_DIR=/dev/shm/hpx/install/lib64/cmake/HPX \ - ${kokkos_configure_extra_options} -cmake --build /dev/shm/kokkos/build -cmake --install /dev/shm/kokkos/build - -set +e -ctest \ - --verbose \ - -S ${src_dir}/.jenkins/cscs/ctest.cmake \ - -DCTEST_CONFIGURE_EXTRA_OPTIONS="${configure_extra_options} -DHPX_DIR=/dev/shm/hpx/install/lib64/cmake/HPX -DKokkos_DIR=/dev/shm/kokkos/install/lib64/cmake/Kokkos" \ - -DCTEST_BUILD_CONFIGURATION_NAME="${configuration_name_with_options}" \ - -DCTEST_SOURCE_DIRECTORY="${src_dir}" \ - -DCTEST_BINARY_DIRECTORY="${build_dir}" -set -e - -# Copy the testing directory for saving as an artifact -cp -r ${build_dir}/Testing ${orig_src_dir}/${configuration_name_with_options}-Testing - -# Things went wrong by default -ctest_exit_code=$? -file_errors=1 -configure_errors=1 -build_errors=1 -test_errors=1 -if [[ -f ${build_dir}/Testing/TAG ]]; then - file_errors=0 - tag="$(head -n 1 ${build_dir}/Testing/TAG)" - - if [[ -f "${build_dir}/Testing/${tag}/Configure.xml" ]]; then - configure_errors=$(grep '' "${build_dir}/Testing/${tag}/Configure.xml" | wc -l) - fi - - if [[ -f "${build_dir}/Testing/${tag}/Build.xml" ]]; then - build_errors=$(grep '' "${build_dir}/Testing/${tag}/Build.xml" | wc -l) - fi - - if [[ -f "${build_dir}/Testing/${tag}/Test.xml" ]]; then - test_errors=$(grep '' "${build_dir}/Testing/${tag}/Test.xml" | wc -l) - fi -fi -ctest_status=$(( ctest_exit_code + file_errors + configure_errors + build_errors + test_errors )) - -echo "${ctest_status}" > "jenkins-hpx-kokkos-${configuration_name_with_options}-ctest-status.txt" -exit $ctest_status diff --git a/.jenkins/cscs/boost_user_config_cray_clang.hpp b/.jenkins/cscs/boost_user_config_cray_clang.hpp deleted file mode 100644 index 7fca845..0000000 --- a/.jenkins/cscs/boost_user_config_cray_clang.hpp +++ /dev/null @@ -1,417 +0,0 @@ -// (C) Copyright Boost.org 2001. -// Do not check in modified versions of this file, -// This file may be customised by the end user, but not by boost. - -// hpx-no-inspect - -// This file is used for compiling with the Cray clang compiler in CUDA mode. -// It's a concatenation of the nvcc and clang compiler configuration headers, -// with the exception that BOOST_HAS_FLOAT128 has been unconditionally -// disabled. It will hopefully not be necessary once either the Cray clang -// compiler or Boost gets a fix to their detection code. - -// NVIDIA CUDA C++ compiler setup - -#if defined __CUDACC__ -#ifndef BOOST_COMPILER -# define BOOST_COMPILER "NVIDIA CUDA C++ Compiler" -#endif - -#if defined(__CUDACC_VER_MAJOR__) && defined(__CUDACC_VER_MINOR__) && defined(__CUDACC_VER_BUILD__) -# define BOOST_CUDA_VERSION (__CUDACC_VER_MAJOR__ * 1000000 + __CUDACC_VER_MINOR__ * 10000 + __CUDACC_VER_BUILD__) -#else -// We don't really know what the CUDA version is, but it's definitely before 7.5: -# define BOOST_CUDA_VERSION 7000000 -#endif - -// NVIDIA Specific support -// BOOST_GPU_ENABLED : Flag a function or a method as being enabled on the host and device -#define BOOST_GPU_ENABLED __host__ __device__ - -// A bug in version 7.0 of CUDA prevents use of variadic templates in some occasions -// https://svn.boost.org/trac/boost/ticket/11897 -// This is fixed in 7.5. As the following version macro was introduced in 7.5 -// an existence check is enough to detect versions < 7.5 -#if BOOST_CUDA_VERSION < 7050000 -# define BOOST_NO_CXX11_VARIADIC_TEMPLATES -#endif -// The same bug is back again in 8.0: -#if (BOOST_CUDA_VERSION > 8000000) && (BOOST_CUDA_VERSION < 8010000) -# define BOOST_NO_CXX11_VARIADIC_TEMPLATES -#endif -// CUDA (8.0) has no constexpr support in msvc mode: -#if defined(_MSC_VER) && (BOOST_CUDA_VERSION < 9000000) -# define BOOST_NO_CXX11_CONSTEXPR -#endif - -#ifdef __CUDACC__ -// -// When compiing .cu files, there's a bunch of stuff that doesn't work with msvc: -// -#if defined(_MSC_VER) -# define BOOST_NO_CXX14_DIGIT_SEPARATORS -# define BOOST_NO_CXX11_UNICODE_LITERALS -#endif -// -// And this one effects the NVCC front end, -// See https://svn.boost.org/trac/boost/ticket/13049 -// -#if (BOOST_CUDA_VERSION >= 8000000) && (BOOST_CUDA_VERSION < 8010000) -# define BOOST_NO_CXX11_NOEXCEPT -#endif - -#endif -#endif - -// Clang compiler setup - -// define this to disable all config options, -// excluding the user config. Use if your -// setup is fully ISO compliant, and has no -// useful extensions, or for autoconf generated -// setups: -#ifndef BOOST_NO_CONFIG -# define BOOST_NO_CONFIG -#endif - -#define BOOST_HAS_PRAGMA_ONCE - -// Detecting `-fms-extension` compiler flag assuming that _MSC_VER defined when that flag is used. -#if defined (_MSC_VER) && (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 4)) -# define BOOST_HAS_PRAGMA_DETECT_MISMATCH -#endif - -// When compiling with clang before __has_extension was defined, -// even if one writes 'defined(__has_extension) && __has_extension(xxx)', -// clang reports a compiler error. So the only workaround found is: - -#ifndef __has_extension -#define __has_extension __has_feature -#endif - -#ifndef __has_attribute -#define __has_attribute(x) 0 -#endif - -#ifndef __has_cpp_attribute -#define __has_cpp_attribute(x) 0 -#endif - -#if !__has_feature(cxx_exceptions) && !defined(BOOST_NO_EXCEPTIONS) -# define BOOST_NO_EXCEPTIONS -#endif - -#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_RTTI) -# define BOOST_NO_RTTI -#endif - -#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_TYPEID) -# define BOOST_NO_TYPEID -#endif - -#if !__has_feature(cxx_thread_local) -# define BOOST_NO_CXX11_THREAD_LOCAL -#endif - -#ifdef __is_identifier -#if !__is_identifier(__int64) && !defined(__GNUC__) -# define BOOST_HAS_MS_INT64 -#endif -#endif - -#if __has_include() -# define BOOST_HAS_STDINT_H -#endif - -// See note at top of file and in .jenkins/cscs/env-clang-cuda.sh. -//#if (defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__)) && !defined(_CRAYC) -//#if (__clang_major__ >= 4) && defined(__has_include) -//#if __has_include() -//# define BOOST_HAS_FLOAT128 -//#endif -//#endif -//#endif - -#define BOOST_HAS_NRVO - -// Branch prediction hints -#if !defined (__c2__) && defined(__has_builtin) -#if __has_builtin(__builtin_expect) -#define BOOST_LIKELY(x) __builtin_expect(x, 1) -#define BOOST_UNLIKELY(x) __builtin_expect(x, 0) -#endif -#endif - -// Clang supports "long long" in all compilation modes. -#define BOOST_HAS_LONG_LONG - -// -// We disable this if the compiler is really nvcc with C++03 as it -// doesn't actually support __int128 as of CUDA_VERSION=7500 -// even though it defines __SIZEOF_INT128__. -// See https://svn.boost.org/trac/boost/ticket/10418 -// https://svn.boost.org/trac/boost/ticket/11852 -// Only re-enable this for nvcc if you're absolutely sure -// of the circumstances under which it's supported. -// Similarly __SIZEOF_INT128__ is defined when targeting msvc -// compatibility even though the required support functions are absent. -// -#if defined(__CUDACC__) -# if defined(BOOST_GCC_CXX11) -# define BOOST_NVCC_CXX11 -# else -# define BOOST_NVCC_CXX03 -# endif -#endif - -#if defined(__SIZEOF_INT128__) && !defined(BOOST_NVCC_CXX03) && !defined(_MSC_VER) -# define BOOST_HAS_INT128 -#endif - - -// -// Dynamic shared object (DSO) and dynamic-link library (DLL) support -// -#if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__CYGWIN__) -# define BOOST_HAS_DECLSPEC -# define BOOST_SYMBOL_EXPORT __attribute__((__dllexport__)) -# define BOOST_SYMBOL_IMPORT __attribute__((__dllimport__)) -#else -# define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default"))) -# define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default"))) -# define BOOST_SYMBOL_IMPORT -#endif - -// -// The BOOST_FALLTHROUGH macro can be used to annotate implicit fall-through -// between switch labels. -// -#if __cplusplus >= 201103L && defined(__has_warning) -# if __has_feature(cxx_attributes) && __has_warning("-Wimplicit-fallthrough") -# define BOOST_FALLTHROUGH [[clang::fallthrough]] -# endif -#endif - -#if !__has_feature(cxx_auto_type) -# define BOOST_NO_CXX11_AUTO_DECLARATIONS -# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS -#endif - -// -// Currently clang on Windows using VC++ RTL does not support C++11's char16_t or char32_t -// -#if (defined(_MSC_VER) && (_MSC_VER < 1900)) || !(defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L) -# define BOOST_NO_CXX11_CHAR16_T -# define BOOST_NO_CXX11_CHAR32_T -#endif - -#if defined(_MSC_VER) && (_MSC_VER >= 1800) && !defined(__GNUC__) -#define BOOST_HAS_EXPM1 -#define BOOST_HAS_LOG1P -#endif - -#if !__has_feature(cxx_constexpr) -# define BOOST_NO_CXX11_CONSTEXPR -#endif - -#if !__has_feature(cxx_decltype) -# define BOOST_NO_CXX11_DECLTYPE -#endif - -#if !__has_feature(cxx_decltype_incomplete_return_types) -# define BOOST_NO_CXX11_DECLTYPE_N3276 -#endif - -#if !__has_feature(cxx_defaulted_functions) -# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS -#endif - -#if !__has_feature(cxx_deleted_functions) -# define BOOST_NO_CXX11_DELETED_FUNCTIONS -#endif - -#if !__has_feature(cxx_explicit_conversions) -# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS -#endif - -#if !__has_feature(cxx_default_function_template_args) -# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS -#endif - -#if !__has_feature(cxx_generalized_initializers) -# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -#endif - -#if !__has_feature(cxx_lambdas) -# define BOOST_NO_CXX11_LAMBDAS -#endif - -#if !__has_feature(cxx_local_type_template_args) -# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS -#endif - -#if !__has_feature(cxx_noexcept) -# define BOOST_NO_CXX11_NOEXCEPT -#endif - -#if !__has_feature(cxx_nullptr) -# define BOOST_NO_CXX11_NULLPTR -#endif - -#if !__has_feature(cxx_range_for) -# define BOOST_NO_CXX11_RANGE_BASED_FOR -#endif - -#if !__has_feature(cxx_raw_string_literals) -# define BOOST_NO_CXX11_RAW_LITERALS -#endif - -#if !__has_feature(cxx_reference_qualified_functions) -# define BOOST_NO_CXX11_REF_QUALIFIERS -#endif - -#if !__has_feature(cxx_generalized_initializers) -# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX -#endif - -#if !__has_feature(cxx_rvalue_references) -# define BOOST_NO_CXX11_RVALUE_REFERENCES -#endif - -#if !__has_feature(cxx_strong_enums) -# define BOOST_NO_CXX11_SCOPED_ENUMS -#endif - -#if !__has_feature(cxx_static_assert) -# define BOOST_NO_CXX11_STATIC_ASSERT -#endif - -#if !__has_feature(cxx_alias_templates) -# define BOOST_NO_CXX11_TEMPLATE_ALIASES -#endif - -#if !__has_feature(cxx_unicode_literals) -# define BOOST_NO_CXX11_UNICODE_LITERALS -#endif - -#if !__has_feature(cxx_variadic_templates) -# define BOOST_NO_CXX11_VARIADIC_TEMPLATES -#endif - -#if !__has_feature(cxx_user_literals) -# define BOOST_NO_CXX11_USER_DEFINED_LITERALS -#endif - -#if !__has_feature(cxx_alignas) -# define BOOST_NO_CXX11_ALIGNAS -#endif - -#if !__has_feature(cxx_trailing_return) -# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES -#endif - -#if !__has_feature(cxx_inline_namespaces) -# define BOOST_NO_CXX11_INLINE_NAMESPACES -#endif - -#if !__has_feature(cxx_override_control) -# define BOOST_NO_CXX11_FINAL -#endif - -#if !__has_feature(cxx_unrestricted_unions) -# define BOOST_NO_CXX11_UNRESTRICTED_UNION -#endif - -#if !(__has_feature(__cxx_binary_literals__) || __has_extension(__cxx_binary_literals__)) -# define BOOST_NO_CXX14_BINARY_LITERALS -#endif - -#if !__has_feature(__cxx_decltype_auto__) -# define BOOST_NO_CXX14_DECLTYPE_AUTO -#endif - -#if !__has_feature(__cxx_aggregate_nsdmi__) -# define BOOST_NO_CXX14_AGGREGATE_NSDMI -#endif - -#if !__has_feature(__cxx_init_captures__) -# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES -#endif - -#if !__has_feature(__cxx_generic_lambdas__) -# define BOOST_NO_CXX14_GENERIC_LAMBDAS -#endif - -// clang < 3.5 has a defect with dependent type, like following. -// -// template -// constexpr typename enable_if >::type foo(T &) -// { } // error: no return statement in constexpr function -// -// This issue also affects C++11 mode, but C++11 constexpr requires return stmt. -// Therefore we don't care such case. -// -// Note that we can't check Clang version directly as the numbering system changes depending who's -// creating the Clang release (see https://github.com/boostorg/config/pull/39#issuecomment-59927873) -// so instead verify that we have a feature that was introduced at the same time as working C++14 -// constexpr (generic lambda's in this case): -// -#if !__has_feature(__cxx_generic_lambdas__) || !__has_feature(__cxx_relaxed_constexpr__) -# define BOOST_NO_CXX14_CONSTEXPR -#endif - -#if !__has_feature(__cxx_return_type_deduction__) -# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION -#endif - -#if !__has_feature(__cxx_variable_templates__) -# define BOOST_NO_CXX14_VARIABLE_TEMPLATES -#endif - -#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) -# define BOOST_NO_CXX17_STRUCTURED_BINDINGS -#endif - -#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) -# define BOOST_NO_CXX17_IF_CONSTEXPR -#endif - -// Clang 3.9+ in c++1z -#if !__has_cpp_attribute(fallthrough) || __cplusplus < 201406L -# define BOOST_NO_CXX17_INLINE_VARIABLES -# define BOOST_NO_CXX17_FOLD_EXPRESSIONS -#endif - -#if __cplusplus < 201103L -#define BOOST_NO_CXX11_SFINAE_EXPR -#endif - -#if __cplusplus < 201400 -// All versions with __cplusplus above this value seem to support this: -# define BOOST_NO_CXX14_DIGIT_SEPARATORS -#endif -// -// __builtin_unreachable: -#if defined(__has_builtin) && __has_builtin(__builtin_unreachable) -#define BOOST_UNREACHABLE_RETURN(x) __builtin_unreachable(); -#endif - -#if (__clang_major__ == 3) && (__clang_minor__ == 0) -// Apparently a clang bug: -# define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS -#endif - -// Clang has supported the 'unused' attribute since the first release. -#define BOOST_ATTRIBUTE_UNUSED __attribute__((__unused__)) - -// Type aliasing hint. -#if __has_attribute(__may_alias__) -# define BOOST_MAY_ALIAS __attribute__((__may_alias__)) -#endif - -#ifndef BOOST_COMPILER -# define BOOST_COMPILER "Clang version " __clang_version__ -#endif - -// Macro used to identify the Clang compiler. -#define BOOST_CLANG 1 diff --git a/.jenkins/cscs/ctest.cmake b/.jenkins/cscs/ctest.cmake deleted file mode 100644 index 6135e96..0000000 --- a/.jenkins/cscs/ctest.cmake +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright (c) 2020 ETH Zurich -# Copyright (c) 2017 John Biddiscombe -# -# SPDX-License-Identifier: BSL-1.0 -# Distributed under the Boost Software License, Version 1.0. (See accompanying -# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -cmake_minimum_required(VERSION 3.1 FATAL_ERROR) - -set(CTEST_PROJECT_NAME "HPXKokkos") -set(CTEST_SUBMIT_URL "https://cdash.cscs.ch/submit.php?project=${CTEST_PROJECT_NAME}") -set(CTEST_TEST_TIMEOUT 300) -set(CTEST_BUILD_PARALLELISM 20) -set(CTEST_TEST_PARALLELISM 1) -set(CTEST_CMAKE_GENERATOR Ninja) -set(CTEST_SITE "cscs(daint)") -set(CTEST_UPDATE_COMMAND "git") -set(CTEST_UPDATE_VERSION_ONLY "ON") -set(CTEST_SUBMIT_RETRY_COUNT 5) -set(CTEST_SUBMIT_RETRY_DELAY 60) - -if(NOT "$ENV{ghprbPullId}" STREQUAL "") - set(CTEST_BUILD_NAME "$ENV{ghprbPullId}-${CTEST_BUILD_CONFIGURATION_NAME}") - set(CTEST_TRACK "Pull_Requests") -else() - set(CTEST_BUILD_NAME - "$ENV{git_local_branch}-${CTEST_BUILD_CONFIGURATION_NAME}" - ) - set(CTEST_TRACK "$ENV{git_local_branch}") -endif() - -set(CTEST_CONFIGURE_COMMAND "${CMAKE_COMMAND} ${CTEST_SOURCE_DIRECTORY}") -set(CTEST_CONFIGURE_COMMAND - "${CTEST_CONFIGURE_COMMAND} -G${CTEST_CMAKE_GENERATOR}" -) -set(CTEST_CONFIGURE_COMMAND - "${CTEST_CONFIGURE_COMMAND} -B${CTEST_BINARY_DIRECTORY}" -) -set(CTEST_CONFIGURE_COMMAND - "${CTEST_CONFIGURE_COMMAND} ${CTEST_CONFIGURE_EXTRA_OPTIONS}" -) - -ctest_start(Experimental TRACK "${CTEST_TRACK}") -ctest_update() -ctest_submit(PARTS Update) -ctest_configure() -ctest_submit(PARTS Configure) -ctest_build(TARGET tests FLAGS "-k0 -j ${CTEST_BUILD_PARALLELISM}") -ctest_submit(PARTS Build) -ctest_test(PARALLEL_LEVEL "${CTEST_TEST_PARALLELISM}") -ctest_submit(PARTS Test BUILD_ID CTEST_BUILD_ID) -file(WRITE "jenkins-hpx-kokkos-${CTEST_BUILD_CONFIGURATION_NAME}-cdash-build-id.txt" - "${CTEST_BUILD_ID}" -) diff --git a/.jenkins/cscs/entry.sh b/.jenkins/cscs/entry.sh deleted file mode 100755 index 8b7b021..0000000 --- a/.jenkins/cscs/entry.sh +++ /dev/null @@ -1,83 +0,0 @@ -#!/bin/bash -l - -# Copyright (c) 2020 ETH Zurich -# -# SPDX-License-Identifier: BSL-1.0 -# Distributed under the Boost Software License, Version 1.0. (See accompanying -# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -# Make undefined variables errors, print each command -set -eux - -project_name=hpx-kokkos - -# Clean up old artifacts -rm -f ./jenkins-${project_name}* ./*-Testing - -export configuration_name_with_options="${configuration_name}-${build_type,,}-hpx-${hpx_version}-kokkos-${kokkos_version}-future-type-${future_type}" - -source .jenkins/cscs/slurm-constraint-${configuration_name}.sh - -if [[ -z "${ghprbPullId:-}" ]]; then - # Set name of branch if not building a pull request - export git_local_branch=$(echo ${GIT_BRANCH} | cut -f2 -d'/') - job_name="jenkins-${project_name}-${git_local_branch}-${configuration_name_with_options}" -else - job_name="jenkins-${project_name}-${ghprbPullId}-${configuration_name_with_options}" - - # Cancel currently running builds on the same branch, but only for pull - # requests - scancel --account="djenkssl" --jobname="${job_name}" -fi - -# Start the actual build -set +e -sbatch \ - --job-name="${job_name}" \ - --nodes="1" \ - --constraint="${configuration_slurm_constraint}" \ - --partition="cscsci" \ - --account="djenkssl" \ - --time="00:30:00" \ - --output="jenkins-${project_name}-${configuration_name_with_options}.out" \ - --error="jenkins-${project_name}-${configuration_name_with_options}.err" \ - --wait .jenkins/cscs/batch.sh - -# Print slurm logs -echo "= stdout ==================================================" -cat jenkins-${project_name}-${configuration_name_with_options}.out - -echo "= stderr ==================================================" -cat jenkins-${project_name}-${configuration_name_with_options}.err - -# Get build status -status_file="jenkins-${project_name}-${configuration_name_with_options}-ctest-status.txt" -if [[ -f "${status_file}" && "$(cat ${status_file})" -eq "0" ]]; then - github_commit_status="success" -else - github_commit_status="failure" -fi - -if [[ -n "${ghprbPullId:-}" ]]; then - # Extract just the organization and repo names "org/repo" from the full URL - github_commit_repo="$(echo $ghprbPullLink | sed -n 's/https:\/\/github.com\/\(.*\)\/pull\/[0-9]*/\1/p')" - - # Get the CDash dashboard build id - cdash_build_id="$(cat jenkins-${project_name}-${configuration_name_with_options}-cdash-build-id.txt)" - - # Extract actual token from GITHUB_TOKEN (in the form "username:token") - github_token=$(echo ${GITHUB_TOKEN} | cut -f2 -d':') - - # Set GitHub status with CDash url - .jenkins/common/set_github_status.sh \ - "${github_token}" \ - "${github_commit_repo}" \ - "${ghprbActualCommit}" \ - "${github_commit_status}" \ - "${configuration_name_with_options}" \ - "${cdash_build_id}" \ - "jenkins/cscs" -fi - -set -e -exit $(cat ${status_file}) diff --git a/.jenkins/cscs/env-clang-cuda.sh b/.jenkins/cscs/env-clang-cuda.sh deleted file mode 100644 index 4a49b49..0000000 --- a/.jenkins/cscs/env-clang-cuda.sh +++ /dev/null @@ -1,57 +0,0 @@ -# Copyright (c) 2020-2022 ETH Zurich -# -# SPDX-License-Identifier: BSL-1.0 -# Distributed under the Boost Software License, Version 1.0. (See accompanying -# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -export CRAYPE_LINK_TYPE=dynamic -export APPS_ROOT="/apps/daint/SSL/HPX/packages" -export CXX_STD="17" -export HWLOC_ROOT="${APPS_ROOT}/hwloc-2.0.3-gcc-8.3.0" -export BOOST_ROOT="${APPS_ROOT}/boost-1.75.0-gcc-10.1.0-c++17-debug/" - -module load daint-gpu -module load cudatoolkit/11.0.2_3.38-8.1__g5b73779 -module load CMake -spack load ninja@1.10.0 - -export CXX=`which CC` -export CC=`which cc` - -configure_extra_options="-DCMAKE_BUILD_TYPE=${build_type}" -configure_extra_options+=" -DHPX_KOKKOS_ENABLE_TESTS=ON" -configure_extra_options+=" -DHPX_KOKKOS_CUDA_FUTURE_TYPE=${future_type}" -configure_extra_options+=" -DKokkos_LAUNCH_COMPILER=OFF" - -hpx_configure_extra_options="-DCMAKE_BUILD_TYPE=Debug" -hpx_configure_extra_options+=" -DHPX_WITH_EXAMPLES=OFF" -hpx_configure_extra_options+=" -DHPX_WITH_UNITY_BUILD=ON" -hpx_configure_extra_options+=" -DHPX_WITH_MALLOC=system" -hpx_configure_extra_options+=" -DHPX_WITH_NETWORKING=OFF" -hpx_configure_extra_options+=" -DHPX_WITH_DISTRIBUTED_RUNTIME=OFF" -hpx_configure_extra_options+=" -DHPX_WITH_FETCH_ASIO=ON" -hpx_configure_extra_options+=" -DHPX_WITH_CXX${CXX_STD}=ON" -hpx_configure_extra_options+=" -DHPX_WITH_CUDA=ON" -hpx_configure_extra_options+=" -DCMAKE_CUDA_COMPILER=$(which $CXX)" -hpx_configure_extra_options+=" -DCMAKE_CUDA_ARCHITECTURES=60" - -kokkos_configure_extra_options="-DCMAKE_BUILD_TYPE=${build_type}" -kokkos_configure_extra_options+=" -DCMAKE_CXX_STANDARD=${CXX_STD}" -kokkos_configure_extra_options+=" -DKokkos_ENABLE_LAUNCH_COMPILER=OFF" -kokkos_configure_extra_options+=" -DKokkos_ENABLE_SERIAL=OFF" -kokkos_configure_extra_options+=" -DKokkos_ENABLE_HPX=ON" -kokkos_configure_extra_options+=" -DKokkos_ENABLE_CUDA=ON" -kokkos_configure_extra_options+=" -DKokkos_ENABLE_CUDA_LAMBDA=ON" -kokkos_configure_extra_options+=" -DKokkos_ENABLE_CUDA_CONSTEXPR=ON" -kokkos_configure_extra_options+=" -DKokkos_ARCH_HSW=ON" -kokkos_configure_extra_options+=" -DKokkos_ARCH_PASCAL60=ON" - -# This is a workaround for a bug in the Cray clang compiler and/or Boost. When -# compiling in device mode, Boost detects that float128 is available, but -# compilation later fails with an error message saying float128 is not -# available for the target. -# -# This sets a custom Boost user configuration, which is a concatenation of the -# clang and nvcc compiler configurations, with the exception that -# BOOST_HAS_FLOAT128 is unconditionally disabled. -export CXXFLAGS="-I/dev/shm/hpx/src/.jenkins/cscs/ -DBOOST_USER_CONFIG=''" diff --git a/.jenkins/cscs/env-common.sh b/.jenkins/cscs/env-common.sh deleted file mode 100644 index 9834e31..0000000 --- a/.jenkins/cscs/env-common.sh +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright (c) 2021 ETH Zurich -# -# SPDX-License-Identifier: BSL-1.0 -# Distributed under the Boost Software License, Version 1.0. (See accompanying -# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -source $SPACK_ROOT/share/spack/setup-env.sh - -spack load ccache@3.7.9 -spack load cmake@3.18.6 -spack load ninja@1.10.0 - -export CMAKE_CXX_COMPILER_LAUNCHER=ccache -export CMAKE_GENERATOR=Ninja -export CCACHE_DIR=/scratch/snx3000/simbergm/ccache-jenkins-hpx -export CCACHE_MAXSIZE=100G -export CCACHE_MAXFILES=50000 diff --git a/.jenkins/cscs/env-gcc-cuda.sh b/.jenkins/cscs/env-gcc-cuda.sh deleted file mode 100644 index c678e35..0000000 --- a/.jenkins/cscs/env-gcc-cuda.sh +++ /dev/null @@ -1,47 +0,0 @@ -# Copyright (c) 2020-2022 ETH Zurich -# -# SPDX-License-Identifier: BSL-1.0 -# Distributed under the Boost Software License, Version 1.0. (See accompanying -# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -export CRAYPE_LINK_TYPE=dynamic -export CXX_STD="17" - -module load daint-gpu -module switch PrgEnv-cray PrgEnv-gnu -module switch gcc gcc/9.3.0 -module load cudatoolkit/21.5_11.3 -module load Boost/1.78.0-CrayGNU-21.09 -module load hwloc/2.4.1 -module load CMake -spack load ninja@1.10.0 - -export CXX=`which CC` -export CC=`which cc` - -configure_extra_options="-DCMAKE_BUILD_TYPE=${build_type}" -configure_extra_options+=" -DCMAKE_CXX_COMPILER=/dev/shm/kokkos/install/bin/nvcc_wrapper" -configure_extra_options+=" -DHPX_KOKKOS_ENABLE_TESTS=ON" -configure_extra_options+=" -DHPX_KOKKOS_CUDA_FUTURE_TYPE=${future_type}" - -hpx_configure_extra_options="-DCMAKE_BUILD_TYPE=${build_type}" -hpx_configure_extra_options+=" -DHPX_WITH_EXAMPLES=OFF" -hpx_configure_extra_options+=" -DHPX_WITH_UNITY_BUILD=ON" -hpx_configure_extra_options+=" -DHPX_WITH_MALLOC=system" -hpx_configure_extra_options+=" -DHPX_WITH_NETWORKING=OFF" -hpx_configure_extra_options+=" -DHPX_WITH_DISTRIBUTED_RUNTIME=OFF" -hpx_configure_extra_options+=" -DHPX_WITH_FETCH_ASIO=ON" -hpx_configure_extra_options+=" -DHPX_WITH_CXX${CXX_STD}=ON" -hpx_configure_extra_options+=" -DHPX_WITH_CUDA=ON" -hpx_configure_extra_options+=" -DHWLOC_ROOT=${EBROOTHWLOC}" - -kokkos_configure_extra_options="-DCMAKE_BUILD_TYPE=${build_type}" -kokkos_configure_extra_options+=" -DCMAKE_CXX_COMPILER=/dev/shm/kokkos/src/bin/nvcc_wrapper" -kokkos_configure_extra_options+=" -DCMAKE_CXX_STANDARD=${CXX_STD}" -kokkos_configure_extra_options+=" -DKokkos_ENABLE_SERIAL=OFF" -kokkos_configure_extra_options+=" -DKokkos_ENABLE_HPX=ON" -kokkos_configure_extra_options+=" -DKokkos_ENABLE_CUDA=ON" -kokkos_configure_extra_options+=" -DKokkos_ENABLE_CUDA_LAMBDA=ON" -kokkos_configure_extra_options+=" -DKokkos_ENABLE_CUDA_CONSTEXPR=ON" -kokkos_configure_extra_options+=" -DKokkos_ARCH_HSW=ON" -kokkos_configure_extra_options+=" -DKokkos_ARCH_PASCAL60=ON" diff --git a/.jenkins/cscs/slurm-constraint-clang-cuda.sh b/.jenkins/cscs/slurm-constraint-clang-cuda.sh deleted file mode 100644 index 87293c7..0000000 --- a/.jenkins/cscs/slurm-constraint-clang-cuda.sh +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright (c) 2020 ETH Zurich -# -# SPDX-License-Identifier: BSL-1.0 -# Distributed under the Boost Software License, Version 1.0. (See accompanying -# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -configuration_slurm_constraint="gpu" diff --git a/.jenkins/cscs/slurm-constraint-gcc-cuda.sh b/.jenkins/cscs/slurm-constraint-gcc-cuda.sh deleted file mode 100644 index 87293c7..0000000 --- a/.jenkins/cscs/slurm-constraint-gcc-cuda.sh +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright (c) 2020 ETH Zurich -# -# SPDX-License-Identifier: BSL-1.0 -# Distributed under the Boost Software License, Version 1.0. (See accompanying -# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -configuration_slurm_constraint="gpu"