Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#2286: Remove gcc-8 support #2360

Open
wants to merge 13 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -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]

Expand Down
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
4 changes: 2 additions & 2 deletions ci/azure/azure-clang-16-ubuntu-mpich.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -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
Expand Down Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions ci/azure/azure-gcc-9-ubuntu-mpich.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -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
Expand Down
6 changes: 3 additions & 3 deletions ci/docker/ubuntu-gnu-cpp.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -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/*
Expand Down Expand Up @@ -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

Expand Down
2 changes: 1 addition & 1 deletion ci/docker/ubuntu-gnu-docs.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -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} \
Expand Down
7 changes: 0 additions & 7 deletions cmake/link_vt.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -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()
8 changes: 4 additions & 4 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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}
Expand Down Expand Up @@ -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.
Expand Down
2 changes: 1 addition & 1 deletion docs/md/building.md
Original file line number Diff line number Diff line change
Expand Up @@ -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}
Expand Down
2 changes: 1 addition & 1 deletion scripts/check_containers.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
30 changes: 15 additions & 15 deletions scripts/workflows-azure.ini
Original file line number Diff line number Diff line change
Expand Up @@ -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]
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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]
Expand Down
5 changes: 5 additions & 0 deletions src/vt/collective/reduce/scoping/strong_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
7 changes: 2 additions & 5 deletions src/vt/runnable/runnable.h
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -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;
Expand Down
3 changes: 0 additions & 3 deletions tests/perf/collection_local_send.cc
Original file line number Diff line number Diff line change
Expand Up @@ -112,12 +112,9 @@ struct NodeObj {

private:
std::vector<MsgSharedPtr<TestCol::ColMsg>> msgs;
HandlerType han;
MyTest* test_obj_ = nullptr;
vt::objgroup::proxy::Proxy<NodeObj> proxy_ = {};
vt::CollectionProxy<TestCol> col_proxy;
int reduce_counter_ = -1;
int i = 0;
bool preallocate_ = false;
};

Expand Down
2 changes: 0 additions & 2 deletions tests/perf/make_runnable_micro.cc
Original file line number Diff line number Diff line change
Expand Up @@ -102,8 +102,6 @@ struct NodeObj {
HandlerType han;
MyTest* test_obj_ = nullptr;
vt::objgroup::proxy::Proxy<NodeObj> proxy_ = {};
int reduce_counter_ = -1;
int i = 0;
};

VT_PERF_TEST(MyTest, test_make_runnable_micro) {
Expand Down
3 changes: 0 additions & 3 deletions tests/perf/objgroup_local_send.cc
Original file line number Diff line number Diff line change
Expand Up @@ -101,12 +101,9 @@ struct NodeObj {

private:
std::vector<MsgSharedPtr<MyMsg>> msgs;
HandlerType han;
MyTest* test_obj_ = nullptr;
vt::objgroup::proxy::Proxy<NodeObj> proxy_ = {};
vt::objgroup::proxy::Proxy<TestObj> obj_proxy;
int reduce_counter_ = -1;
int i = 0;
};

VT_PERF_TEST(MyTest, test_objgroup_local_send) {
Expand Down
2 changes: 0 additions & 2 deletions tests/perf/ping_pong_am.cc
Original file line number Diff line number Diff line change
Expand Up @@ -96,8 +96,6 @@ struct NodeObj {
private:
MyTest* test_obj_ = nullptr;
vt::objgroup::proxy::Proxy<NodeObj> proxy_ = {};
int reduce_counter_ = -1;
int i = 0;
};

void handlerFinished(MyMsg* msg) {
Expand Down
4 changes: 0 additions & 4 deletions tests/perf/send_cost.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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_;
Expand Down Expand Up @@ -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) {
Expand Down
Loading