Now that we have readied the WSL2 environment with Singularity and the relevant CUDA libraries, it’s time to run the sample Keras workflow.
TL;DR: Appropriate infrastructure is required to test complex CGO projects like Singularity; Eduardo Arango’s work-in-progress update from SUG is shared here.
SUG Series Introduction
The inaugural meeting of the Singularity User Group (SUG) was held March 12-13, 2019, at the San Diego Supercomputer Center (SDSC). The event attracted diverse representation from the international advanced computing community as conveyed through the post-event press release issued jointly by SDSC and Sylabs.
Over the course of the two-day event, over 20 talks were presented by members of the Singularity user, developer, and provider community. Because SUG generated a significant amount of interest, even from those who were unable to attend, we are sharing online each of the talks presented.
SUG Talk Introduction
On balance, the reimplementation of the Singularity core in a combination of the C and Go programming languages has largely resulted in opportunities. For example, this reimplementation has eased the integration between Singularity and Kubernetes. In parallel, however, this substantial undertaking has also resulted in challenges in software testing. In his talk from SUG, Sylabs’ software engineer Eduardo Arango provides an update on the work he’s involved in, by placing emphasis on the infrastructure necessary to test Singularity.
The abstract for Eduardo’s contributed talk entitled Building a Testing Infrastructure for Singularity – a Complex CGO Project is as follows:
After a major project re-write from a code base Bash/Python/C to CGO, our team faced a new and interesting challenge, building a test suite in Go. As a team we decided that moving away from bash scripts to a formal language will give us better reproducibility, more test complexity (test tables), mock services, and std libraries for config files and crypto keys. This talk will share the experience of building a test infrastructure for a CGO, and will highlight the challenges we faced, and how we overcome them with Go std libraries and Go test tools.
Eduardo’s talk from SUG can be found below and here. Enjoy!
P.S. We’ll have a significant update on this topic to share soon. Stay tuned!
Join Our Mailing List
Signing the Container The Singularity 3.0 family introduced the ability to create (and manage) PGP keys to sign and verify containers. This provides a trusted method for Singularity users to share containers and ensures a bit-for-bit reproduction of the original...
Create an Account & Authentication Token Now that we have SingularityCE installed in WSL2, and NVIDIA GPU support is enabled, we will create a Singularity Container Services account and configure the local Singularity client, followed by building a remote...