oneapi_stage = hpccm.Stage()
oneapi_stage += hpccm.primitives.baseimage(image=base_image_tag(input_args), _as='oneapi-build')
+ version = str(input_args.oneapi)
+
# Add required components for the next stage (both for hpccm and Intel's setvars.sh script)
oneapi_stage += hpccm.building_blocks.packages(ospackages=['wget', 'gnupg2', 'ca-certificates', 'lsb-release'])
oneapi_stage += hpccm.building_blocks.packages(
apt_keys=['https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB'],
apt_repositories=['deb https://apt.repos.intel.com/oneapi all main'],
# Add minimal packages (not the whole HPC toolkit!)
- ospackages=['intel-oneapi-dpcpp-compiler', 'intel-oneapi-icc', 'intel-oneapi-mkl', 'intel-oneapi-mkl-devel']
+ ospackages=['intel-oneapi-dpcpp-cpp-compiler-pro-{}'.format(version),
+ 'intel-oneapi-openmp-{}'.format(version),
+ 'intel-oneapi-mkl-{}'.format(version),
+ 'intel-oneapi-mkl-devel-{}'.format(version)]
)
# Ensure that all bash shells on the final container will have access to oneAPI
oneapi_stage += hpccm.primitives.shell(
'Some checking is implemented to avoid incompatible combinations')
# TODO currently the installation merely gets the latest beta version of oneAPI,
# not a specific version. GROMACS probably doesn't need to address that until
-# oneAPI makes an official release.
-compiler_group.add_argument('--oneapi', type=str, nargs='?', const="2021.1-beta08", default=None,
+# oneAPI makes an official release. Also, the resulting container is a mix
+# of packages with different betaXY version numbers, which hopefully works and
+# is what Intel intends...
+compiler_group.add_argument('--oneapi', type=str, nargs='?', const="2021.1-beta09", default=None,
help='Select Intel oneAPI package version.')
linux_group = parser.add_mutually_exclusive_group()
COMPILER_MAJOR_VERSION: 8
CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=ASAN"
-gromacs:oneapi-2021.1-beta08-opencl:configure:
+gromacs:oneapi-2021.1-beta09-opencl:configure:
extends:
- .gromacs:base:configure
- .use-oneapi:base
- .use-opencl
- .rules:merge-requests
- image: gromacs/cmake-3.17.2-oneapi-2021.1-beta08-master
+ image: gromacs/cmake-3.17.2-oneapi-2021.1-beta09-master
variables:
COMPILER_MAJOR_VERSION: 2021
RELEASE_BUILD_DIR: release-builds-clang
CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=RelWithAssert"
-gromacs:oneapi-2021.1-beta08-opencl:release:configure:
+gromacs:oneapi-2021.1-beta09-opencl:release:configure:
extends:
- .gromacs:base:release:configure
- .use-oneapi:base
- .use-opencl
- .rules:nightly-only-for-release
- image: gromacs/cmake-3.17.2-oneapi-2021.1-beta08-master
+ image: gromacs/cmake-3.17.2-oneapi-2021.1-beta09-master
variables:
COMPILER_MAJOR_VERSION: 2021
RELEASE_BUILD_DIR: release-builds-oneapi
needs:
- job: gromacs:clang-8:configure
-gromacs:oneapi-2021.1-beta08-opencl:build:
+gromacs:oneapi-2021.1-beta09-opencl:build:
extends:
- .variables:default
- .gromacs:base:build
- .use-ccache
- .use-oneapi:base
- .rules:merge-requests
- image: gromacs/cmake-3.17.2-oneapi-2021.1-beta08-master
+ image: gromacs/cmake-3.17.2-oneapi-2021.1-beta09-master
needs:
- - job: gromacs:oneapi-2021.1-beta08-opencl:configure
+ - job: gromacs:oneapi-2021.1-beta09-opencl:configure
gromacs:clang-9-mpi:build:
extends:
needs:
- job: gromacs:clang-8-cuda-10.1:release:configure
-gromacs:oneapi-2021.1-beta08-opencl:release:build:
+gromacs:oneapi-2021.1-beta09-opencl:release:build:
extends:
- .variables:default
- .gromacs:base:build
variables:
BUILD_DIR: release-builds-oneapi
COMPILER_MAJOR_VERSION: 2021
- image: gromacs/cmake-3.17.2-oneapi-2021.1-beta08-master
+ image: gromacs/cmake-3.17.2-oneapi-2021.1-beta09-master
needs:
- - job: gromacs:oneapi-2021.1-beta08-opencl:release:configure
+ - job: gromacs:oneapi-2021.1-beta09-opencl:release:configure
# Jobs running during test stage
needs:
- job: gromacs:clang-UBSAN:build
-gromacs:oneapi-2021.1-beta08-opencl:test:
+gromacs:oneapi-2021.1-beta09-opencl:test:
extends:
- .gromacs:base:test
- .use-oneapi:base
- .rules:merge-requests
- image: gromacs/cmake-3.17.2-oneapi-2021.1-beta08-master
+ image: gromacs/cmake-3.17.2-oneapi-2021.1-beta09-master
needs:
- - job: gromacs:oneapi-2021.1-beta08-opencl:build
+ - job: gromacs:oneapi-2021.1-beta09-opencl:build
gromacs:clang-9-mpi:test:
extends:
- job: gromacs:clang-9-mpi:build
- job: regressiontests:prepare
-gromacs:oneapi-2021.1-beta08-opencl:regressiontest:
+gromacs:oneapi-2021.1-beta09-opencl:regressiontest:
extends:
- .gromacs:base:regressiontest
- .use-oneapi:base
- .rules:merge-requests
- image: gromacs/cmake-3.17.2-oneapi-2021.1-beta08-master
+ image: gromacs/cmake-3.17.2-oneapi-2021.1-beta09-master
needs:
- - job: gromacs:oneapi-2021.1-beta08-opencl:build
+ - job: gromacs:oneapi-2021.1-beta09-opencl:build
- job: regressiontests:prepare
gromacs:gcc-8-cuda-11.0:release:test:
- job: gromacs:clang-8-cuda-10.1:release:configure
- job: gromacs:clang-8-cuda-10.1:release:build
-gromacs:oneapi-2021.1-beta08-opencl:release:test:
+gromacs:oneapi-2021.1-beta09-opencl:release:test:
extends:
- .gromacs:base:test
- .use-oneapi:base
- .rules:nightly-only-for-release
stage: release-tests
- image: gromacs/cmake-3.17.2-oneapi-2021.1-beta08-master
+ image: gromacs/cmake-3.17.2-oneapi-2021.1-beta09-master
variables:
BUILD_DIR: release-builds-oneapi
needs:
- - job: gromacs:oneapi-2021.1-beta08-opencl:release:configure
- - job: gromacs:oneapi-2021.1-beta08-opencl:release:build
+ - job: gromacs:oneapi-2021.1-beta09-opencl:release:configure
+ - job: gromacs:oneapi-2021.1-beta09-opencl:release:build
gromacs:gcc-7:release:regressiontest:
extends:
- job: gromacs:clang-8-cuda-10.1:release:build
- job: regressiontests:package
-gromacs:oneapi-2021.1-beta08-opencl:release:regressiontest:
+gromacs:oneapi-2021.1-beta09-opencl:release:regressiontest:
extends:
- .gromacs:base:regressiontest
- .use-oneapi:base
- .rules:nightly-only-for-release
stage: release-tests
- image: gromacs/cmake-3.17.2-oneapi-2021.1-beta08-master
+ image: gromacs/cmake-3.17.2-oneapi-2021.1-beta09-master
variables:
BUILD_DIR: release-builds-oneapi
REGRESSIONTEST_PME_RANK_NUMBER: 0
REGRESSIONTEST_TOTAL_RANK_NUMBER: 2
REGRESSIONTEST_OMP_RANK_NUMBER: 1
needs:
- - job: gromacs:oneapi-2021.1-beta08-opencl:release:build
+ - job: gromacs:oneapi-2021.1-beta09-opencl:release:build
- job: regressiontests:package