-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile-H2-run-ubuntu20.04-gcc10.3.0-oneapi2022.1.2
executable file
·64 lines (57 loc) · 4.39 KB
/
Dockerfile-H2-run-ubuntu20.04-gcc10.3.0-oneapi2022.1.2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# Base GCC/Oneapi building container image
# Ubuntu 20.04
# Charles Peterson <charliecpeterson@gmail.com>
# Created 1/2022
# Updated 2/2022
FROM ubuntu:20.04
ENV gcc_VER=10.3.0
ENV basekit_VER=2022.1.2-146
ENV oneapi_common_vars_VER=2022.0.0-59
ENV oneapi_common_licensing_VER=2022.0.0-59
ENV oneapi_runtime_mkl_VER=2022.0.2-136
ENV hpckit_VER=2022.1.2-117
ENV oneapi_compiler_dpcpp_cpp_runtime_VER=2022.0.2-3658
ENV oneapi_compiler_fortran_runtime_VER=2022.0.2-3658
ENV oneapi_runtime_mpi_VER=2021.5.1-515
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends binutils libc6-dev gpg-agent gnupg curl ca-certificates \
&& curl -fsSL https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | apt-key add - \
&& echo "deb [trusted=yes] https://apt.repos.intel.com/oneapi all main " > /etc/apt/sources.list.d/oneAPI.list \
&& apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
intel-oneapi-common-vars=${oneapi_common_vars_VER} \
intel-oneapi-common-licensing=${oneapi_common_licensing_VER} \
intel-oneapi-runtime-mkl=${oneapi_runtime_mkl_VER} \
intel-oneapi-compiler-dpcpp-cpp-runtime=${oneapi_compiler_dpcpp_cpp_runtime_VER} \
intel-oneapi-compiler-fortran-runtime=${oneapi_compiler_fortran_runtime_VER} \
intel-oneapi-runtime-mpi=${oneapi_runtime_mpi_VER} \
&& rm -rf /var/lib/apt/lists/* \
&& apt-get remove -y curl ; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends libffi-dev gpg-agent dirmngr gnupg \
&& savedAptMark="$(apt-mark showmanual)" \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends dpkg-dev bzip2 gcc g++ make wget curl flex \
&& rm -rf /var/lib/apt/lists/* \
&& cd /tmp ; wget https://ftp.gnu.org/gnu/gcc/gcc-${gcc_VER}/gcc-${gcc_VER}.tar.gz \
&& tar -vxf gcc-${gcc_VER}.tar.gz ; rm gcc-${gcc_VER}.tar.gz \
&& cd gcc-${gcc_VER} ; ./contrib/download_prerequisites; rm *.tar.* || true \
&& mkdir build ; cd build \
&& ../configure --build=x86_64-linux-gnu --disable-multilib --enable-languages=c,c++,fortran --prefix=/opt/gcc \
&& make -j "$(nproc)" && make install-strip \
&& cd /tmp ; rm -rf gcc-${gcc_VER} \
&& apt-mark auto '.*' > /dev/null; apt-mark manual $savedAptMark; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false
RUN rm -rf /opt/gcc/bin ; rm -rf /opt/gcc/share
ENV TBBROOT=/opt/intel/oneapi/tbb/2021.5.1/env/..
ENV ONEAPI_ROOT=/opt/intel/oneapi
ENV PKG_CONFIG_PATH=/opt/intel/oneapi/tbb/2021.5.1/env/../lib/pkgconfig:/opt/intel/oneapi/mpi/2021.5.1/lib/pkgconfig:/opt/intel/oneapi/compiler/2022.0.2/lib/pkgconfig
ENV I_MPI_ROOT=/opt/intel/oneapi/mpi/2021.5.1
ENV FI_PROVIDER_PATH=/opt/intel/oneapi/mpi/2021.5.1//libfabric/lib/prov:/usr/lib64/libfabric
ENV MANPATH=/opt/intel/oneapi/mpi/2021.5.1/man:/opt/intel/oneapi/compiler/2022.0.2/documentation/en/man/common::
ENV CMAKE_PREFIX_PATH=/opt/intel/oneapi/tbb/2021.5.1/env/..:/opt/intel/oneapi/compiler/2022.0.2/linux/IntelDPCPP
ENV CMPLR_ROOT=/opt/intel/oneapi/compiler/2022.0.2
ENV LIBRARY_PATH=/opt/intel/oneapi/tbb/2021.5.1/env/../lib/intel64/gcc4.8:/opt/intel/oneapi/mpi/2021.5.1//libfabric/lib:/opt/intel/oneapi/mpi/2021.5.1//lib/release:/opt/intel/oneapi/mpi/2021.5.1//lib:/opt/intel/oneapi/compiler/2022.0.2/linux/compiler/lib/intel64_lin:/opt/intel/oneapi/compiler/2022.0.2/linux/lib
ENV LD_LIBRARY_PATH=/opt/gcc/lib:/opt/gcc/lib64:/opt/intel/oneapi/tbb/2021.5.1/env/../lib/intel64/gcc4.8:/opt/intel/oneapi/mpi/2021.5.1//libfabric/lib:/opt/intel/oneapi/mpi/2021.5.1//lib/release:/opt/intel/oneapi/mpi/2021.5.1//lib:/opt/intel/oneapi/compiler/2022.0.2/linux/lib:/opt/intel/oneapi/compiler/2022.0.2/linux/lib/x64:/opt/intel/oneapi/compiler/2022.0.2/linux/compiler/lib/intel64_lin
ENV NLSPATH=/opt/intel/oneapi/compiler/2022.0.2/linux/compiler/lib/intel64_lin/locale/%l_%t/%N
ENV PATH=/opt/intel/oneapi/mpi/2021.5.1//libfabric/bin:/opt/intel/oneapi/mpi/2021.5.1//bin:/opt/intel/oneapi/compiler/2022.0.2/linux/bin/intel64:/opt/intel/oneapi/compiler/2022.0.2/linux/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ENV CPATH=/opt/intel/oneapi/tbb/2021.5.1/env/../include:/opt/intel/oneapi/mpi/2021.5.1//include