-
Notifications
You must be signed in to change notification settings - Fork 11
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 Dockerfiles for cuQuantum, cudaQuantum, and HPC-X to the Ella Project #54
Conversation
…on, and Python environment setup
…tum, Qiskit integration, and Python environment setup. It has MPI integretion.
…, and OpenMPI for Ella
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.
The recipes that rely on an entry point in docker should have a compatible one for singularity so you don't need to source a script. Consider using something like
RUN mkdir -p /.singularity.d/env/ && \
cp -p <script_to_source> /.singularity.d/env/91-environment.sh
Thanks, Pascal @pelahi , for your advice.
|
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.
If possible updates would be useful but are not critical. Just leave a comment saying that these changes will happen in the future and I am happy to approve.
applications/cudaquantum/cudaquantum-ubuntu/cudaquantum-0.8.0-ubuntu.dockerfile
Show resolved
Hide resolved
applications/cuquantum/cuquantum-appliance-ubuntu/cuquantum-appliance-24.08-ubuntu.dockerfile
Outdated
Show resolved
Hide resolved
applications/cuquantum/cuquantum-appliance-ubuntu/hpcx-mt-ompi.env
Outdated
Show resolved
Hide resolved
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.
All modifications from comments have been uploaded. Please check it again. Thanks.
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.
Thanks for all this work @Quleaf
Overview
This pull request introduces three new Dockerfiles to the Ella project repository:
These Dockerfiles establish robust and reproducible containerized environments tailored for different components of the Ella project, facilitating seamless development, testing, and deployment.
Dockerfile Details
1. cuQuantum Dockerfile
ubuntu:22.04
12.6.0
v2.20
3.12
mpi4py
.2. cudaQuantum Dockerfile
ubuntu:22.04
12.6.0
v2.20
3.12
nvq++
andnvq-py
from CUDA Quantum.mpi4py
should be included.3. HPC-X Dockerfile
ubuntu:22.04
androcky:9.4
12.6.0
v2.20
12.6.0
along with necessary dependencies.mpi4py
.Usage Instructions
Build from quay.io
singularity build <docker-file-name-tag> docker://quay.io/pawsey/<docker-file-name>:<tag>
Example:
singularity build docker://quay.io/pawsey/hpcx-2.20-rocky-arm:11-11
Execution
singularity shell --nv <docker-file-name-tag>
You may need the
env
file and--env-file
parameter to support the MPI running environment. It will automatically inject the environment into the container. A batch script example:Additional Notes
-Dependencies: All necessary dependencies are installed to support CUDA, HPC-X, MPI, and Python functionalities.
-Python Environment: A virtual environment (python-venv) is configured to isolate Python dependencies, enhancing reproducibility and reducing conflicts. We highly recommend NOT to use conda for this project.
-Qiskit Integration: Qiskit is integrated to provide quantum computing capabilities within the containers. We rebuild the qiskit for cuquantum and MPI usage.
-MPI Configuration: cuda-aware MPI is configured with mpi4py to enable Python-based MPI applications; You don't need to use hpcx script to load environment variables.