Skip to content

Commit 5df33b3

Browse files
committed
Merge branch 'main' into buffer-copy-host-ptr
2 parents 86ebe33 + d7e0fad commit 5df33b3

File tree

292 files changed

+15517
-6908
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

292 files changed

+15517
-6908
lines changed

.github/docker/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ development environment.
88

99
# How to build docker image
1010

11-
To build docker image on local machine execute:
11+
To build docker image on local machine, enter the root dir of the repository and execute:
1212

1313
```sh
14-
docker build -t ur:ubuntu-22.04 -f ./ubuntu-22.04.Dockerfile .
14+
docker build -t ur:ubuntu-22.04 -f .github/docker/ubuntu-22.04.Dockerfile .
1515
```
1616

1717
To set any build time variable (e.g., an optional ARG from docker recipe), add to the command (after `build`), e.g.:

.github/docker/fedora-40.Dockerfile

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
# Copyright (C) 2023-2024 Intel Corporation
2+
# Part of the Unified-Runtime Project, under the Apache License v2.0 with LLVM Exceptions.
3+
# See LICENSE.TXT
4+
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
5+
6+
#
7+
# Dockerfile - a 'recipe' for Docker to build an image of fedora-based
8+
# environment for building the Unified Runtime project.
9+
#
10+
11+
# Pull base image ("40")
12+
FROM registry.hub.docker.com/library/fedora@sha256:5ce8497aeea599bf6b54ab3979133923d82aaa4f6ca5ced1812611b197c79eb0
13+
14+
# Set environment variables
15+
ENV OS fedora
16+
ENV OS_VER 40
17+
ENV NOTTY 1
18+
19+
# Additional parameters to build docker without building components.
20+
# These ARGs can be set in docker building phase and are used
21+
# within bash scripts (executed within docker).
22+
ARG SKIP_DPCPP_BUILD
23+
ARG SKIP_LIBBACKTRACE_BUILD
24+
25+
# Base development packages
26+
ARG BASE_DEPS="\
27+
cmake \
28+
git \
29+
make"
30+
31+
# Unified Runtime's dependencies
32+
ARG UR_DEPS="\
33+
doxygen \
34+
python3 \
35+
python3-pip"
36+
37+
# Miscellaneous for our builds/CI (optional)
38+
ARG MISC_DEPS="\
39+
clang \
40+
ncurses-libs-6.4 \
41+
passwd \
42+
sudo \
43+
wget"
44+
45+
# Update and install required packages
46+
RUN dnf update -y \
47+
&& dnf install -y \
48+
${BASE_DEPS} \
49+
${UR_DEPS} \
50+
${MISC_DEPS} \
51+
&& dnf clean all
52+
53+
# Prepare a dir (accessible by anyone)
54+
RUN mkdir --mode 777 /opt/ur/
55+
56+
# Additional dev. dependencies (installed via pip)
57+
#
58+
# It's actively used and tested only on selected distros. Be aware
59+
# they may not work, because pip packages list differ from OS to OS.
60+
COPY third_party/requirements.txt /opt/ur/requirements.txt
61+
62+
# Install DPC++
63+
COPY .github/docker/install_dpcpp.sh /opt/ur/install_dpcpp.sh
64+
ENV DPCPP_PATH=/opt/dpcpp
65+
RUN /opt/ur/install_dpcpp.sh
66+
67+
# Install libbacktrace
68+
COPY .github/docker/install_libbacktrace.sh /opt/ur/install_libbacktrace.sh
69+
RUN /opt/ur/install_libbacktrace.sh
70+
71+
# Add a new (non-root) 'test_user'
72+
ENV USER test_user
73+
ENV USERPASS pass
74+
# Change shell to bash with safe pipe usage
75+
SHELL [ "/bin/bash", "-o", "pipefail", "-c" ]
76+
RUN useradd -m ${USER} \
77+
&& echo "${USER}:${USERPASS}" | chpasswd \
78+
&& gpasswd wheel -a ${USER}
79+
80+
# Change shell back to default and switch to 'test_user'
81+
SHELL ["/bin/sh", "-c"]
82+
USER test_user

.github/docker/install_dpcpp.sh

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#!/usr/bin/env bash
2-
# Copyright (C) 2023 Intel Corporation
2+
# Copyright (C) 2023-2024 Intel Corporation
33
# Part of the Unified-Runtime Project, under the Apache License v2.0 with LLVM Exceptions.
44
# See LICENSE.TXT
55
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
@@ -15,9 +15,6 @@ if [ "${SKIP_DPCPP_BUILD}" ]; then
1515
exit
1616
fi
1717

18-
apt-get install -y --no-install-recommends \
19-
libncurses5
20-
21-
mkdir -p ${DPCPP_PATH}
22-
wget -O ${DPCPP_PATH}/dpcpp_compiler.tar.gz https://github.com/intel/llvm/releases/download/sycl-nightly%2F20230626/dpcpp-compiler.tar.gz
23-
tar -xvf ${DPCPP_PATH}/dpcpp_compiler.tar.gz -C ${DPCPP_PATH}/
18+
mkdir -p ${DPCPP_PATH}/dpcpp_compiler
19+
wget -O ${DPCPP_PATH}/dpcpp_compiler.tar.gz https://github.com/intel/llvm/releases/download/nightly-2024-01-29/sycl_linux.tar.gz
20+
tar -xvf ${DPCPP_PATH}/dpcpp_compiler.tar.gz -C ${DPCPP_PATH}/dpcpp_compiler
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
# Copyright (C) 2023-2024 Intel Corporation
2+
# Part of the Unified-Runtime Project, under the Apache License v2.0 with LLVM Exceptions.
3+
# See LICENSE.TXT
4+
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
5+
6+
#
7+
# Dockerfile - a 'recipe' for Docker to build an image of opensuse-leap-based
8+
# environment for building the Unified Runtime project.
9+
#
10+
11+
# Pull base image ("15")
12+
FROM registry.hub.docker.com/opensuse/leap@sha256:1cf79e78bb69f39fb2f78a7c2c7ebc4b64cf8d82eb1df76cd36767a595ada7a8
13+
14+
# Set environment variables
15+
ENV OS opensuse-leap
16+
ENV OS_VER 15
17+
ENV NOTTY 1
18+
19+
# Additional parameters to build docker without building components.
20+
# These ARGs can be set in docker building phase and are used
21+
# within bash scripts (executed within docker).
22+
ARG SKIP_DPCPP_BUILD
23+
ARG SKIP_LIBBACKTRACE_BUILD
24+
25+
# Base development packages
26+
ARG BASE_DEPS="\
27+
cmake \
28+
gcc \
29+
gcc-c++ \
30+
git \
31+
glibc-devel \
32+
libstdc++-devel \
33+
make"
34+
35+
# Unified Runtime's dependencies
36+
ARG UR_DEPS="\
37+
doxygen \
38+
python3 \
39+
python3-devel \
40+
python3-pip"
41+
42+
# Miscellaneous for our builds/CI (optional)
43+
ARG MISC_DEPS="\
44+
clang \
45+
gzip \
46+
libncurses5 \
47+
sudo \
48+
tar \
49+
wget"
50+
51+
# add openSUSE Leap 15.5 Oss repo
52+
RUN zypper ar -f https://download.opensuse.org/distribution/leap/15.5/repo/oss/ oss
53+
54+
# Update and install required packages
55+
RUN zypper update -y \
56+
&& zypper install -y \
57+
${BASE_DEPS} \
58+
${UR_DEPS} \
59+
${MISC_DEPS} \
60+
&& zypper clean all
61+
62+
# Prepare a dir (accessible by anyone)
63+
RUN mkdir --mode 777 /opt/ur/
64+
65+
# Additional dev. dependencies (installed via pip)
66+
#
67+
# It's actively used and tested only on selected distros. Be aware
68+
# they may not work, because pip packages list differ from OS to OS.
69+
COPY third_party/requirements.txt /opt/ur/requirements.txt
70+
71+
# Install DPC++
72+
COPY .github/docker/install_dpcpp.sh /opt/ur/install_dpcpp.sh
73+
ENV DPCPP_PATH=/opt/dpcpp
74+
RUN /opt/ur/install_dpcpp.sh
75+
76+
# Install libbacktrace
77+
COPY .github/docker/install_libbacktrace.sh /opt/ur/install_libbacktrace.sh
78+
RUN /opt/ur/install_libbacktrace.sh
79+
80+
# Add a new (non-root) 'test_user' and switch to it
81+
ENV USER test_user
82+
ENV USERPASS pass
83+
ENV PFILE ./password
84+
RUN useradd -m ${USER} \
85+
&& echo ${USERPASS} > ${PFILE} \
86+
&& echo ${USERPASS} >> ${PFILE} \
87+
&& passwd ${USER} < ${PFILE} \
88+
&& rm -f ${PFILE} \
89+
&& sed -i 's/# %wheel/%wheel/g' /etc/sudoers \
90+
&& groupadd wheel \
91+
&& gpasswd wheel -a ${USER}
92+
USER test_user
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
# Copyright (C) 2023-2024 Intel Corporation
2+
# Part of the Unified-Runtime Project, under the Apache License v2.0 with LLVM Exceptions.
3+
# See LICENSE.TXT
4+
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
5+
6+
#
7+
# Dockerfile - a 'recipe' for Docker to build an image of rockylinux-based
8+
# environment for building the Unified Runtime project.
9+
#
10+
11+
# Pull base image ("8.9")
12+
FROM registry.hub.docker.com/library/rockylinux@sha256:9794037624aaa6212aeada1d28861ef5e0a935adaf93e4ef79837119f2a2d04c
13+
14+
# Set environment variables
15+
ENV OS rockylinux
16+
ENV OS_VER 8
17+
ENV NOTTY 1
18+
19+
# Additional parameters to build docker without building components.
20+
# These ARGs can be set in docker building phase and are used
21+
# within bash scripts (executed within docker).
22+
ARG SKIP_DPCPP_BUILD
23+
ARG SKIP_LIBBACKTRACE_BUILD
24+
25+
# Base development packages
26+
ARG BASE_DEPS="\
27+
cmake \
28+
git \
29+
glibc-devel \
30+
libstdc++-devel \
31+
make"
32+
33+
# Unified Runtime's dependencies
34+
ARG UR_DEPS="\
35+
doxygen \
36+
python3 \
37+
python3-pip"
38+
39+
# Packages required by requirements.txt
40+
ARG PRE_PYTHON_DEPS="\
41+
libjpeg-turbo-devel \
42+
python3-devel \
43+
python3-wheel \
44+
zlib-devel"
45+
46+
# Miscellaneous for our builds/CI (optional)
47+
ARG MISC_DEPS="\
48+
clang \
49+
ncurses-libs-6.1 \
50+
passwd \
51+
sudo \
52+
wget"
53+
54+
# Update and install required packages
55+
RUN dnf update -y \
56+
&& dnf --enablerepo devel install -y \
57+
${BASE_DEPS} \
58+
${UR_DEPS} \
59+
${PRE_PYTHON_DEPS} \
60+
${MISC_DEPS} \
61+
&& dnf clean all
62+
63+
# Prepare a dir (accessible by anyone)
64+
RUN mkdir --mode 777 /opt/ur/
65+
66+
# Additional dev. dependencies (installed via pip)
67+
#
68+
# It's actively used and tested only on selected distros. Be aware
69+
# they may not work, because pip packages list differ from OS to OS.
70+
COPY third_party/requirements.txt /opt/ur/requirements.txt
71+
72+
# Install DPC++
73+
COPY .github/docker/install_dpcpp.sh /opt/ur/install_dpcpp.sh
74+
ENV DPCPP_PATH=/opt/dpcpp
75+
RUN /opt/ur/install_dpcpp.sh
76+
77+
# Install libbacktrace
78+
COPY .github/docker/install_libbacktrace.sh /opt/ur/install_libbacktrace.sh
79+
RUN /opt/ur/install_libbacktrace.sh
80+
81+
# Add a new (non-root) 'test_user'
82+
ENV USER test_user
83+
ENV USERPASS pass
84+
# Change shell to bash with safe pipe usage
85+
SHELL [ "/bin/bash", "-o", "pipefail", "-c" ]
86+
RUN useradd -m $USER \
87+
&& echo "${USERPASS}" | passwd "${USER}" --stdin \
88+
&& gpasswd wheel -a "${USER}" \
89+
&& echo "%wheel ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
90+
91+
# Change shell back to default and switch to 'test_user'
92+
SHELL ["/bin/sh", "-c"]
93+
USER test_user
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
# Copyright (C) 2023-2024 Intel Corporation
2+
# Part of the Unified-Runtime Project, under the Apache License v2.0 with LLVM Exceptions.
3+
# See LICENSE.TXT
4+
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
5+
6+
#
7+
# Dockerfile - a 'recipe' for Docker to build an image of rockylinux-based
8+
# environment for building the Unified Runtime project.
9+
#
10+
11+
# Pull base image ("9.3")
12+
FROM registry.hub.docker.com/library/rockylinux@sha256:d7be1c094cc5845ee815d4632fe377514ee6ebcf8efaed6892889657e5ddaaa6
13+
14+
# Set environment variables
15+
ENV OS rockylinux
16+
ENV OS_VER 9
17+
ENV NOTTY 1
18+
19+
# Additional parameters to build docker without building components.
20+
# These ARGs can be set in docker building phase and are used
21+
# within bash scripts (executed within docker).
22+
ARG SKIP_DPCPP_BUILD
23+
ARG SKIP_LIBBACKTRACE_BUILD
24+
25+
# Base development packages
26+
ARG BASE_DEPS="\
27+
cmake \
28+
git \
29+
glibc-devel \
30+
libstdc++-devel \
31+
make"
32+
33+
# Unified Runtime's dependencies
34+
ARG UR_DEPS="\
35+
doxygen \
36+
python3 \
37+
python3-pip"
38+
39+
# Miscellaneous for our builds/CI (optional)
40+
ARG MISC_DEPS="\
41+
clang \
42+
ncurses-libs-6.2 \
43+
passwd \
44+
sudo \
45+
wget"
46+
47+
# Update and install required packages
48+
RUN dnf update -y \
49+
&& dnf --enablerepo devel install -y \
50+
${BASE_DEPS} \
51+
${UR_DEPS} \
52+
${MISC_DEPS} \
53+
&& dnf clean all
54+
55+
# Prepare a dir (accessible by anyone)
56+
RUN mkdir --mode 777 /opt/ur/
57+
58+
# Additional dev. dependencies (installed via pip)
59+
#
60+
# It's actively used and tested only on selected distros. Be aware
61+
# they may not work, because pip packages list differ from OS to OS.
62+
COPY third_party/requirements.txt /opt/ur/requirements.txt
63+
64+
# Install DPC++
65+
COPY .github/docker/install_dpcpp.sh /opt/ur/install_dpcpp.sh
66+
ENV DPCPP_PATH=/opt/dpcpp
67+
RUN /opt/ur/install_dpcpp.sh
68+
69+
# Install libbacktrace
70+
COPY .github/docker/install_libbacktrace.sh /opt/ur/install_libbacktrace.sh
71+
RUN /opt/ur/install_libbacktrace.sh
72+
73+
# Add a new (non-root) 'test_user'
74+
ENV USER test_user
75+
ENV USERPASS pass
76+
# Change shell to bash with safe pipe usage
77+
SHELL [ "/bin/bash", "-o", "pipefail", "-c" ]
78+
RUN useradd -m $USER \
79+
&& echo "${USERPASS}" | passwd "${USER}" --stdin \
80+
&& gpasswd wheel -a "${USER}" \
81+
&& echo "%wheel ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
82+
83+
# Change shell back to default and switch to 'test_user'
84+
SHELL ["/bin/sh", "-c"]
85+
USER test_user

0 commit comments

Comments
 (0)