Skip to content
Snippets Groups Projects
Fortune Iriaye's avatar
Fortune Iriaye authored
3035d0e0

FSL Sandbox App on Cheaha Open OnDemand

This readme provides a guide for setting up FSL as a stand-alone Sandbox app, that you can use on a HPC Desktop Job.

Prerequisites

Sandbox must be set up for your account on Cheaha, you can do this by following the guide we have in our documentations page for Cheaha on setting up Sandbox Apps. Setting up Sandbox for your Cheaha account is a one-time step.

Steps to Setup FSL

These steps show you how to setup the FSL (FMRIB Software Library) Sandbox App on Cheaha.

  1. Under the "Develop" tab , click on "My SandBox Apps (Development)"

    Develop button options on Cheaha

  2. Clicking the "New App" button should direct you to a new page giving you an option to Clone an Existing App.

    New App button to Clone an Existing App

    !!! note

     You can ignore the message "No SSH key was found. You will need to generate a locally installed SSH key to clone the git repo using SSH" since you can clone the repo using https. The warning would apply if you would like to clone the repo using SSH's authentication.
  3. Now import the already existing git repo for an app by clicking on the "Clone Existing App". A form (shown below) requiring your input will display. For the FSL App we will use a template we already created (you can use this template to prepare your app as well).

    Form for new Sandbox App

    We will add the following values in the form:

    • Directory Name: FSL

    • Git Remote: https://gitlab.rc.uab.edu/rc-data-science/community-ood-sandbox/bc-uab-fsl.git

    After completing the above steps, then click "Submit"

  4. When this is done successfully, you should see the below screen also showing your new FSL Sandbox App. New Sandbox App

    !!! note

     You can also check the option "Create a new Git Project from this?", about creating a new git repo, if you want to use it to maintain your own instance of the app. In this tutorial, we will not be selecting this option.
  5. Click on "Files" to take a look at the app files (local git repo working directory) you just cloned. We will modify some of the files here, because its contents are not relevant to FSL.

    File list for Sandbox App

    1. We first modify "manifest.yml" file (highlight the file, and click on edit) to change metadata for the sandbox app. Change the variables appropriately. In this case we will change the following:

      Metadata contained in manifest.yml file

    2. Next, select "form.yml.erb" and click on "Edit" . Replace the content of this file with the .yml file below.

      
          <%-
      partitions = OodAppkit.clusters[:SLURM_CLUSTER].custom_config[:partitions]
      -%>
      ---
      cluster: "SLURM_CLUSTER"
      attributes:
      bc_num_hours:
          value: 1
      
      bc_num_slots:
          widget: "number_field"
          label: Number of CPU
          value: 1
          min: 1
          max: 24
          step: 1
      
      bc_num_mems:
          widget: "number_field"
          label: Memory per CPU (GB)
          value: 4
          min: 1
          max: 128
          step: 1
      
      bc_num_gpus:
          widget: "number_field"
          label: Number of GPUs
          value: 1
          min: 0
          max: 4
          step: 1
      
      bc_partition:
          widget: select
          label: Partition
          options:
          <%- partitions.each do |p| -%>
          - [ "<%= p %>", "<%= p %>" ]
          <%- end -%>
      
      version:
          widget: select
          label: "FSL version"
          help: "This defines the version of FSL you want to load."
          options:
          - [ "6.0.3", "FSL/6.0.3" ]
      
      form:
      - version
      - bc_num_hours
      - bc_partition
      - bc_num_gpus
      - bc_num_slots
      - bc_num_mems
      - bc_email_on_started
      

    Here we are specifying what the form for the app is going to look like, and changing relevant parameters for Cheaha.

  6. Next, we edit the "script.sh.erb" file. This file can also be found in the "template" folder. Edit this file by adding the lines below to the end of the file. This is the actual job script that will be submitted to the cluster, just like you would submit a job with "sbatch" from the command line.

    module load FSL/6.0.3
    source /share/apps/rc/software/FSL/6.0.3/fsl/etc/fslconf/fsl.sh
    fsl

Save the file, and close the tab. This script runs the app executable after loading the appropriate module, based on the version you choose in the form.

Content of script.sh.erb

Launching your OOD Sandbox App

Click on Launch FSL, and submit the job with desired parameters. You should have your first dev app (FSL) running.

Interactive App Screen

More info

Contact us if you run into any issues, or to discuss any new app.