diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index fa22ca7a66..16743d3bc9 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -25,7 +25,7 @@ If applicable, add screenshots to help explain your problem. **Platform (please complete the following information):** - Supercomputer or desktop [e.g., Trinity, Sierra) - - Compiler environment [e.g., clang-4.0, gcc8] + - Compiler environment [e.g., clang-4.0, gcc9] - Libraries [e.g., mpich-2, openmpi) - Commit ID or release of VT [e.g., vt-1.0.0] diff --git a/README.md b/README.md index cccfb09dfa..8b9d932832 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,6 @@ [![codecov](https://codecov.io/gh/DARMA-tasking/vt/branch/develop/graph/badge.svg)](https://codecov.io/gh/DARMA-tasking/vt) [![License](https://img.shields.io/badge/License-BSD%203--Clause-orange.svg)](https://opensource.org/licenses/BSD-3-Clause) ![](https://github.com/DARMA-tasking/vt/workflows/Docker%20Image%20CI/badge.svg) -[![gcc-8, ubuntu, mpich, address sanitizer](https://dev.azure.com/DARMA-tasking/DARMA/_apis/build/status/PR%20tests%20(gcc-8%2C%20ubuntu%2C%20mpich%2C%20address%20sanitizer)?branchName=develop&Label=(gcc-8%2C%20ubuntu%2C%20mpich%2C%20address%20sanitizer))](https://dev.azure.com/DARMA-tasking/DARMA/_build/latest?definitionId=9&branchName=develop) [![gcc-9, ubuntu, mpich, zoltan](https://dev.azure.com/DARMA-tasking/DARMA/_apis/build/status/PR%20tests%20(gcc-9%2C%20ubuntu%2C%20mpich%2C%20zoltan)?branchName=develop&Label=(gcc-9%2C%20ubuntu%2C%20mpich%2C%20zoltan))](https://dev.azure.com/DARMA-tasking/DARMA/_build/latest?definitionId=10&branchName=develop) [![gcc-10, ubuntu, openmpi, no LB](https://dev.azure.com/DARMA-tasking/DARMA/_apis/build/status/PR%20tests%20(gcc-10%2C%20ubuntu%2C%20openmpi%2C%20no%20LB)?branchName=develop&Label=(gcc-10%2C%20ubuntu%2C%20openmpi%2C%20no%20LB))](https://dev.azure.com/DARMA-tasking/DARMA/_build/latest?definitionId=4&branchName=develop) [![gcc-11, ubuntu, mpich](https://dev.azure.com/DARMA-tasking/DARMA/_apis/build/status/PR%20tests%20(gcc-11%2C%20ubuntu%2C%20mpich)?branchName=develop&Label=(gcc-11%2C%20ubuntu%2C%20mpich%2C%20trace%20runtime%2C%20coverage))](https://dev.azure.com/DARMA-tasking/DARMA/_build/latest?definitionId=29&branchName=develop) diff --git a/ci/azure/azure-clang-16-ubuntu-mpich.yml b/ci/azure/azure-clang-16-ubuntu-mpich.yml index 0e13229cdc..9fb0c8a723 100644 --- a/ci/azure/azure-clang-16-ubuntu-mpich.yml +++ b/ci/azure/azure-clang-16-ubuntu-mpich.yml @@ -2,7 +2,7 @@ ############## Warning this is a generated file---do not modify ############### ############################################################################### -name: PR tests (clang-16, ubuntu, mpich) +name: PR tests (clang-16, ubuntu, mpich, json schema test) trigger: branches: @@ -58,7 +58,7 @@ variables: VT_KOKKOS_ENABLED: 0 VT_TV_ENABLED: 0 CMAKE_CXX_STANDARD: 17 - VT_CI_TEST_LB_SCHEMA: 0 + VT_CI_TEST_LB_SCHEMA: 1 RUN_FULL_CI: true CACHE: "$(Agent.TempDirectory)/cache/" cache_name: ubuntu-clang-16-cache diff --git a/ci/azure/azure-gcc-8-ubuntu-mpich.yml b/ci/azure/azure-gcc-13-ubuntu-mpich.yml similarity index 98% rename from ci/azure/azure-gcc-8-ubuntu-mpich.yml rename to ci/azure/azure-gcc-13-ubuntu-mpich.yml index 0780609881..dbd42a39be 100644 --- a/ci/azure/azure-gcc-8-ubuntu-mpich.yml +++ b/ci/azure/azure-gcc-13-ubuntu-mpich.yml @@ -2,7 +2,7 @@ ############## Warning this is a generated file---do not modify ############### ############################################################################### -name: PR tests (gcc-8, ubuntu, mpich, address sanitizer) +name: PR tests (gcc-13, ubuntu, mpich, address sanitizer) trigger: branches: @@ -25,10 +25,10 @@ variables: tag: '$(Build.BuildId)' REPO: lifflander1/vt ARCH: amd64 - UBUNTU: 18.04 + UBUNTU: 24.04 COMPILER_TYPE: gnu - COMPILER: gcc-8 - HOST_COMPILER: gcc-8 + COMPILER: gcc-13 + HOST_COMPILER: gcc-13 BUILD_TYPE: release ULIMIT_CORE: 0 VT_CODE_COVERAGE: 0 @@ -61,7 +61,7 @@ variables: VT_CI_TEST_LB_SCHEMA: 0 RUN_FULL_CI: true CACHE: "$(Agent.TempDirectory)/cache/" - cache_name: ubuntu-gcc-8-cache + cache_name: ubuntu-gcc-13-cache volume_name: ubuntu-cpp build_root: "$(CACHE)$(ARCH)-ubuntu-$(UBUNTU)-$(HOST_COMPILER)-$(COMPILER)-cache/" TS: 0 diff --git a/ci/azure/azure-gcc-9-ubuntu-mpich.yml b/ci/azure/azure-gcc-9-ubuntu-mpich.yml index 50ace94dbd..9552abaa2b 100644 --- a/ci/azure/azure-gcc-9-ubuntu-mpich.yml +++ b/ci/azure/azure-gcc-9-ubuntu-mpich.yml @@ -2,7 +2,7 @@ ############## Warning this is a generated file---do not modify ############### ############################################################################### -name: PR tests (gcc-9, ubuntu, mpich, zoltan, json schema test) +name: PR tests (gcc-9, ubuntu, mpich, zoltan) trigger: branches: @@ -58,7 +58,7 @@ variables: VT_KOKKOS_ENABLED: 0 VT_TV_ENABLED: 0 CMAKE_CXX_STANDARD: 17 - VT_CI_TEST_LB_SCHEMA: 1 + VT_CI_TEST_LB_SCHEMA: 0 RUN_FULL_CI: true CACHE: "$(Agent.TempDirectory)/cache/" cache_name: ubuntu-gcc-9-cache diff --git a/ci/docker/ubuntu-gnu-cpp.dockerfile b/ci/docker/ubuntu-gnu-cpp.dockerfile index af31b8f87c..76e933df00 100644 --- a/ci/docker/ubuntu-gnu-cpp.dockerfile +++ b/ci/docker/ubuntu-gnu-cpp.dockerfile @@ -38,7 +38,10 @@ RUN apt-get update -y -q && \ mesa-common-dev \ brotli \ python3 \ + python3-schema \ + python3-deepdiff \ python3-brotli \ + python3-numpy \ python3-pip && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* @@ -91,9 +94,6 @@ RUN apt-get update -y -q && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* -RUN pip3 install --upgrade pip \ - && pip3 install schema deepdiff - FROM base as build COPY . /vt diff --git a/ci/docker/ubuntu-gnu-docs.dockerfile b/ci/docker/ubuntu-gnu-docs.dockerfile index 07edbaba6a..1a393d7f9c 100644 --- a/ci/docker/ubuntu-gnu-docs.dockerfile +++ b/ci/docker/ubuntu-gnu-docs.dockerfile @@ -3,7 +3,7 @@ ARG ubuntu=22.04 FROM ${arch}/ubuntu:${ubuntu} as base ARG proxy="" -ARG compiler=gcc-8 +ARG compiler=gcc-9 ARG token ENV https_proxy=${proxy} \ diff --git a/cmake/link_vt.cmake b/cmake/link_vt.cmake index 52128a747f..cc3c9ad340 100644 --- a/cmake/link_vt.cmake +++ b/cmake/link_vt.cmake @@ -255,11 +255,4 @@ function(link_target_with_vt) if (vt_ubsan_enabled) target_link_libraries(${ARG_TARGET} PUBLIC ${ARG_BUILD_TYPE} -fsanitize=undefined) endif() - - # Enable additional flag for GCC-8 to link std::filesystem - if (${CMAKE_CXX_COMPILER_ID} MATCHES "GNU") - if (NOT (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 9)) - target_link_libraries(${ARG_TARGET} PUBLIC ${ARG_BUILD_TYPE} -lstdc++fs) - endif () - endif () endfunction() diff --git a/docker-compose.yml b/docker-compose.yml index b4916434ae..c00e1aed43 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -10,7 +10,7 @@ # Variables: # ARCH={amd64, arm64v8, ...} # COMPILER_TYPE={gnu, clang, intel, nvidia} -# COMPILER={gcc-8, gcc-9, gcc-10, +# COMPILER={gcc-9, gcc-10, # clang-8, clang-9, clang-10, # icpc, icpx, # nvcc-11, nvcc-11.2} @@ -55,11 +55,11 @@ # $ docker compose run ubuntu-cpp-interactive # # /vt/ci/build_cpp.sh /vt /build # -# For a non-interactive build with gcc-8, since gnu is the default compiler +# For a non-interactive build with gcc-9, since gnu is the default compiler # type, one may do the following: # -# $ COMPILER=gcc-8 docker compose pull ubuntu-cpp -# $ COMPILER=gcc-8 docker compose run ubuntu-cpp +# $ COMPILER=gcc-9 docker compose pull ubuntu-cpp +# $ COMPILER=gcc-9 docker compose run ubuntu-cpp # # Volume will be created automatically for each combination of parameters. diff --git a/docs/md/building.md b/docs/md/building.md index e86466d0e3..8add1b9429 100644 --- a/docs/md/building.md +++ b/docs/md/building.md @@ -139,7 +139,7 @@ which `docker compose` will read. # Variables: # ARCH={amd64, arm64v8, ...} # COMPILER_TYPE={gnu, clang, intel, nvidia} -# COMPILER={gcc-8, gcc-9, gcc-10, +# COMPILER={gcc-9, gcc-10, # clang-8, clang-9, clang-10, # icpc, icpx, # nvcc-11, nvcc-11.2} diff --git a/scripts/check_containers.sh b/scripts/check_containers.sh index 2cf7da8f76..57b3200385 100755 --- a/scripts/check_containers.sh +++ b/scripts/check_containers.sh @@ -11,7 +11,7 @@ diff_latest() { # Decide which docker compose command to use: if diff_latest | grep -i dockerfile > /dev/null then - echo "build --pull" + echo "build --no-cache --pull" else echo "pull --ignore-pull-failures" fi diff --git a/scripts/workflows-azure.ini b/scripts/workflows-azure.ini index 7905116fb5..382448cc39 100644 --- a/scripts/workflows-azure.ini +++ b/scripts/workflows-azure.ini @@ -99,24 +99,11 @@ vt_pool = 0 vt_tests_num_nodes = 4 vt_external_fmt = 1 -[PR-tests-gcc-8] -test_configuration = "gcc-8, ubuntu, mpich, address sanitizer" -compiler_type = gnu -compiler = gcc-8 -distro = 18.04 -vt_trace = 1 -vt_pool = 0 -vt_asan = 1 -vt_unity_build = 0 -output_name = ci/azure/azure-gcc-8-ubuntu-mpich.yml -lsan_options = suppressions=/vt/tests/lsan.supp - [PR-tests-gcc-9] -test_configuration = "gcc-9, ubuntu, mpich, zoltan, json schema test" +test_configuration = "gcc-9, ubuntu, mpich, zoltan" compiler_type = gnu compiler = gcc-9 output_name = ci/azure/azure-gcc-9-ubuntu-mpich.yml -vt_ci_test_lb_schema = 1 vt_zoltan = 1 [PR-tests-gcc-10] @@ -150,6 +137,18 @@ pr_pattern = "pr:\\n drafts: true\\n autoCancel: true\\n branches:\\n incl vt_debug_verbose = 1 vt_kokkos_enabled = 1 +[PR-tests-gcc-13] +test_configuration = "gcc-13, ubuntu, mpich, address sanitizer" +compiler_type = gnu +compiler = gcc-13 +distro = 24.04 +vt_trace = 1 +vt_pool = 0 +vt_asan = 1 +vt_unity_build = 0 +output_name = ci/azure/azure-gcc-13-ubuntu-mpich.yml +lsan_options = suppressions=/vt/tests/lsan.supp + [PR-tests-clang-13-alpine] test_configuration = "clang-13, alpine, mpich" compiler_type = clang @@ -212,11 +211,12 @@ vt_trace = 1 vt_debug_verbose = 1 [PR-tests-clang-16] -test_configuration = "clang-16, ubuntu, mpich" +test_configuration = "clang-16, ubuntu, mpich, json schema test" compiler_type = clang compiler = clang-16 distro = 24.04 output_name = ci/azure/azure-clang-16-ubuntu-mpich.yml +vt_ci_test_lb_schema = 1 vt_trace = 1 [PR-tests-gcc-10-spack-package] diff --git a/src/vt/collective/reduce/scoping/strong_types.h b/src/vt/collective/reduce/scoping/strong_types.h index 0953f1683a..a5b21116f9 100644 --- a/src/vt/collective/reduce/scoping/strong_types.h +++ b/src/vt/collective/reduce/scoping/strong_types.h @@ -101,7 +101,12 @@ struct TagPair { } TagType first() const { return t1_; } +#pragma GCC diagnostic push // ignore gcc-13 false positive +#ifndef __clang__ // clang does not recognize "-Wmaybe-uninitialized" +#pragma GCC diagnostic ignored "-Wmaybe-uninitialized" +#endif TagType second() const { return t2_; } +#pragma GCC diagnostic pop private: TagType t1_ = no_tag; diff --git a/src/vt/runnable/runnable.h b/src/vt/runnable/runnable.h index b8228b2edf..ac37d8b2c5 100644 --- a/src/vt/runnable/runnable.h +++ b/src/vt/runnable/runnable.h @@ -45,7 +45,6 @@ #define INCLUDED_VT_RUNNABLE_RUNNABLE_H #include "vt/messaging/message/smart_ptr.h" -#include "vt/configs/debug/debug_var_unused.h" #include "vt/context/runnable_context/td.h" #include "vt/context/runnable_context/trace.h" #include "vt/context/runnable_context/set_context.h" @@ -121,13 +120,11 @@ struct RunnableNew { * * \param[in] in_is_threaded whether the handler can be run with a thread */ - explicit RunnableNew(bool in_is_threaded) + explicit RunnableNew([[maybe_unused]] bool in_is_threaded) #if vt_check_enabled(fcontext) : is_threaded_(in_is_threaded) #endif - { - vt_force_use(in_is_threaded); // FIXME gcc-8 errors out on [[maybe_unused]] - } + { } RunnableNew(RunnableNew&&) = default; RunnableNew(RunnableNew const&) = delete; diff --git a/tests/perf/collection_local_send.cc b/tests/perf/collection_local_send.cc index 713f4d12e5..dae368209a 100644 --- a/tests/perf/collection_local_send.cc +++ b/tests/perf/collection_local_send.cc @@ -112,12 +112,9 @@ struct NodeObj { private: std::vector> msgs; - HandlerType han; MyTest* test_obj_ = nullptr; vt::objgroup::proxy::Proxy proxy_ = {}; vt::CollectionProxy col_proxy; - int reduce_counter_ = -1; - int i = 0; bool preallocate_ = false; }; diff --git a/tests/perf/make_runnable_micro.cc b/tests/perf/make_runnable_micro.cc index 551b1a10c5..3571dc1f49 100644 --- a/tests/perf/make_runnable_micro.cc +++ b/tests/perf/make_runnable_micro.cc @@ -102,8 +102,6 @@ struct NodeObj { HandlerType han; MyTest* test_obj_ = nullptr; vt::objgroup::proxy::Proxy proxy_ = {}; - int reduce_counter_ = -1; - int i = 0; }; VT_PERF_TEST(MyTest, test_make_runnable_micro) { diff --git a/tests/perf/objgroup_local_send.cc b/tests/perf/objgroup_local_send.cc index 27d484bc8f..21daf48867 100644 --- a/tests/perf/objgroup_local_send.cc +++ b/tests/perf/objgroup_local_send.cc @@ -101,12 +101,9 @@ struct NodeObj { private: std::vector> msgs; - HandlerType han; MyTest* test_obj_ = nullptr; vt::objgroup::proxy::Proxy proxy_ = {}; vt::objgroup::proxy::Proxy obj_proxy; - int reduce_counter_ = -1; - int i = 0; }; VT_PERF_TEST(MyTest, test_objgroup_local_send) { diff --git a/tests/perf/ping_pong_am.cc b/tests/perf/ping_pong_am.cc index 9330529ece..a47e6a0d95 100644 --- a/tests/perf/ping_pong_am.cc +++ b/tests/perf/ping_pong_am.cc @@ -96,8 +96,6 @@ struct NodeObj { private: MyTest* test_obj_ = nullptr; vt::objgroup::proxy::Proxy proxy_ = {}; - int reduce_counter_ = -1; - int i = 0; }; void handlerFinished(MyMsg* msg) { diff --git a/tests/perf/send_cost.cc b/tests/perf/send_cost.cc index 34692eaaa8..3156d1a057 100644 --- a/tests/perf/send_cost.cc +++ b/tests/perf/send_cost.cc @@ -76,7 +76,6 @@ struct SendTest : PerfTestHarness { VT_PERF_TEST(SendTest, test_send) { auto const thisNode = vt::theContext()->getNode(); - auto const lastNode = theContext()->getNumNodes() - 1; auto const prevNode = (thisNode - 1 + num_nodes_) % num_nodes_; auto const nextNode = (thisNode + 1) % num_nodes_; @@ -164,9 +163,6 @@ VT_PERF_TEST(SendTest, test_objgroup_send) { grp_proxy[my_node_].invoke<&NodeObj::initialize>(); auto const thisNode = vt::theContext()->getNode(); - auto const lastNode = theContext()->getNumNodes() - 1; - - auto const prevNode = (thisNode - 1 + num_nodes_) % num_nodes_; auto const nextNode = (thisNode + 1) % num_nodes_; for (auto size : payloadSizes) {