Skip to content

cnts4sci/quantum-container

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Quantum Container stacks

Note

(JY) Proof of concept, not yet in production

Quantum Mobile is useful, BUT.. a massive beast. It must be reasons in the industry people move from using Virtual Machine to containers.

  • Lightweight: Containers share the host system's OS kernel, making them much lighter than VMs, which include the entire OS.
  • Faster Startup: Containers can start almost instantly, whereas VMs take longer to boot because they need to initialize a full operating system.
  • Resource Efficiency: Containers use far fewer resources than VMs, allowing for higher density of applications on the same hardware.

I had a hard time to support apple M1 in QM. Meanwhile, I cumulated a lot of experience on how to build aiida/aiidalab images for arm64 so can run on apple M1/M2 machines.

Compiling codes within computational materials community is not always trivial. One of the main goals of Quantum Mobile is bring pre-installed tools/codes to users. Historically, we had switch from using ansible to store the compiling recipe to using conda. The efforts are enssential for the Quantum Mobile itself but hard to find motivation for the community. In a long time, I use the cnts4sci/quantum-espresso image for multiple different purposes such as for testing my aiida plugin with setting as containerized code. It potentially can fit a bigger picture. Compiling need only happened once in the image repo of the code. The binary can be copy from layer into the final image of Quantum Container.

TODO

  • pre-configured AiiDA in full-stack
  • developers sugar tools.
  • OPENMPI into base and fix the version range to compatible with build-machine
  • use /dev/shm ? check.
  • using hq as scheduler
  • terminal defalt path is ....s6rcs-oneshot-runner, reset path to home
  • Considered to move bas-base which set base Linux system part out as an independent repo and share with also aiida-core images.
  • qe binary direct copied to here as an example
  • Sure! everything should work for arm64 (one test in full-stack for all, run calculations!)
  • openmpi in base and openmpi as build engine for all packages (still provide mpich)
  • MARVEL wallpaper
  • text and new logo for wallpaper (fun fact, quantum storage system is a company sell plastic containers.)
  • noVNC index connect page template change,
  • add MARVEL logo in index page.
  • tools for computational science
  • light browser: mirido?
  • commandline wrapper to start container with designed parameters such as resolution of vnc server.
  • Docker desktop for windows, test and documentation.
  • At the moment, we copy binaries of every codes to /usr/local/bin, there might be conflication on names.
  • Change org name containers4hpc -> containers4sci or cnts4sci (I choose this) or containers4science
  • Docker test using testcontainers-rc.
  • gracefully shutdown the vncserver, 1. avoid to show the error message, 2. handle save and clean up of vnc session.
  • instructions as a icon that start the browser page to the tutorial.

For users

How to run

docker run -d -p 6080:6080 ghcr.io/cnts4sci/qc-full-stack:edge

In your browser open http://localhost:6080/vnc.html, click the connect button and input the password moritz. You are ready to use the Linux system.

For developers

Build images locally

To build the images, run the following command: (tested with docker buildx version v0.8.2)

docker buildx bake -f docker-bake.hcl -f build.json --load

The build system will attempt to detect the local architecture and automatically build images for it (tested with amd64 and arm64).

You can also specify a custom platform with --platform, for example:

docker buildx bake -f docker-bake.hcl -f build.json --set *.platform=linux/amd64 --load

Test built images locally

XXX: IAMRUST

Trigger a build on ghcr.io and Dockerhub

  • Only an open PR to the organization's repository will trigger a build on ghcr.io.
  • A push to dockerhub is triggered when making a release on github.

About

All in one container with GUI for computational physics.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages