School of Computational Science and Engineering
College of Computing
Georgia Institute of Technology
Address: 266 Ferst Drive, Atlanta, GA 30332-0765
Office: KACB 1332
Phone: (404) 894-3086
My general area of research is in developing and applying numerical and discrete algorithms for solving large-scale scientific computing problems. Specific algorithms that interest me include those of numerical linear algebra, such as preconditioning and multilevel methods for solving sparse linear systems; as well as those of particle-based simulation, for example molecular dynamics techniques for biological molecules. I am also interested in data-intensive computing, particularly algorithms and machine architectures for analyzing unstructured data such as massive graphs and complex networks.
Please contact me if you are interested in collaborating! I'm particularly interested in projects that combine numerical linear algebra with high performance computing. These are some of the projects I am working on now.
Preconditioners designed for emerging high performance computers. In the iterative solution of a large-scale linear system, a preconditioner is a transformation of the system that is intended to accelerate convergence. Any preconditioner must make a tradeoff between the quality of the transformation, and the cost of constructing and applying it. The goal of this research is to design preconditioners that are effective for various applications, but at the same time explicitly make tradeoffs that reduce their cost on emerging high performance computers. I'm particularly interested in the trend toward increased data parallelism, and targetting general purpose processors with wide SIMD instructions (e.g., SSE, AVX), as well as data-parallel accelerators including GPUs. Some of these new preconditioners are based on the idea that data-parallel arithmetic on these machines is basically free, but data movement is not.
Large-scale simulation of macromolecules in the cell. This is a systems biology project in collaboration with Dr. Tadashi Ando and Prof. Jeffrey Skolnick. The long-term goal of this work is to develop methods for efficiently simulating the motion of macromolecules in an entire cell. We are currently using Stokesian Dynamics with Brownian motion, using Ando's shared-memory code, which is able to capture the hydrodynamic environment inside the cell. Challenges include the development of efficient parallel numerical methods (including applying results of Stokes flow for matrix preconditioning, and new matrix reordering problems) as well as as the development of a distributed memory code that can scale to simulating millions of molecules.
PSI4: a next generation computational quantum chemistry package. This is a project in collaboration with Prof. David Sherrill. This collaboration was seeded by the NextGen Codes Initiative of the Georgia Tech Institute for Data and High Performance Computing. The goal of the project is to develop efficient, parallel algorithms for electronic structure calculations incorporating the very latest density-fitting, Cholesky decomposition, and localized-electron approximations. These algorithms will be integrated into the PSI4 quantum chemistry package. One of the first steps has been developing new software for high-performance parallel tensor contractions.
Data-intensive computing with graphical data. Studying the structure of the linkages between inter-related entities such as web pages in the web graph and electrical substations in the power grid can yield astonishing insights. At the same time, there are small, important pieces of information hidden in vast amounts of graphical data that can be very challenging to find. I am interested in problems and algorithms involving massive data sets, using graph algorithms, spectral graph theory, and machine learning. Problems I've worked on in this area in the past include heuristic search in graphs (e.g., reducing the algorithmic complexity of shortest path search for many types of graphs), large-scale graph algorithms on distributed parallel computers (e.g. using 2-D partitioning to reduce communication costs), and probabilistic search algorithms on semantic graphs.
Prospective students: If you are interested in Ph.D. research in the above research projects or related areas, please contact me! I'm very interested in talking with you!
I joined Georgia Tech in August 2010. Previously, I worked at D. E. Shaw Research in New York (from 2005 to 2010) and at Lawrence Livermore National Laboratory in the Center for Applied Scientific Computing (from 1998 to 2005). I've also taught several courses at Columbia University as an Adjunct Associate Professor in the Department of Applied Physics and Applied Mathematics.
I studied at the University of Minnesota (Ph.D., Computer Science, minor in Aerospace Engineering, 1997). My undergraduate studies were at the University of Waterloo in Canada (Hons. B.A.Sc., Systems Design Engineering, 1993).
Associate Editor, ACM Transactions on Mathematical Software, 2012-present.
Associate Editor, SIAM Journal on Scientific Computing, 2008-present.
Co-Chair (with Ali Pinar and Rob Schreiber), SIAM Conference on Parallel Processing for Scientific Computing, Portland, OR, 2014.
Organizing Committee, SIAM Annual Meeting, Chicago, IL, 2014.
Algorithms Chair, Technical Papers Committee, ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis (SC12), Salt Lake City, UT, Nov. 10-16, 2012.
Vice-Chair, Scientific Committee, 10th International Meeting on High-Performance Computing for Computational Science (VECPAR 2012), Kobe, Japan, July 17-20, 2012.
Some conference program committees: IPDPS 2014, SC'13, SC'12, ICPP'12, IPDPS 2011, HiPC 2011, SC'10, IPDPS 2010, HiPC 2010, SC'09
I am also affiliated with the Georgia Tech Institute for Data and High Performance Computing.
At Georgia Tech:
At Columbia University:
Computational Science and Engineering (CSE) began as a Division of the College of Computing in 2005. We became our own School (or Department) in the College of Computing in March 2010. Our sister schools in the College are the School of Computer Science (CS) and the School of Interactive Computing (IC).
Since 2008, MS and PhD degree programs in Computational Science and Engineering have been offered, with students homed in CSE or another academic unit, including those in the College of Sciences and the College of Engineering.
In CSE, we teach and perform research in high performance computing, large-scale data analytics (including machine learning and visual analytics), and modeling and simulation. We have great faculty, wonderful staff, and amazing students. Check us out!
I gratefully acknowledge the support of NSF, DARPA, Intel Corporation, and the State of Georgia for funding my research.