-
Notifications
You must be signed in to change notification settings - Fork 110
Generating MFC Images and Testing Them on OSPool #935
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
base: master
Are you sure you want to change the base?
Conversation
Status Update: I overslept on this. The concept in itself works as supposed to. The persisting hurdle has been no space left on disk for GPU images as Nvidia HPC base container is like 5-8 GB. Clearing the cache wherever (GH runner or OSPOOL) is obsolete. I tried different base containers and recipe instructions but no shot. GPU Base Container: New ApproachBuild: make the process on self-hosted Phoenix. |
These folks build all of nvhpc + openmpi + cuda https://github.com/link89/github-action-demo/blob/cp2k-with-deepmd/cp2k/2025.1-cuda124-openmpi-avx512-psmp/build.sh, so far as I can tell, into a Docker image using a standard GH runner. Can we just try this more simple approach first? It seems that some issues here are the attempt to get it done in one shot. Perhaps try something easy first, then add complexity. For example, building a simple gnu+mpi docker container that has MFC in it. We could even use this as an example for new users so they can get up and running without worrying about dependencies on their system. |
Ohh, interesting, I will try this approach and see if it can compile and run MFC on gh runner. Converting between Docker & Singularity is not even something to worry about anyways. |
User description
Description
Concerning (#654),
Generating four images CPU, CPU_Benchmark, GPU, and GPU_Benchmark. All MFC builds occur on a GitHub runner, while testing and storing latest images take place on OSPOOL. They are retrievable on the CI itself as the images are pre-built MFC with pre-installed packages that can be accessed with simple commands.
Debugging info,
To locally generate images,
apptainer build mfc_cpu.sif Singularity.cpu
To start shell instance,
apptainer shell --fakeroot --writable-tmpfs mfc_cpu.sif
To execute directly specific commands,
apptainer exec --fakeroot --writable-tmpfs mfc_cpu.sif /bin/bash -c 'cd /opt/MFC && ./mfc.sh test -a'
To-dos,
Note to Self: current secrets are hosted in the fork, and prior to merge new dedicated ones should be added to the base repo. To do so, request access point under "GATech_Bryngelson" project, then upload public SSH key to https://registry.cilogon.org/. Later on, update secrets which include private SSH key and user@host.
Ref's
NVIDIA Container
PR Type
Other
Description
Remove existing CI workflows and testing infrastructure
Add Singularity container image building workflow
Create four container definitions for CPU/GPU variants
Implement automated image building and testing on OSPool
Changes diagram
Changes walkthrough 📝
17 files
Remove Frontier build script
Remove Frontier job submission script
Remove Frontier test script
Remove Phoenix benchmark script
Remove Phoenix benchmark submission script
Remove Phoenix job submission script
Remove Phoenix test script
Remove benchmark workflow
Remove code cleanliness workflow
Remove coverage check workflow
Remove documentation workflow
Remove formatting check workflow
Remove line count workflow
Remove source linting workflow
Remove toolchain linting workflow
Remove spell check workflow
Remove main test suite workflow
5 files
Add Singularity image building workflow
Add CPU container definition
Add CPU benchmark container definition
Add GPU container definition
Add GPU benchmark container definition