|Position Title||Parallel Program Performance Protector|
|Summary||This internship position deals with instrumenting and testing various parallel performance monitoring protocols for an existing program. This information will be critical for improving the program's performance and scalability on a variety of parallel computing platforms such as small clusters, general purpose graphic processing units (GPGPU), and supercomputers.|
|Job Description||In this position, the intern will primarily be working on an ab initio density functional theory based program for computing the electronic structure of solids that has been developed at UMKC. The program is called OLCAO for Orthogonalized Linear Combination of Atomic Orbitals. The main purpose of the internship is to apply performance monitoring and testing protocols to ensure that the application performs well and scales well for a wide variety of problem classes and on a wide variety of computer architectures. The intern will collect this data, organize it, and analyze it to find places where the performance of the code is lacking and to help guide further parallelization efforts.|
The program is written in Fortran 90 and will use a hybrid of MPI and OpenMP for parallelization. Various performance monitoring tools will be used such as Tau, Papi, and IPM. The program code will initially be run on regional computers run by the Missouri research network (both cluster type and SMMP). Pending access to Lincoln or Longhorn TeraGrid machines (GPGPU capable) or pending funding for purchase of a local (smaller scale) GPGPU based system this type of architecture will also be explored.
This project is designed particularly for a student who is at or near an entry level of parallel programming knowledge and skill. The student will gain valuable experience (programming, debugging, parallel algorithm planning, etc) on a serious project with a reduced likelihood of being overwhelmed by technical complexity. Further, because the parallelization of the OLCAO code is in the beginning stages this will be an excellent project to initiate the long term involvement of the intern into both the parallel program development and the scientific application of the program. Relatively little experience is required so there is plenty of opportunity for on-the-job training. Self motivation is critical.
|Conditions/Qualifications||The primary qualifications are extreme motivation, an ability to read technical manuals, patience, and good analytical problem solving skills. There are no requirements for previous computational or programming experience. However, experience with getting around in UNIX/LINUX systems, editing, compiling, running, and debugging programs will make your life much easier and will make the time you spend at this internship much more worth your while. Self study before the internship start date is a must.|
The one condition is that the student must be enrolled as an undergraduate at the University of Missouri - Kansas City.
|Location||City: Kansas City|
Institution: University of Missouri - Kansas City
Research Group: Rulis Computational Physics Group