Skip to content
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
5 changes: 0 additions & 5 deletions .github/workflows/ci_linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,11 +73,6 @@ jobs:
nvcc --version
rustup show

- name: Load Rust cache
uses: Swatinem/rust-cache@v2
with:
key: ${{ matrix.variance.name }}-${{ github.sha }}

- name: Rustfmt
run: cargo fmt --all -- --check

Expand Down
62 changes: 32 additions & 30 deletions container/rockylinux9-cuda12/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,41 +1,26 @@
FROM nvcr.io/nvidia/cuda:12.8.1-cudnn-devel-rockylinux9
FROM nvcr.io/nvidia/cuda:12.8.1-cudnn-devel-rockylinux9 AS llvm-builder

RUN dnf -y update && \
dnf -y install \
clang \
RUN dnf -y install \
--nobest \
--allowerasing \
--setopt=install_weak_deps=False \
openssl-devel \
pkgconfig \
redhat-rpm-config \
which \
xz \
zlib-devel && \
dnf clean all

# Needed to build `path_tracer`, `optix/ex03_window` example
RUN dnf -y install \
cmake \
fontconfig-devel \
libX11-devel \
libXcursor-devel \
libXi-devel \
libXrandr-devel && \
dnf clean all

# Get LLVM 7
WORKDIR /data/llvm7

# Install dependencies for building LLVM
RUN dnf -y install epel-release && \
dnf -y install \
zlib-devel \
libffi-devel \
ncurses-devel \
libxml2-devel \
libedit-devel \
python3 \
make && \
make \
cmake && \
dnf clean all

# Download and build LLVM 7.1.0 for all architectures
WORKDIR /data/llvm7

# Download and build LLVM 7.1.0 for all architectures.
RUN curl -sSf -L -O https://github.com/llvm/llvm-project/releases/download/llvmorg-7.1.0/llvm-7.1.0.src.tar.xz && \
tar -xf llvm-7.1.0.src.tar.xz && \
cd llvm-7.1.0.src && \
Expand All @@ -58,17 +43,34 @@ RUN curl -sSf -L -O https://github.com/llvm/llvm-project/releases/download/llvmo
-DLLVM_INCLUDE_BENCHMARKS=OFF \
-DLLVM_ENABLE_ZLIB=ON \
-DLLVM_ENABLE_TERMINFO=ON \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_PREFIX=/opt/llvm-7 \
.. && \
make -j$(nproc) && \
make install && \
cd ../.. && \
rm -rf llvm-7.1.0.src* && \
ln -s /usr/bin/llvm-config /usr/bin/llvm-config-7 && \
dnf clean all

# Get Rust
RUN curl -sSf -L https://sh.rustup.rs | bash -s -- -y
FROM nvcr.io/nvidia/cuda:12.8.1-cudnn-devel-rockylinux9

RUN dnf -y install \
--nobest \
--allowerasing \
--setopt=install_weak_deps=False \
openssl-devel \
pkgconfig \
which \
xz \
zlib-devel \
cmake && \
dnf clean all

COPY --from=llvm-builder /opt/llvm-7 /opt/llvm-7
RUN ln -s /opt/llvm-7/bin/llvm-config /usr/bin/llvm-config && \
ln -s /opt/llvm-7/bin/llvm-config /usr/bin/llvm-config-7

# Get Rust (install rustup; toolchain installed from rust-toolchain.toml below)
RUN curl -sSf -L https://sh.rustup.rs | bash -s -- -y --profile minimal --default-toolchain none
ENV PATH="/root/.cargo/bin:${PATH}"

# Setup the workspace
Expand Down
69 changes: 38 additions & 31 deletions container/ubuntu22-cuda11/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,41 +1,26 @@
FROM nvcr.io/nvidia/cuda:11.8.0-cudnn8-devel-ubuntu22.04
FROM nvcr.io/nvidia/cuda:11.8.0-cudnn8-devel-ubuntu22.04 AS llvm-builder

RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -qq -y install \
build-essential \
curl \
clang \
curl \
libffi-dev \
libedit-dev \
libncurses5-dev \
libssl-dev \
libtinfo-dev \
libxml2-dev \
cmake \
ninja-build \
pkg-config \
python3 \
xz-utils \
zlib1g-dev && \
rm -rf /var/lib/apt/lists/*

# Needed to build `path_tracer`, `optix/ex03_window` example
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -qq -y install \
cmake \
libfontconfig-dev \
libx11-xcb-dev \
libxcursor-dev \
libxi-dev \
libxinerama-dev \
libxrandr-dev && \
rm -rf /var/lib/apt/lists/*

# Get LLVM 7
WORKDIR /data/llvm7

# Install dependencies for building LLVM
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -qq -y install \
libffi-dev \
libedit-dev \
libncurses5-dev \
libxml2-dev \
python3 \
ninja-build && \
rm -rf /var/lib/apt/lists/*

# Download and build LLVM 7.1.0 for all architectures
# Download and build LLVM 7.1.0 for all architectures.
RUN curl -sSf -L -O https://github.com/llvm/llvm-project/releases/download/llvmorg-7.1.0/llvm-7.1.0.src.tar.xz && \
tar -xf llvm-7.1.0.src.tar.xz && \
cd llvm-7.1.0.src && \
Expand All @@ -58,16 +43,39 @@ RUN curl -sSf -L -O https://github.com/llvm/llvm-project/releases/download/llvmo
-DLLVM_INCLUDE_BENCHMARKS=OFF \
-DLLVM_ENABLE_ZLIB=ON \
-DLLVM_ENABLE_TERMINFO=ON \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_PREFIX=/opt/llvm-7 \
.. && \
ninja -j$(nproc) && \
ninja install && \
cd ../.. && \
rm -rf llvm-7.1.0.src* && \
ln -s /usr/bin/llvm-config /usr/bin/llvm-config-7
rm -rf llvm-7.1.0.src*

FROM nvcr.io/nvidia/cuda:11.8.0-cudnn8-devel-ubuntu22.04

RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -qq -y install \
build-essential \
clang \
curl \
libssl-dev \
libtinfo-dev \
pkg-config \
xz-utils \
zlib1g-dev \
cmake \
libfontconfig-dev \
libx11-xcb-dev \
libxcursor-dev \
libxi-dev \
libxinerama-dev \
libxrandr-dev && \
rm -rf /var/lib/apt/lists/*

COPY --from=llvm-builder /opt/llvm-7 /opt/llvm-7
RUN ln -s /opt/llvm-7/bin/llvm-config /usr/bin/llvm-config && \
ln -s /opt/llvm-7/bin/llvm-config /usr/bin/llvm-config-7

# Get Rust
RUN curl -sSf -L https://sh.rustup.rs | bash -s -- -y
# Get Rust (install rustup; toolchain installed from rust-toolchain.toml below)
RUN curl -sSf -L https://sh.rustup.rs | bash -s -- -y --profile minimal --default-toolchain none
ENV PATH="/root/.cargo/bin:${PATH}"

# Setup the workspace
Expand All @@ -79,4 +87,3 @@ RUN --mount=type=bind,source=rust-toolchain.toml,target=/data/rust-cuda/rust-too
ENV LD_LIBRARY_PATH="/usr/local/cuda/nvvm/lib64:${LD_LIBRARY_PATH}"
ENV LLVM_LINK_STATIC=1
ENV RUST_LOG=info

69 changes: 38 additions & 31 deletions container/ubuntu22-cuda12/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,41 +1,26 @@
FROM nvcr.io/nvidia/cuda:12.8.1-cudnn-devel-ubuntu22.04
FROM nvcr.io/nvidia/cuda:12.8.1-cudnn-devel-ubuntu22.04 AS llvm-builder

RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -qq -y install \
build-essential \
curl \
clang \
curl \
libffi-dev \
libedit-dev \
libncurses5-dev \
libssl-dev \
libtinfo-dev \
libxml2-dev \
cmake \
ninja-build \
pkg-config \
python3 \
xz-utils \
zlib1g-dev && \
rm -rf /var/lib/apt/lists/*

# Needed to build `path_tracer`, `optix/ex03_window` example
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -qq -y install \
cmake \
libfontconfig-dev \
libx11-xcb-dev \
libxcursor-dev \
libxi-dev \
libxinerama-dev \
libxrandr-dev && \
rm -rf /var/lib/apt/lists/*

# Get LLVM 7
WORKDIR /data/llvm7

# Install dependencies for building LLVM
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -qq -y install \
libffi-dev \
libedit-dev \
libncurses5-dev \
libxml2-dev \
python3 \
ninja-build && \
rm -rf /var/lib/apt/lists/*

# Download and build LLVM 7.1.0 for all architectures
# Download and build LLVM 7.1.0 for all architectures.
RUN curl -sSf -L -O https://github.com/llvm/llvm-project/releases/download/llvmorg-7.1.0/llvm-7.1.0.src.tar.xz && \
tar -xf llvm-7.1.0.src.tar.xz && \
cd llvm-7.1.0.src && \
Expand All @@ -58,16 +43,39 @@ RUN curl -sSf -L -O https://github.com/llvm/llvm-project/releases/download/llvmo
-DLLVM_INCLUDE_BENCHMARKS=OFF \
-DLLVM_ENABLE_ZLIB=ON \
-DLLVM_ENABLE_TERMINFO=ON \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_PREFIX=/opt/llvm-7 \
.. && \
ninja -j$(nproc) && \
ninja install && \
cd ../.. && \
rm -rf llvm-7.1.0.src* && \
ln -s /usr/bin/llvm-config /usr/bin/llvm-config-7
rm -rf llvm-7.1.0.src*

FROM nvcr.io/nvidia/cuda:12.8.1-cudnn-devel-ubuntu22.04

RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -qq -y install \
build-essential \
clang \
curl \
libssl-dev \
libtinfo-dev \
pkg-config \
xz-utils \
zlib1g-dev \
cmake \
libfontconfig-dev \
libx11-xcb-dev \
libxcursor-dev \
libxi-dev \
libxinerama-dev \
libxrandr-dev && \
rm -rf /var/lib/apt/lists/*

COPY --from=llvm-builder /opt/llvm-7 /opt/llvm-7
RUN ln -s /opt/llvm-7/bin/llvm-config /usr/bin/llvm-config && \
ln -s /opt/llvm-7/bin/llvm-config /usr/bin/llvm-config-7

# Get Rust
RUN curl -sSf -L https://sh.rustup.rs | bash -s -- -y
# Get Rust (install rustup; toolchain installed from rust-toolchain.toml below)
RUN curl -sSf -L https://sh.rustup.rs | bash -s -- -y --profile minimal --default-toolchain none
ENV PATH="/root/.cargo/bin:${PATH}"

# Setup the workspace
Expand All @@ -79,4 +87,3 @@ RUN --mount=type=bind,source=rust-toolchain.toml,target=/data/rust-cuda/rust-too
ENV LD_LIBRARY_PATH="/usr/local/cuda/nvvm/lib64:${LD_LIBRARY_PATH}"
ENV LLVM_LINK_STATIC=1
ENV RUST_LOG=info

Loading
Loading