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

Enable GCC GitLab CI #2102

Merged
merged 1 commit into from
Aug 31, 2023
Merged
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
9 changes: 3 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -151,15 +151,12 @@ jobs:
# g++
# We can not enable UBSan when using gcc because it does not have a -fsanitize-blacklist option to suppress errors in boost etc.
# gcc 7 ASan introduced 'stack-use-after-scope' which is triggered by GOMP_parallel
# TODO: keep jobs until GitLab CI supports:
# - disable CMAKE_CXX_EXTENSIONS=OFF
# - Ubuntu 22.04
- name: linux_gcc-9_debug
os: ubuntu-20.04
env: {CXX: g++, CC: gcc, ALPAKA_CI_GCC_VER: 9, ALPAKA_CI_STDLIB: libstdc++, CMAKE_BUILD_TYPE: Debug, ALPAKA_BOOST_VERSION: 1.74.0, ALPAKA_CI_CMAKE_VER: 3.22.6, OMP_NUM_THREADS: 4, ALPAKA_CI_DOCKER_BASE_IMAGE_NAME: "ubuntu:20.04", CMAKE_CXX_EXTENSIONS: OFF}
- name: linux_gcc-10_release
os: ubuntu-20.04
env: {CXX: g++, CC: gcc, ALPAKA_CI_GCC_VER: 10, ALPAKA_CI_STDLIB: libstdc++, CMAKE_BUILD_TYPE: Release, ALPAKA_BOOST_VERSION: 1.75.0, ALPAKA_CI_CMAKE_VER: 3.23.5, OMP_NUM_THREADS: 2, ALPAKA_CI_DOCKER_BASE_IMAGE_NAME: "ubuntu:20.04"}
- name: linux_gcc-11_debug
os: ubuntu-20.04
env: {CXX: g++, CC: gcc, ALPAKA_CI_GCC_VER: 11, ALPAKA_CI_STDLIB: libstdc++, CMAKE_BUILD_TYPE: Debug, ALPAKA_BOOST_VERSION: 1.78.0, ALPAKA_CI_CMAKE_VER: 3.22.6, OMP_NUM_THREADS: 2, ALPAKA_CI_DOCKER_BASE_IMAGE_NAME: "ubuntu:20.04"}
- name: linux_gcc-12_release_c++20
os: ubuntu-22.04
env: {CXX: g++, CC: gcc, ALPAKA_CI_GCC_VER: 12, ALPAKA_CI_STDLIB: libstdc++, CMAKE_BUILD_TYPE: Release, ALPAKA_BOOST_VERSION: 1.80.0, ALPAKA_CI_CMAKE_VER: 3.24.4, OMP_NUM_THREADS: 2, ALPAKA_CI_DOCKER_BASE_IMAGE_NAME: "ubuntu:22.04", alpaka_CXX_STANDARD: 20, alpaka_USE_MDSPAN: "FETCH"}
Expand Down
14 changes: 14 additions & 0 deletions script/job_generator/generate_job_yaml.py
Original file line number Diff line number Diff line change
Expand Up @@ -300,13 +300,27 @@ def job_variables(job: Dict[str, Tuple[str, str]]) -> Dict[str, str]:
variables[ALPAKA_ACC_GPU_HIP_ENABLE] = "OFF"
variables["alpaka_ACC_GPU_HIP_ONLY_MODE"] = "OFF"
variables[ALPAKA_ACC_SYCL_ENABLE] = "OFF"
# TODO(SimeonEhrig): set libstdc++ for all backends
# support for different standard c++ libraries is planed
# https://github.com/alpaka-group/alpaka-job-matrix-library/issues/9
variables["ALPAKA_CI_STDLIB"] = "libstdc++"
if job[MDSPAN][VERSION] == ON_VER:
variables["ALPAKA_TEST_MDSPAN"] = "ON"
else:
variables["ALPAKA_TEST_MDSPAN"] = "OFF"

append_backend_variables(variables, job)

if job[DEVICE_COMPILER][NAME] == GCC:
variables["CC"] = "gcc"
variables["CXX"] = "g++"
variables["ALPAKA_CI_GCC_VER"] = job[HOST_COMPILER][VERSION]
if (
ALPAKA_ACC_CPU_B_TBB_T_SEQ_ENABLE in job
and job[ALPAKA_ACC_CPU_B_TBB_T_SEQ_ENABLE][VERSION] == ON_VER
):
variables["ALPAKA_CI_TBB_VERSION"] = "2021.10.0"

if job[DEVICE_COMPILER][NAME] == HIPCC:
variables["CC"] = "clang"
variables["CXX"] = "clang++"
Expand Down
4 changes: 2 additions & 2 deletions script/job_generator/job_generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -112,11 +112,11 @@ def get_args() -> argparse.Namespace:
enable_clang_cuda = True
parameters[HOST_COMPILER] = get_compiler_versions(clang_cuda=enable_clang_cuda)
parameters[DEVICE_COMPILER] = get_compiler_versions(clang_cuda=enable_clang_cuda)
# TODO(SimeonEhrig): remove GCC and Clang from DEVICE_COMPILER to disable CPU accelerator
# TODO(SimeonEhrig): remove Clang from DEVICE_COMPILER to disable CPU accelerator
# Backends
parameters[DEVICE_COMPILER] = list(
filter(
lambda compiler: compiler[NAME] != GCC and compiler[NAME] != CLANG,
lambda compiler: compiler[NAME] != CLANG,
parameters[DEVICE_COMPILER],
)
)
Expand Down
8 changes: 8 additions & 0 deletions script/job_generator/versions.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,14 @@
# There are special cases for ALPAKA_ACC_GPU_CUDA_ENABLE and ALPAKA_ACC_GPU_HIP_ENABLE
# which have to be combined with nvcc and hipcc versions.
BACKENDS: [
# gcc and clang
[
ALPAKA_ACC_CPU_B_SEQ_T_SEQ_ENABLE,
ALPAKA_ACC_CPU_B_SEQ_T_THREADS_ENABLE,
ALPAKA_ACC_CPU_B_OMP2_T_SEQ_ENABLE,
ALPAKA_ACC_CPU_B_SEQ_T_OMP2_ENABLE,
ALPAKA_ACC_CPU_B_TBB_T_SEQ_ENABLE,
],
# ALPAKA_ACC_CPU_B_OMP2_T_SEQ_ENABLE,
# nvcc
[
Expand Down