-
-
Notifications
You must be signed in to change notification settings - Fork 50
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
Add Docker image for ppc64le and CUDA #113
Merged
Merged
Changes from all commits
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
34bb881
Create a ppc64le image for CUDA builds
jakirkham f99ddeb
Adjust the ppc64le image to include CUDA support
jakirkham 2aba024
Build linux-anvil-ppc64le-cuda images on Travis CI
jakirkham 2ca59df
Remove cudatoolkit caching for now
isuruf eb69da1
Remove caching of cudatoolkit as we are not allowed to do so
isuruf 930d9d6
Put cudatoolkit back in for x86_64
isuruf b8ed14e
Remove whitespace
isuruf 5a7a81a
Add a comment on the ppc64le docker image
isuruf File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
# Note that this image doesn't cache cudatoolkit as it is not packaged by defaults. | ||
# This docker image is meant for packages using CUDA driver and not for packages | ||
# using the CUDA runtime. | ||
|
||
ARG CUDA_VER | ||
|
||
FROM nvidia/cuda-ppc64le:${CUDA_VER}-devel-centos7 | ||
|
||
LABEL maintainer="conda-forge <[email protected]>" | ||
|
||
# Set CUDA_VER during runtime. | ||
ARG CUDA_VER | ||
ENV CUDA_VER ${CUDA_VER} | ||
|
||
# Add qemu in here so that we can use this image on regular linux hosts with qemu user installed | ||
ADD qemu-ppc64le-static /usr/bin/qemu-ppc64le-static | ||
|
||
# Set an encoding to make things work smoothly. | ||
ENV LANG en_US.UTF-8 | ||
ENV LANGUAGE=en_US.UTF-8 | ||
|
||
# Set path to CUDA install. | ||
ENV CUDA_HOME /usr/local/cuda | ||
|
||
# Add a timestamp for the build. Also, bust the cache. | ||
ADD http://worldclockapi.com/api/json/utc/now /opt/docker/etc/timestamp | ||
|
||
# Resolves a nasty NOKEY warning that appears when using yum. | ||
RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 && \ | ||
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-AltArch-7-ppc64le | ||
|
||
# Remove preinclude system compilers | ||
RUN rpm -e --nodeps --verbose gcc gcc-c++ | ||
|
||
# Install basic requirements. | ||
COPY scripts/yum_clean_all /opt/docker/bin/ | ||
RUN yum update -y && \ | ||
yum install -y \ | ||
bzip2 \ | ||
sudo \ | ||
tar \ | ||
which && \ | ||
/opt/docker/bin/yum_clean_all | ||
|
||
# Run common commands | ||
COPY scripts/run_commands /opt/docker/bin/run_commands | ||
RUN /opt/docker/bin/run_commands | ||
|
||
# Download and cache new compiler packages. | ||
# Should speedup installation of them on CIs. | ||
RUN source /opt/conda/etc/profile.d/conda.sh && \ | ||
conda activate && \ | ||
conda create -n test --yes --quiet --download-only \ | ||
conda-forge::binutils_impl_linux-ppc64le \ | ||
conda-forge::binutils_linux-ppc64le \ | ||
conda-forge::gcc_impl_linux-ppc64le \ | ||
conda-forge::gcc_linux-ppc64le \ | ||
conda-forge::gfortran_impl_linux-ppc64le \ | ||
conda-forge::gfortran_linux-ppc64le \ | ||
conda-forge::gxx_impl_linux-ppc64le \ | ||
conda-forge::gxx_linux-ppc64le \ | ||
conda-forge::libgcc-ng \ | ||
conda-forge::libgfortran-ng \ | ||
conda-forge::libstdcxx-ng && \ | ||
conda remove --yes --quiet -n test --all && \ | ||
conda clean -tiy && \ | ||
chgrp -R lucky /opt/conda && \ | ||
chmod -R g=u /opt/conda | ||
|
||
# Add a file for users to source to activate the `conda` | ||
# environment `root`. Also add a file that wraps that for | ||
# use with the `ENTRYPOINT`. | ||
COPY linux-anvil-ppc64le/entrypoint_source /opt/docker/bin/entrypoint_source | ||
COPY scripts/entrypoint /opt/docker/bin/entrypoint | ||
|
||
# Ensure that all containers start with tini and the user selected process. | ||
# Activate the `conda` environment `root`. | ||
# Provide a default command (`bash`), which will start if the user doesn't specify one. | ||
ENTRYPOINT [ "/opt/conda/bin/tini", "--", "/opt/docker/bin/entrypoint" ] | ||
CMD [ "/bin/bash" ] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
# Activate the `base` conda environment. | ||
conda activate base |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Have also raised issue ( #141 ) about this so we can track this need/redirect people there.