Skip to content

Create Singularity Applications

This article describes how to create a new Singularity application for AAC.

Open the Applications section and click New Application

  1. Click on the Applications option in the top bar menu, and then click on Applications again.
  2. Once the application view is open, click the New Application button located at the top right.

Note: If you do not see the + New Application button, you do not have Developer or Admin permission.

Select Singularity

Select Singularity on the container type screen. Click on the NEXT button.

Configure General Attributes

In the general information panel, configure the general application attributes. Refer to the image below for guidance.

  • Name: Name of the application.
  • Description: Description of the application.
  • Family: application family.
  • Version number: ROCM version on the application.
  • Categories: Assign a category to the application.
  • Architectures: Choose either x86_64 or arm64.
  • Accelerator: Select either AMD GPU or NVIDIA GPU.
  • Featured: Toggle on/off. When on, this application will appear at the top of the Applications list in the Featured section.

Configure Settings

On the Settings page, you can optionally add metadata fields to the application. These fields can be used by scripts written against the API for various filtering and metadata-related activities. By clicking on the drop-down menu, you will be able to see the range of metadata fields you can add. There is no limit to the number of fields you can create.

Create Container

The Create Container page shows you two different methods for creating the container for your app: importing a container or building a new one from a definition file.

Import Container

If you already have a Singularity container for your application available on a remote server, the easiest method to add your app to the AAC marketplace is to import the container. The Import Container option allows you to specify an existing container image file, such as a Singularity image.

You will need to provide a link to the location where your container is stored and the specific container checksum. Ensure the URL you provide is fully accessible to the system, as there is currently no way to provide authentication credentials to retrieve the image.

Upload Def File

The Upload Def File option allows you to submit a Singularity definition file. This will prompt the AAC build service to build your specified container and add it to the application list on your My Apps page.

Clicking the Next button will start the build process, and you'll see your new app appear on your My Apps page. Build process times can vary, depending on how busy the AAC build service is -- you should typically allow up to ten minutes or so, for this process to complete. Click NEXT.

Example of a very simple def file:

For detailed guidance on working with Singularity containers, please refer to the Singularity documentation:

https://docs.sylabs.io/guides/3.10/user-guide/

Review and Create

The Review Container page will show a summary of the data introduced to create the application.

Click CREATE.

Find your application

After clicking the Create button, your newly imported application will appear on your My Apps page. By clicking on the application’s panel, you can view its configuration details.

Enable the application

The Maintenance section, located on the right-hand side of the page, displays the application in a disabled state by default, making it unusable.

As the owner of this application, you can change its usage status to Private or All Users. Setting it to All Users will make the app available to all users of AAC.