# Presentation: 035255

## Parallelization of a Non-Linear Analysis Code

**Travis Whitlow**
- Alabama A & M University
- Research Alliance in Math and Science
- Computer Science and Engineering Division
- Mentors: Dr. Lee Hively and Dr. Jim Nutaro
- http://www.csm.ornl.gov/Internships/rams_07/abstracts/t_whitlow.pdf

- The Research Alliance in Math and Science program is sponsored by the Mathematical, Information, and Computational Sciences Division, Office of Advanced Scientific Computing Research, U.S. Department of Energy.  The work was performed at the Oak Ridge National Laboratory, which is managed by UT-Battelle, LLC under Contract No. De-AC05-00OR22725. **T**his work has been authored by a contractor of the U.S. Government, accordingly, the U.S. Government retains a nonexclusive, royalty-free license to publish or reproduce the published form of this contribution, or allow others to do so, for U.S. Government purposes.

**OAK RIDGE NATIONAL LABORATORY**
**U.S. DEPARTMENT OF ENERGY**

- The author would like to thank Dr. Hively and Dr. Nutaro for all the help on accomplishing my project, as well as Dr. Deng of Alabama A&M for his encouragement and financial support to participate in this program.

**Research**
- Over the last decade, ORNL has developed and patented a novel approach for forewarning of a large variety of machine and biomedical events. One of the most amazing uses of this research involves accurate prediction of epileptic seizures with up to 4.5 hours of forewarning. The analysis involves 27 GB of brain wave data with 40 seizure datasets and 20 non-event datasets. The majority of this analysis to date has been on desktop computers.
- An important next step in this effort is implementation on a high-performance computer for rapid analysis. This work involves conversion of the existing research-class, nonlinear statistical FORTRAN code to a parallelized form that runs on a high-performance cluster computer. The brain wave data will be analyzed for seizure forewarning for various values of the statistical parameters. The goal is maximal total true rate, which is the sum of true positives (correct
- prediction of a seizure event) and true negatives (no forewarning when no event occurs).

**Objectives**
- 1. Convert an existing research-class, nonlinear statistical
-     **FORTRAN** code to a parallelized form that runs on a high-performance cluster computer
- 2. Analyze brain wave data for seizure forewarning for various values of the statistical parameters
- 3. Find a parameter set that maximizes the total true rate

**Methodology**
- The program paradigm **MPI** (Message Passing Interface) was used to convert the existing code into a more parallelized form, which was ran on a high-performance cluster.

- As you can see, **MPI** isn’t a program language in itself, but is merely a software vehicle that carries a code to and from processors and allows numerous copies of a code to be executed simultaneously.

- Each job is  calculated simultaneously

- Output

- Initialization

- Sent to processors

- Gather results

- Program Example
- integer  ::  a
- a = 0
- do I = 1,10
- 	a = a+1
- end do
- print*, a

**FORTRAN**

**FORTRAN + MPI**
- include ‘mpif.h’
- integer myrank,a
- call MPI_INIT (...)
- call MPI_COMM_RANK(...)
- ...
- call MPI_FINALIZE
- end

**How was it done?**

- (example)

**Fig.1. Example of parallelized FORTRAN code using MPI**

**Fig.2. Parallel code using multiple processors**

**Seizure Prediction Process**

**1.**** **EEG data gathered and sent to SeizAlert device

**2(a).**** **Artifact removal done and discrete points generated

**2(b). **Analysis of dissimilarity

**3. **Forewarning result

**1**

**2**

**3**

**Results**

**Lets say**,

- T= CPU time (seconds/program)

**Using MPI  and running *****n***** processors**,

- But 10 times the output, when *n* = 10

- , still                   (ideally)

- T-graph

**Future Work**

- The CPU time was predicted to remain somewhat constant, given the assumption that each processor had identical calculating ability.
- Also, examination of the forewarning summaries  made it possible to narrow the parameter space by graphing the total true rate versus each parameter.
- By doing so a visible parameter value region is shown, making it possible to see which values generate higher total true rates.

- Biomedical examples include forewarning of  ventricular fibrillations
- (total true rate = *fT* = 5/5) and fainting (*fT *= 2/2) from surface heart waves (electro-cardiogram, ECG); detection of sepsis onset (*fT* = 23/23) from ECG, and breathing difficulty from surface chest sounds (*fT* = 2/2). Industrial applications provide forewarning of machine failures from motor power to tri-axial acceleration.

**Fig.3. SeizAlert seizure prediction process**