GSoC/GCI Archive
Google Summer of Code 2009

Center for the Study of Complex Systems, Univ of Michigan

Web Page:

Mailing List: We use wiki's for collaboration on projects, combined with local email-lists of project members.

The Center for the Study of Complex Systems (CSCS) is a broadly interdisciplinary unit within the College of Literature, Science and the Arts (LSA) of the University of Michigan, Ann Arbor, Michigan. CSCS's mission is to encourage and facilitate research and education in the general area of nonlinear, dynamical and adaptive systems. Participating faculty represent nearly every college of the University. The Center is based on the recognition that many different kinds of systems which include self-regulation, feedback or adaptation in their dynamics, may have a common underlying structure despite their apparent differences. Moreover, these deep structural similarities can be exploited to transfer methods of analysis and understanding from one field to another. In addition to developing deeper understandings of specific systems, interdisciplinary approaches should help elucidate the general structure and behavior of complex systems, and move us toward a deeper appreciation of the general nature of such systems.


  • Design and Implementation of Tools for Exploration and Optimization of High-Dimensional Computational Models Proficient in Python, Java and Matlab, have experience with Perl and am currently learning C and C++. I also have experience writing Cython-based C-native Python extensions ( to make computational modeling in Python both easy and computationally feasible. PhD Student currently working on several computational models of the community-level outbreak of infectious diseases.
  • Develop Libraries for using GPGPU for Agent-Based Models Complex Adaptive Systems (CAS) represent many of the most difficult problems facing the modern world. Agent-based models (ABMs) have become an excellent approach to solving these problems. ABMs attempt to model complex systems by directly modeling the unique individuals (agents) that make up the system. This means that ABMs require considerable computing power, and as such, this project will ultimately attempt to develop an API that provides common ABM operations implemented on GPUs.
  • GridSweeper release and improvements GridSweeper is a tool for automating parameter sweeps of computational models on grid systems such as the Sun Grid Engine. Developed from the beginning as a Summer of Code project, it has been used by researchers and students at the University of Michigan Center for the Study of Complex Systems to aid in the study of a wide variety of complex systems. This year, I propose to work on two major tasks: (1) Complete a 1.0 release of GridSweeper that can be deployed easily by other grid administrators. (2) Work on improvements for future releases, focusing on finishing the adaptive parameter sampling work begun during Summer of Code 2008.
  • Proposal to investigate and develop a GPGPU based ABM library This proposal is to work on the new project under consideration at CSCS@UMichigan, Developing Libraries for GPGPU Agent-Based Models. I wish to begin developing a library of GPGPU tools based on a reimplementation of the ABM in "Neighbourhood Choice and Neighbourhood Change" (originally implemented in REPAST in Java) by Dr. Elizabeth Bruch. I am flexible on the exact ABM chosen, but envision developing the model in either CUDA or PyCUDA, as OpenCL is not yet an available alternative.
  • TFACES/CUDA TFACES is a suite of tools designed to make the entire process of computational modeling simpler, from implementation to interpretation. In implementation, TFACES simplifies the process of data management. In interpretation, TFACES simplifies the process of cross-sectional data extraction and analysis. While TFACES reduces the complication of modeling, it does not increase the speed. There is fertile ground for the implementation of components and analysis of computational models on GPU.