Guide for TACC/XSEDE Researchers

To submit jobs as a researcher, you could either use the job submission interface available on this website, or you could submit the jobs after logging in to the Stampede2/Lonestar5 systems at TACC. This user-guide contains information on:

Steps for Submitting Jobs from the Website
Example: Step-by-Step Instructions for Running the OpenSees Application from the BOINC@TACC Website
Steps to Submit Jobs Directly Through Stampede2/Lonestar5
Example: Step-by-Step Instructions for Running the OpenSees Application from Stampede2/Lonestar5
Video Demonstration of the BOINC@TACC Infrastructure
Steps for Running Additional Applications from Stampede2 or Lonestar5
Steps for Running Additional Applications from the Website
Steps for Containerizing and Running Custom Applications from Stampede2 or Lonestar5
Building automatic Docker image from custom C code from the Website

1. Steps for Submitting Jobs from the Website

  1. For submitting jobs through this website, you should first run the registration script from the Stampede2/Lonestar5 systems at least once
    • Login to Stampede2 or Lonestar5 using your TACC portal credentials
    • Create a directory named "boinc" ( mkdir boinc) and switch to this directory ( cd boinc)
    • Copy the registration script by running the following command:
      wget https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/register-boinc.sh
    • Add execute permissions on the script:
      chmod +x register-boinc.sh
    • Run the script for registration (register-boinc.sh):
      ./register-boinc.sh
  2. Log in to this website as a Researcher using your TACC portal credentials: https://boinc.tacc.utexas.edu/login_as_a_researcher_form.php
  3. Go to the Job Submission page: https://boinc.tacc.utexas.edu/job_submission.php
  4. For running applications through BOINC@TACC, you will need to select one of the following options:
    • Use the Docker image of an application supported by BOINC@TACC : If you are using the Docker image provided by BOINC@TACC, keep the radio-button for the "List of BOINC@TACC Docker images" selected and select the desired Docker image from the drop-down list.
    • Use a Docker image of the application supported by you or someone else on Docker Hub : If the Docker image is on Docker Hub but not supported by BOINC@TACC, click the radio button for Docker Hub. Type in the name of the desired Docker image as it appears on Docker Hub (not the URL). Then select the "Check if it exists on Docker hub" button and the BOINC@TACC system will check if the Docker image exists or not.
    • If your code is not containerized yet, you can upload the code and the steps to compile it through the job submission page. A Docker image will be created automatically for you.
  5. Type in the list of commands necessary to run the application. Separate each command with a “semi-colon” or remember to hit enter after each line of command
  6. Select whether the input files will be uploaded as a compressed TAR file (*.tgz) or as a ZIP file (*.zip). Then browse to the desired *.tgz or *.zip file on your computer using the "Browse" button. Then select the file, and click the "Submit the Job" button.
    Congrats, your job is submitted!
  7. If your job got submitted successfully, you will see it listed under the "Job History" page: https://boinc.tacc.utexas.edu/job_history.php
  8. Once your job has finished executing successfully, you will receive an email notification with the subject "BOINC job completed", and your job results will either be attached to the email as a *.tgz file or a link to download the results will also be provided
  9. Note : If your job was submitted successfully, and it ran on the client but there was a run-time error caused due to wrong parameters or wrong commands, you may still get an email with job completed with "success" but there will be no results.

2. Example: Step-by-Step Instructions for Running the OpenSees Application from the BOINC@TACC Website

  1. Make sure you are a registered BOINC@TACC user and have completed the following steps:
    • Login to Stampede2 or Lonestar5 using your TACC portal credentials
    • Create a directory named "boinc" (mkdir boinc) and switch to this directory (cd boinc)
    • Copy the registration script by running the following command:
      wget https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/register-boinc.sh
    • Add execute permissions on the script:
      chmod +x register-boinc.sh
    • Run the script for registration (register-boinc.sh):
      ./register-boinc.sh
  2. Create a directory named "data" on your computer and copy the sample input files for running OpenSees in this directory, example:
    mkdir data
    cd data
    curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/ElasticFrame.tcl
    curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/MomentCurvature.tcl
    cd ..
  3. Create a *.zip or a *.tgz file containing the contents of the data directory, example:
    tar -cvzf data.tgz data
  4. Login to the BOINC@TACC website using your TACC credentials and click on "Job Submission" tab
  5. By default, the radio-button for "List of docker images maintained by BOINC@TACC" will be selected. Keep this as-is, and click on the drop-down list to select "OpenSees"
  6. In the text-box for the list of commands, enter:
    OpenSees < ./data/MomentCurvature.tcl;
    OpenSees < ./data/ElasticFrame.tcl;
  7. Upload the data.zip or data.tgz file created in step # 3
  8. Click on "Submit the job" button
  9. If your job got submitted successfully, you will see it listed under the "Job History" page: https://boinc.tacc.utexas.edu/job_history.php
  10. Once your job has finished executing successfully, you will receive an email notification with the subject "BOINC job completed", and your job results will either be attached to the email as a *.tgz file or a link to download the results will also be provided

    Note: If your job was submitted successfully, and it ran on the client but there was a run-time error caused due to wrong parameters or wrong commands, you may still get an email with job completed with "success" but there will be no results

3. Steps to Submit Jobs Directly Through Stampede2/Lonestar5

In preparation of submitting jobs from Stampede2/Lonestar5, you will need to do the following:
  • Create a directory named "data" on your computer and copy the sample input files for running OpenSees in this directory
  • You would need to respond to the questions prompted by script, and if your job meets the constraints for running through BOINC@TACC, it will be submitted to the BOINC server, else, a SLURM job script will be generated for you so that you can run the job on Stampede2/Lonestar5.

    Please note: you will not be able to login to Stampede2/Lonestar5 if you do not already have an existing project allocation on TACC resources. Please visit the following website to learn more about the process of requesting allocation on TACC resources: https://portal.tacc.utexas.edu/

4. Example: Step-by-Step Instructions for Running the OpenSees Application from Stampede2/Lonestar5

  • Obtain the necessary files
curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/MC.tcl
	
  • Run advance-submit.sh :
curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/advance-submit.sh
chmod +x advance-submit.sh
./advance-submit.sh
  • Provide your email when requested

  • Select 1 for allowed options when prompted

  • Select 9 for applications when prompted

  • Continue with the following instructions to run an OpenSees input file

    • Provide the following file:

        MC.tcl
      
    • No directories must be provided (enter to skip)

    • Provide the following command:

        OpenSees < MC.tcl
      

5. Video Demonstration of the BOINC@TACC Infrastructure

6. Steps for Running Additional Applications from Stampede2 or Lonestar5

Prerequisites

Instructions below should be run from Stampede2 or Lonestar5 supercomputers.

A separate registration step is not required for users who are submitting jobs for the first time from Stampede2 or Lonestar5 systems. The registration process is automatically taken care of at the time of submitting jobs to BOINC@TACC from Stamepede2 or Lonestar5.

Installation

Obtain the required files from this directory:

svn checkout https://github.com/ritua2/BOINCatTACC/trunk/stampede2-backend/S2-test-files;
cd S2-test-files;
chmod +x advance-submit.sh;

Tutorial files for TACC specific applications

A sample exercise for each specific application is provided below. All the necessary files are available when cloning the github repo as per the above instructions. However, for users wishing to use only one application, follow the instructions below:

Note: The script also accounts for job submission using SLURM. In order to utilize BOINC, the job must use 5 or less cores, and below 2048 MB of RAM.

  • BOINC job submission
  • curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/advance-submit.sh;
    chmod +x advance-submit.sh;
    
  1. AutoDock-Vina
    • Obtain the input and data files:
    • curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/protein.pdbqt;
      curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/protein.pdb;
      curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/ligand.pdbqt;
      curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/ligand.pdb;
      curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/ligand_experiment.pdbqt;
      curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/conf.txt;
      
    • Run job submission script:
    • ./advance-submit.sh;
    • Provide your email when requested

    • Select 1 for allowed options when prompted

    • Select 1 for applications when prompted

    • Continue with the following instructions to run a TACC training file

      • Provide the following files (space separated):

        protein.pdbqt ligand.pdbqt ligand.pdb protein.pdb ligand_experiment.pdb ligand_experiment.pdbqt conf.txt
      • No directories must be provided (enter to skip)

      • Provide the following command (line by line, empty line at the end to exit):

        vina --config conf.txt
  2. Bedtools
    • Obtain the input and data files:
    • curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/cpg.bed;
      curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/exons.bed;
      
    • Run job submission script:
    • ./advance-submit.sh;
    • Provide your email when requested

    • Select 1 for allowed options when prompted

    • Select 2 for applications when prompted

    • Continue with the following instructions to run a TACC training file

      • Provide the following files (space separated):

        cpg.bed exons.bed
      • No directories must be provided (enter to skip)

      • Provide the following command (line by line, empty line at the end to exit):

        bedtools intersect -a cpg.bed -b exons.bed > bed_test.txt
  3. Blast
    • Obtain the input and data files:
    • curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/P04156.fasta;
      curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/zebrafish.1.protein.faa.gz;
      
    • Run job submission script:
    • ./advance-submit.sh;
    • Provide your email when requested

    • Select 1 for allowed options when prompted

    • Select 3 for applications when prompted

    • Continue with the following instructions to run a TACC training file

      • Provide the following files (space separated):

        P04156.fasta zebrafish.1.protein.faa.gz
      • No directories must be provided (enter to skip)

      • Provide the following command (line by line, empty line at the end to exit):

        gunzip zebrafish.1.protein.faa.gz
        makeblastdb -in zebrafish.1.protein.faa -dbtype prot
        blastp -query P04156.fasta -db zebrafish.1.protein.faa -out results.txt
        
  4. Bowtie
    • Obtain the input and data files:
    • curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/s_cerevisiae.ebwt.zip;
    • Run job submission script:
    • ./advance-submit.sh;
    • Provide your email when requested

    • Select 1 for allowed options when prompted

    • Select 4 for applications when prompted

    • Continue with the following instructions to run a TACC training file

      • Provide the following files (space separated):

        s_cerevisiae.ebwt.zip
      • No directories must be provided (enter to skip)

      • Provide the following command (line by line, empty line at the end to exit):

        unzip s_cerevisiae.ebwt.zip
        bowtie -c s_cerevisiae ATTGTAGTTCGAGTAAGTAATGTGGGTTTG > res_bowtie.txt
        
  5. Gromacs
    • Obtain the input and data files:
    • curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/methane_water.gro;
      curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/topol.top;
      curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/em_steep.mdp;
    • Run job submission script:
    • ./advance-submit.sh;
    • Provide your email when requested

    • Select 1 for allowed options when prompted

    • Select 5 for applications when prompted

    • Continue with the following instructions to run a TACC training file

      • Provide the following files (space separated):

        methane_water.gro topol.top em_steep.mdp
      • No directories must be provided (enter to skip)

      • Provide the following command (line by line, empty line at the end to exit):

        gmx grompp -f em_steep.mdp -c methane_water.gro -p topol.top -o min_thing.tpr
  6. HTSeq
    • Obtain the input and data files:
    • curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/test.sam;
      curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/gen.gtf;
    • Run job submission script:
    • ./advance-submit.sh;
    • Provide your email when requested

    • Select 1 for allowed options when prompted

    • Select 6 for applications when prompted

    • Continue with the following instructions to run a TACC training file

      • Provide the following files (space separated):

        test.sam gen.gtf
      • No directories must be provided (enter to skip)

      • Provide the following command (line by line, empty line at the end to exit):

        htseq-count test.sam gen.gtf > test_htseq.txt
  7. MPI-LAMMPS
    • Obtain the input and data files:
    • curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/Al99.eam.alloy;
      curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/aluminium.in;
    • Run job submission script:
    • ./advance-submit.sh;
    • Provide your email when requested

    • Select 1 for allowed options when prompted

    • Select 7 for applications when prompted

    • Continue with the following instructions to run a TACC training file

      • Provide the following files (space separated):

        Al99.eam.alloy aluminium.in
      • No directories must be provided (enter to skip)

      • Provide the following command (line by line, empty line at the end to exit):

        mpirun -np 2 lmp_mpi < aluminium.in > lammps_test.txt
  8. NAMD
    • Obtain the input and data files:
    • curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/alanin.psf;
      curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/alanin.conf;
      curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/alanin.pdb;
      curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/alanin.params;
    • Note: If running this example using the slurm functionality, update the alanin.conf file, line 15, to your local path
    • Run job submission script:
    • ./advance-submit.sh;
    • Provide your email when requested

    • Select 1 for allowed options when prompted

    • Select 8 for applications when prompted

    • Continue with the following instructions to run a TACC training file

      • Provide the following files (space separated):

        alanin.psf alanin.conf alanin.pdb alanin.params
      • No directories must be provided (enter to skip)

      • Provide the following command (line by line, empty line at the end to exit):

        namd2 alanin.conf > results_namd.res
  9. CUDA
    • Obtain the input and data files:
    • curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/happ.cu;
    • Run job submission script:
    • ./advance-submit.sh;
    • Provide your email when requested

    • Select 1 for allowed options when prompted

    • Select 10 for applications when prompted

    • Continue with the following instructions to run a TACC training file

      • Provide the following files (space separated):

        happ.cu
      • No directories must be provided (enter to skip)

      • Provide the following command (line by line, empty line at the end to exit):

        nvcc happ.cu -o h.out
        ./h.out
  10. OpenFOAM6
    • Obtain the input and data files:
    • mkdir 0 constant system;
      curl https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/0/U > 0/U;
      curl https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/0/p > 0/p;
      curl https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/constant/transportProperties > constant/transportProperties;
      mkdir constant/polyMesh;
      curl https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/constant/polyMesh/boundary  > constant/polyMesh/boundary;
      curl https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/constant/polyMesh/faces     > constant/polyMesh/faces;
      curl https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/constant/polyMesh/neighbour > constant/polyMesh/neighbour;
      curl https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/constant/polyMesh/owner     > constant/polyMesh/owner;
      curl https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/constant/polyMesh/points    > constant/polyMesh/points;
      curl https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/system/blockMeshDict        > system/blockMeshDict;
      curl https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/system/controlDict          > system/controlDict;
      curl https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/system/fvSchemes            > system/fvSchemes;
      curl https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/system/fvSolution           > system/fvSolution;
    • Run job submission script:
    • ./advance-submit.sh;
    • Provide your email when requested

    • Select 1 for allowed options when prompted

    • Select 11 for applications when prompted

    • Continue with the following instructions to run a TACC training file

      • No input files are needed (enter to skip):

      • Provide the following directories, each in a new line:
        0
        constant
        system
      • Provide the following command (line by line, empty line at the end to exit):

        blockMesh
        icoFoam

7. Steps for Running Additional Applications from the Website

Prerequisites

Instructions below should be run from the BOINC@TACC Job Submission page, researchers must be registered for using BOINC@TACC and should log into this website with their TACC portal credentials.

The researchers should complete the one-time registration process for using BOINC@TACC by running a script from the Stampede2/Lonestar5 systems as shown below:

curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/register-boinc.sh;
chmod +x advance-submit.sh;
./register-boinc.sh;

Tutorial files for TACC specific applications

A sample exercise for each specific application is provided below. All the necessary files are available when cloning the github repo as per the above instructions. However, for users wishing to use only one application, follow the instructions below:

  1. AutoDock-Vina
    • Obtain the input and data files:
    • mkdir autodock-vina;
      cd autodock-vina;
      curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/protein.pdbqt;
      curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/protein.pdb;
      curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/ligand.pdbqt;
      curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/ligand.pdb;
      curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/ligand_experiment.pdb;
      curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/ligand_experiment.pdbqt;
      curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/conf.txt;
      
    • Compress all necessary files into a .tar.gz, .tgz, or .zip compressed file
    • tar -cvzf data.tar.gz protein.pdbqt ligand.pdbqt ligand.pdb protein.pdb ligand_experiment.pdb ligand_experiment.pdbqt conf.txt;
    • Log in to the BOINC@TACC website as a Researcher using your TACC portal credentials: https://boinc.tacc.utexas.edu/login_as_a_researcher_form.php
    • Go to the Job Submission page: https://boinc.tacc.utexas.edu/job_submission.php
    • Keep the radio-button for the "List of BOINC@TACC Docker images" selected and select AutoDock Vina from the drop-down list
    • In the text-box for the list of commands, enter:
      vina --config conf.txt;
    • Upload the compressed tar file data.tar.gz
    • Click on "Submit the job" button
    • If your job got submitted successfully, you will see it listed under the "Job History" page: Go to the Job Submission page: https://boinc.tacc.utexas.edu/job_history.php
    • Once your job has finished executing successfully, you will receive an email notification with the subject "BOINC job completed", and your job results will either be attached to the email as a *.tgz file or a link to download the results will also be provided.
      Note: If your job was submitted successfully, and it ran on the client but there was a run-time error caused due to wrong parameters or wrong commands, you may still get an email with job completed with "success" but there will be no results
  2. Bedtools
    • Obtain the input and data files:
    • mkdir bedtools;
      cd bedtools;
      curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/d1.bed;
      curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/query.bed;
      
    • Compress all necessary files into a .tar.gz, .tgz, or .zip compressed file
    • tar -cvzf data.tar.gz d1.bed query.bed;
    • Log in to the BOINC@TACC website as a Researcher using your TACC portal credentials: https://boinc.tacc.utexas.edu/login_as_a_researcher_form.php
    • Go to the Job Submission page: https://boinc.tacc.utexas.edu/job_submission.php
    • Keep the radio-button for the "List of BOINC@TACC Docker images" selected and select Bedtools from the drop-down list
    • In the text-box for the list of commands, enter:
      bedtools intersect -a query.bed -b d1.bed > bed_test.txt;
    • Upload the compressed tar file data.tar.gz
    • Click on "Submit the job" button
    • If your job got submitted successfully, you will see it listed under the "Job History" page: Go to the Job Submission page: https://boinc.tacc.utexas.edu/job_history.php
    • Once your job has finished executing successfully, you will receive an email notification with the subject "BOINC job completed", and your job results will either be attached to the email as a *.tgz file or a link to download the results will also be provided.
      Note: If your job was submitted successfully, and it ran on the client but there was a run-time error caused due to wrong parameters or wrong commands, you may still get an email with job completed with "success" but there will be no results
  3. Blast
    • Obtain the input and data files:
    • mkdir blast;
      cd blast;
      curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/P04156.fasta;
      curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/zebrafish.1.protein.faa.gz;
      
    • Compress all necessary files into a .tar.gz, .tgz, or .zip compressed file
    • tar -cvzf data.tar.gz P04156.fasta zebrafish.1.protein.faa.gz;
    • Log in to the BOINC@TACC website as a Researcher using your TACC portal credentials: https://boinc.tacc.utexas.edu/login_as_a_researcher_form.php
    • Go to the Job Submission page: https://boinc.tacc.utexas.edu/job_submission.php
    • Keep the radio-button for the "List of BOINC@TACC Docker images" selected and select BLAST from the drop-down list
    • In the text-box for the list of commands, enter:
      gunzip zebrafish.1.protein.faa.gz;
      makeblastdb -in zebrafish.1.protein.faa -dbtype prot;
      blastp -query P04156.fasta -db zebrafish.1.protein.faa -out results.txt;
    • Upload the compressed tar file data.tar.gz
    • Click on "Submit the job" button
    • If your job got submitted successfully, you will see it listed under the "Job History" page: Go to the Job Submission page: https://boinc.tacc.utexas.edu/job_history.php
    • Once your job has finished executing successfully, you will receive an email notification with the subject "BOINC job completed", and your job results will either be attached to the email as a *.tgz file or a link to download the results will also be provided.
      Note: If your job was submitted successfully, and it ran on the client but there was a run-time error caused due to wrong parameters or wrong commands, you may still get an email with job completed with "success" but there will be no results
  4. Bowtie
    • Obtain the input and data files:
    • mkdir bowtie;
      cd bowtie;
      curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/s_cerevisiae.ebwt.zip;
    • Compress all necessary files into a .tar.gz, .tgz, or .zip compressed file
    • tar -cvzf data.tar.gz s_cerevisiae.ebwt.zip;
    • Log in to the BOINC@TACC website as a Researcher using your TACC portal credentials: https://boinc.tacc.utexas.edu/login_as_a_researcher_form.php
    • Go to the Job Submission page: https://boinc.tacc.utexas.edu/job_submission.php
    • Keep the radio-button for the "List of BOINC@TACC Docker images" selected and select Bowtie from the drop-down list
    • In the text-box for the list of commands, enter:
      unzip s_cerevisiae.ebwt.zip;
      bowtie -c s_cerevisiae ATTGTAGTTCGAGTAAGTAATGTGGGTTTG > res_bowtie.txt;
    • Upload the compressed tar file data.tar.gz
    • Click on "Submit the job" button
    • If your job got submitted successfully, you will see it listed under the "Job History" page: Go to the Job Submission page: https://boinc.tacc.utexas.edu/job_history.php
    • Once your job has finished executing successfully, you will receive an email notification with the subject "BOINC job completed", and your job results will either be attached to the email as a *.tgz file or a link to download the results will also be provided.
      Note: If your job was submitted successfully, and it ran on the client but there was a run-time error caused due to wrong parameters or wrong commands, you may still get an email with job completed with "success" but there will be no results
  5. Gromacs
    • Obtain the input and data files:
    • mkdir gromacs;
      cd gromacs;
      curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/methane_water.gro;
      curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/topol.top;
      curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/em_steep.mdp;
    • Compress all necessary files into a .tar.gz, .tgz, or .zip compressed file
    • tar -cvzf data.tar.gz methane_water.gro topol.top em_steep.mdp;
    • Log in to the BOINC@TACC website as a Researcher using your TACC portal credentials: https://boinc.tacc.utexas.edu/login_as_a_researcher_form.php
    • Go to the Job Submission page: https://boinc.tacc.utexas.edu/job_submission.php
    • Keep the radio-button for the "List of BOINC@TACC Docker images" selected and select Gromacs from the drop-down list
    • In the text-box for the list of commands, enter:
      gmx grompp -f em_steep.mdp -c methane_water.gro -p topol.top -o min_thing.tpr;
    • Upload the compressed tar file data.tar.gz
    • Click on "Submit the job" button
    • If your job got submitted successfully, you will see it listed under the "Job History" page: Go to the Job Submission page: https://boinc.tacc.utexas.edu/job_history.php
    • Once your job has finished executing successfully, you will receive an email notification with the subject "BOINC job completed", and your job results will either be attached to the email as a *.tgz file or a link to download the results will also be provided.
      Note: If your job was submitted successfully, and it ran on the client but there was a run-time error caused due to wrong parameters or wrong commands, you may still get an email with job completed with "success" but there will be no results
  6. HTSeq
    • Obtain the input and data files:
    • mkdir htseq;
      cd htseq;
      curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/test.sam;
      curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/gen.gtf;
    • Compress all necessary files into a .tar.gz, .tgz, or .zip compressed file
    • tar -cvzf data.tar.gz test.sam gen.gtf;
    • Log in to the BOINC@TACC website as a Researcher using your TACC portal credentials: https://boinc.tacc.utexas.edu/login_as_a_researcher_form.php
    • Go to the Job Submission page: https://boinc.tacc.utexas.edu/job_submission.php
    • Keep the radio-button for the "List of BOINC@TACC Docker images" selected and select HTSeq from the drop-down list
    • In the text-box for the list of commands, enter:
      htseq-count test.sam gen.gtf > test_htseq.txt;
    • Upload the compressed tar file data.tar.gz
    • Click on "Submit the job" button
    • If your job got submitted successfully, you will see it listed under the "Job History" page: Go to the Job Submission page: https://boinc.tacc.utexas.edu/job_history.php
    • Once your job has finished executing successfully, you will receive an email notification with the subject "BOINC job completed", and your job results will either be attached to the email as a *.tgz file or a link to download the results will also be provided.
      Note: If your job was submitted successfully, and it ran on the client but there was a run-time error caused due to wrong parameters or wrong commands, you may still get an email with job completed with "success" but there will be no results
  7. MPI-LAMMPS
    • Obtain the input and data files:
    • mkdir mpi-lammps;
      cd mpi-lammps;
      curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/Al99.eam.alloy;
      curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/aluminium.in;
    • Compress all necessary files into a .tar.gz, .tgz, or .zip compressed file
    • tar -cvzf data.tar.gz Al99.eam.alloy aluminium.in;
    • Log in to the BOINC@TACC website as a Researcher using your TACC portal credentials: https://boinc.tacc.utexas.edu/login_as_a_researcher_form.php
    • Go to the Job Submission page: https://boinc.tacc.utexas.edu/job_submission.php
    • Keep the radio-button for the "List of BOINC@TACC Docker images" selected and select LAMMPS from the drop-down list
    • In the text-box for the list of commands, enter:
      mpirun -np 2 lmp_mpi < aluminium.in > lammps_test.txt;
    • Upload the compressed tar file data.tar.gz
    • Click on "Submit the job" button
    • If your job got submitted successfully, you will see it listed under the "Job History" page: Go to the Job Submission page: https://boinc.tacc.utexas.edu/job_history.php
    • Once your job has finished executing successfully, you will receive an email notification with the subject "BOINC job completed", and your job results will either be attached to the email as a *.tgz file or a link to download the results will also be provided.
      Note: If your job was submitted successfully, and it ran on the client but there was a run-time error caused due to wrong parameters or wrong commands, you may still get an email with job completed with "success" but there will be no results
  8. NAMD
    • Obtain the input and data files:
    • mkdir namd;
      cd namd;
      curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/alanin.psf;
      curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/alanin.conf;
      curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/alanin.pdb;
      curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/alanin.params;
    • Compress all necessary files into a .tar.gz, .tgz, or .zip compressed file
    • tar -cvzf data.tar.gz alanin.psf alanin.conf alanin.pdb alanin.params;
    • Log in to the BOINC@TACC website as a Researcher using your TACC portal credentials: https://boinc.tacc.utexas.edu/login_as_a_researcher_form.php
    • Go to the Job Submission page: https://boinc.tacc.utexas.edu/job_submission.php
    • Keep the radio-button for the "List of BOINC@TACC Docker images" selected and select NAMD from the drop-down list
    • In the text-box for the list of commands, enter:
      namd2 alanin.conf > results_namd.res;
    • Upload the compressed tar file data.tar.gz
    • Click on "Submit the job" button
    • If your job got submitted successfully, you will see it listed under the "Job History" page: Go to the Job Submission page: https://boinc.tacc.utexas.edu/job_history.php
    • Once your job has finished executing successfully, you will receive an email notification with the subject "BOINC job completed", and your job results will either be attached to the email as a *.tgz file or a link to download the results will also be provided.
      Note: If your job was submitted successfully, and it ran on the client but there was a run-time error caused due to wrong parameters or wrong commands, you may still get an email with job completed with "success" but there will be no results
  9. CUDA
    • Obtain the input and data files:
    • mkdir CUDA;
      cd CUDA;
      curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/happ.cu;
    • Compress all necessary files into a .tar.gz, .tgz, or .zip compressed file
    • tar -cvzf data.tar.gz happ.cu;
    • Log in to the BOINC@TACC website as a Researcher using your TACC portal credentials: https://boinc.tacc.utexas.edu/login_as_a_researcher_form.php
    • Go to the Job Submission page: https://boinc.tacc.utexas.edu/job_submission.php
    • Keep the radio-button for the "List of BOINC@TACC Docker images" selected and select Cuda from the drop-down list
    • In the text-box for the list of commands, enter:
      nvcc happ.cu -o h.out;
      ./h.out;
    • Upload the compressed tar file data.tar.gz
    • Click on "Submit the job" button
    • If your job got submitted successfully, you will see it listed under the "Job History" page: Go to the Job Submission page: https://boinc.tacc.utexas.edu/job_history.php
    • Once your job has finished executing successfully, you will receive an email notification with the subject "BOINC job completed", and your job results will either be attached to the email as a *.tgz file or a link to download the results will also be provided.
      Note: If your job was submitted successfully, and it ran on the client but there was a run-time error caused due to wrong parameters or wrong commands, you may still get an email with job completed with "success" but there will be no results
  10. OpenFOAM6
    • Obtain the input and data files:
    • mkdir OpenFOAM6;
      cd OpenFOAM6;
      mkdir 0 constant system;
      curl https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/0/U > 0/U;
      curl https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/0/p > 0/p;
      curl https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/constant/transportProperties > constant/transportProperties;
      mkdir constant/polyMesh;
      curl https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/constant/polyMesh/boundary  > constant/polyMesh/boundary;
      curl https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/constant/polyMesh/faces     > constant/polyMesh/faces;
      curl https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/constant/polyMesh/neighbour > constant/polyMesh/neighbour;
      curl https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/constant/polyMesh/owner     > constant/polyMesh/owner;
      curl https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/constant/polyMesh/points    > constant/polyMesh/points;
      curl https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/system/blockMeshDict        > system/blockMeshDict;
      curl https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/system/controlDict          > system/controlDict;
      curl https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/system/fvSchemes            > system/fvSchemes;
      curl https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/system/fvSolution           > system/fvSolution;
    • Compress all necessary files into a .tar.gz, .tgz, or .zip compressed file
    • tar -cvzf data.tar.gz 0/ constant/ system/;
    • Log in to the BOINC@TACC website as a Researcher using your TACC portal credentials: https://boinc.tacc.utexas.edu/login_as_a_researcher_form.php
    • Go to the Job Submission page: https://boinc.tacc.utexas.edu/job_submission.php
    • Keep the radio-button for the "List of BOINC@TACC Docker images" selected and select OpenFOAM6 from the drop-down list
    • In the text-box for the list of commands, enter:
      blockMesh;
      icoFoam;
    • Upload the compressed tar file data.tar.gz
    • Click on "Submit the job" button
    • If your job got submitted successfully, you will see it listed under the "Job History" page: Go to the Job Submission page: https://boinc.tacc.utexas.edu/job_history.php
    • Once your job has finished executing successfully, you will receive an email notification with the subject "BOINC job completed", and your job results will either be attached to the email as a *.tgz file or a link to download the results will also be provided.
      Note: If your job was submitted successfully, and it ran on the client but there was a run-time error caused due to wrong parameters or wrong commands, you may still get an email with job completed with "success" but there will be no results

8. Steps for Containerizing and Running Custom Applications from Stampede2 or Lonestar5

Prerequisites

Instructions below should be run from Stampede2 or Lonestar5 supercomputers.

A separate registration step is not required for users who are submitting jobs for the first time from Stampede2 or Lonestar5 systems. The registration process is automatically taken care of at the time of submitting jobs to BOINC@TACC from Stamepede2 or Lonestar5.

Installation

Obtain the required files from this directory:

svn checkout https://github.com/ritua2/BOINCatTACC/trunk/stampede2-backend/S2-test-files;
cd S2-test-files;
chmod +x advance-submit.sh;

Tutorial files for custom applications

A sample exercise for each specific language is provided below. All the necessary files are available when cloning the github repo as per the above instructions. However, for users wishing to use only one test case, follow the instructions below:

Note: The script also accounts for job submission using SLURM. In order to utilize BOINC, the job must use 5 or less cores, and below 2048 MB of RAM.

  • BOINC job submission
  • curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/advance-submit.sh;
    chmod +x advance-submit.sh;
    
  1. C
    • Obtain the input and data files:
    • curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/hello_world.c;
    • Run job submission script:
    • ./advance-submit.sh;
    • Provide your email when requested

    • Select 3 for allowed options when prompted

    • Select n for providing a pre-compiled tar file when prompted

    • Select U or Ubuntu_16.04 for OS when prompted, this is the only available operating system as of now

    • Select c for languages used when prompted

    • Press Enter for libraries used when prompted

    • Press Enter for local directories used when prompted

    • Press Enter for setup files used when prompted

    • Write c for language when prompted as part of a Command

    • Write hello_world.c for file when prompted as part of a Command

    • Press Enter for any linked libraries when prompted as part of a Command

    • Press Enter for other flags or inputs when prompted as part of a Command

    • Press Enter for Continue? when prompted as part of a Command

    • Press Enter for language when prompted as part of a Command

    • Write hw.txt for Enter output files

    • Press Enter for Enter output files

  2. C++
    • Obtain the input and data files:
    • curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/hello_world.cc;
    • Run job submission script:
    • ./advance-submit.sh;
    • Provide your email when requested

    • Select 3 for allowed options when prompted

    • Select n for providing a pre-compiled tar file when prompted

    • Select U or Ubuntu_16.04 for OS when prompted, this is the only available operating system as of now

    • Select c++ for languages used when prompted

    • Press Enter for libraries used when prompted

    • Press Enter for local directories used when prompted

    • Press Enter for setup files used when prompted

    • Write c++ for language when prompted as part of a Command

    • Write hello_world.cc for file when prompted as part of a Command

    • Press Enter for requiring CGET libraries when prompted as part of a Command

    • Press Enter for any linked libraries when prompted as part of a Command

    • Press Enter for other flags or inputs when prompted as part of a Command

    • Press Enter for Continue? when prompted as part of a Command

    • Press Enter for language when prompted as part of a Command

    • Write hw.txt for Enter output files

    • Press Enter for Enter output files

  3. Fortran
    • Obtain the input and data files:
    • curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/hello_world.f90;
    • Run job submission script:
    • ./advance-submit.sh;
    • Provide your email when requested

    • Select 3 for allowed options when prompted

    • Select n for providing a pre-compiled tar file when prompted

    • Select U or Ubuntu_16.04 for OS when prompted, this is the only available operating system as of now

    • Select fortran for languages used when prompted

    • Press Enter for libraries used when prompted

    • Press Enter for local directories used when prompted

    • Press Enter for setup files used when prompted

    • Write fortran for language when prompted as part of a Command

    • Write hello_world.f90 for file when prompted as part of a Command

    • Press Enter for language when prompted as part of a Command

    • Write hw.txt for Enter output files

    • Press Enter for Enter output files

  4. Python3
    • Obtain the input and data files:
    • curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/hello_world.py;
    • Run job submission script:
    • ./advance-submit.sh;
    • Provide your email when requested

    • Select 3 for allowed options when prompted

    • Select n for providing a pre-compiled tar file when prompted

    • Select U or Ubuntu_16.04 for OS when prompted, this is the only available operating system as of now

    • Select python3 for languages used when prompted

    • Press Enter for libraries used when prompted

    • Press Enter for local directories used when prompted

    • Press Enter for setup files used when prompted

    • Write python3 for language when prompted as part of a Command

    • Write hello_world.py for file when prompted as part of a Command

    • Press Enter for language when prompted as part of a Command

    • Write hw.txt for Enter output files

    • Press Enter for Enter output files

  5. R
    • Obtain the input and data files:
    • curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/hello_world.py;
    • Run job submission script:
    • ./advance-submit.sh;
    • Provide your email when requested

    • Select 3 for allowed options when prompted

    • Select n for providing a pre-compiled tar file when prompted

    • Select U or Ubuntu_16.04 for OS when prompted, this is the only available operating system as of now

    • Select r for languages used when prompted

    • Press Enter for libraries used when prompted

    • Press Enter for local directories used when prompted

    • Press Enter for setup files used when prompted

    • Write r for language when prompted as part of a Command

    • Write hello_world.r for file when prompted as part of a Command

    • Press Enter for file to which write results when prompted as part of a Command

    • Press Enter for language when prompted as part of a Command

    • Write hw.txt for Enter output files

    • Press Enter for Enter output files

  6. Bash
    • Obtain the input and data files:
    • curl -O https://raw.githubusercontent.com/ritua2/BOINCatTACC/master/stampede2-backend/S2-test-files/hello_world.py;
    • Run job submission script:
    • ./advance-submit.sh;
    • Provide your email when requested

    • Select 3 for allowed options when prompted

    • Select n for providing a pre-compiled tar file when prompted

    • Select U or Ubuntu_16.04 for OS when prompted, this is the only available operating system as of now

    • Select bash for languages used when prompted

    • Press Enter for libraries used when prompted

    • Press Enter for local directories used when prompted

    • Press Enter for setup files used when prompted

    • Write bash for language when prompted as part of a Command

    • Write hello_world.sh for file when prompted as part of a Command

    • Press Enter for language when prompted as part of a Command

    • Write hw.txt for Enter output files

    • Press Enter for Enter output files

9. Building automatic Docker image from custom C code from the Website