SWAMP Align - Shannon Steinfadt

Welcome to ASC Resource Page

Associative Massive Parallelism - Single Instruction, Multiple Data

boxASC is a generalized version of the associative computing style that has been in use since the 1970’s with the introduction of associative SIMD computers such as the STARAN [Potter94].  Associative computing includes the use of data parallel programming, which is sequential in nature.  Unlike MIMD programming, ASC programmers are not responsible for task allocation, load balancing, synchronization points, etc.ASC Paradigm Picture

The reference to the word “associative” is related to the ability to locate data in memory by content rather than by location.  As shown in the figure, the ASC model consists of an array of cells and a single instruction stream.  The cells are composed of a processing element (PE) and a local memory.  Each PE is capable of performing local arithmetic, logical operations and the usual functions of a sequential processor other than issuing instructions.  Every PE listens to the instruction stream (IS), which broadcasts data and instructions.

Using and Running ASC

The ASC compiler and emulator are available for download.  Also, listed below is a local copy of the nice reference handout from Obie Slotterbeck on how to run the compiler and emulator.

ASC language primer: Table of Contents (pdf)

ASC language primer (pdf)

Windows EXE files:

ASC Compiler ASC Emulator Running in Windows (pdf)  Running in Windows (doc)

C Code for Compilation on Windows, Unix / Linux, Mac, etc.:

ASC Compiler ASC Emulator Test Suite Tar

 

ASC Syntax Highlighting for Xcode 3.0 on Apple MacOS 10.5.4 (Leopard):

These files need to be copied into the /Developer/Library/Xcode/Specifications directory and Xcode has to be restarted to get the benefits of syntax highlighting and auto-completion.

These files USED to reside as the *.pbsfilespec and the *.pblangspec that were stored in the /Library/Application\ Support/Apple/Developer\ Tools/Specifications/ in earlier versions of Xcode.

Modified from language specifications posted by Andreas Färber listed online as "Xcode 3 C# syntax coloring." I'm having a bit of trouble modifying the files to not be case sensitive and to highlight any capitalization combination. I'm currently looking in /Developer/Library/Private Frameworks/XcodeEdit.framework/Versions/A/Resources/ for examples to help with this.

 

Edit Remote Files in Xcode

** Note for Mac users - you can use MacFuse from Google to FTP and treat  the remote server as another volume (i.e. can be accessed like a local disk) and edit files in Xcode!  A nice description of usage in this manner can be found here.  The VERY helpful GUI is MacFusion available at http://macfusionapp.org/.

XCode 3 Search and Replace Regular Expressions Syntax

The regular expression syntax is not uniform in Xcode. All of the documentation listed indicates that it based on the ICU library. It appears that Xcode's find and replace "Regular Expression" grammar has some Perl-like structure to it. Some notes to help for search and replace are listed below and another good resource is the Noodlings online thread. Any good search hints and tips are welcomed at ssteinfa ".at." kent.edu.

^ beginning of line

$ end of line

[12][[:alpha:]] – find 1 or 2 followed by a letter

[12][[:alpha:]]+ – find 1 or 2 followed by one or more letters

[01[:alpha:]%]

Other qualifiers:

  • lower
  • alnum
  • blank
  • digit

To find ANY string that doesn't’t contain a, b or c: [^abc]

To find the beginning of a comment (\***) and to match complete it on the line (/***):

SEARCH field: ^\/\*\*\*.*  OR ^\/\*\*\**

REPLACE field: \0***/

The first wild card expression is matched with the \0. Following expressions are followed by \n where n >= 0.

 

Updates

October 2013

For those of you attending the Grace Hopper Celebration of Women in Computing in Minneapolis, MN, there will be a poster session on the sequence alignment work called "Beyond the Data SWAMP: Parallel Paradigms for Large Scale Sequence Alignment." In addition, Shannon will be giving a talk entitled "Gaming the System: Gamification for Nuclear and High-Hazard Response Training"

September 2013

Journal paper published and available online “Fine-Grained Parallel Implementations for SWAMP+ Smith-Waterman Alignment,” Shannon Irene Steinfadt. J. of Parallel Computing. Available online 4 September 2013, ISSN 0167-8191, http://dx.doi.org/10.1016/j.parco.2013.08.008.

March 2012

Filed United States Patent Application 13/423,085: “Computer-Facilitated Parallel Information Alignment and Analysis.” This patent outlines approaches for an extended Smith-Waterman genomic data sequence alignment algorithm used for finding similarities in data strings that can discover multiple sub-string alignments efficiently on parallel computing architectures.

March 2010

Shannon defended the Ph.D. dissertation Smith-Waterman Sequence Alignment for Massively Parallel High-Performance Computing Architectures.

November 2009

If you are attending Supercomputing SC'09 conference, stop by to visit Shannon at the ACM Student Research Poster Competition. The poster is titled Large-Scale Wavefront Parallelization on Multiple Cores for Sequence Alignment. She is the recipient of the Broader Engagement Grant for SC for the second year.

September 2009

Invited speaker for the CRA-W Workshop at Grace Hopper Celebration of Women in Computing - The Road to Graduate School

Shannon started a Graduate Research Assistantship at Los Alamos National Lab with the Decision and Risk Anaylsis, continuing her research with parallel and HPC Smith-Waterman sequence alignment.

June 2009

Shannon held a summer position at Los Alamos National Laboratory with the Performance and Architectures Lab.  She spent the summer looking at performance metric and parallel algorithms on several architectures, including SSE intrinsics and JumboMem.

Shannon Steinfadt and Kevin Schaffer had a paper that appeared in the 4th Ohio Collaborative Conference for Bioinformatics (OCCBIO), Cleveland, Ohio, June 15-17, 2009 “Parallel Approaches for SWAMP Sequence Alignment.”

 

Links