Manufacturing Computations Lab


Home

News

Research

People

Classes
Ecology Modeling

Background:

The field of quantitative analysis of ecological systems using empirical data and mathematical models (including statistical models) is called computational ecology. The complexity of ecological systems makes it very difficult to find general laws governing these systems. The experiments designed to study an ecology model most often cannot be controlled in the same way as physical experiments due to the living nature of its components. A problem of interest in an ecology model frequently happens on spatial and temporal scales larger and longer than any individual can effectively study. These difficulties make the use of predictive computer simulations in ecological research inevitable.


Method:
In this research we are developing Individual Based Models (IBMs) of ecological systems. Unlike differential equations that track the average behavior of individuals in populations, IBMs can model the behavior of individual entities, and the average behavior  results from the local interactions of the entities. This means that non-linearities at the individual level can easily be captured. The downside to IBMs is the computational effort required.

In this research, we are applying General Purpose Graphics Processing Unit (GPGPU) techniques to model large scale eco-systems. GPUs are highly parallel computer hardware nominally used for graphics computations and three-dimensional shaded display of geometric objects. In the recent past, GPUs have become programmable thus enabling their use in other types of computations.  This is achieved by designing special routines called kernels that are programmed directly into the hardware.

In our implementation, we use 
three essential kernels: environment update, individual update, and individual scatter. Each of these kernels operates synchronously in the main loop of the graphics pipeline. The environment update kernel uses cellular automata (branching) or a convolution filter to modify the environment. The individual update kernel repositions the individuals based on the local information read from the environment map. The individual scatter kernel plays the key role of connecting the individuals to their corresponding positions on the world map (environment) at each times step.

Results:
Figure 1. shows a screen shot of our current implementation on an NVIDIA GeForce 7950 GX2. . In this figure, the black area represents urban area or dead land, the brown color represents the hardwood land and the dark green color represents the pasture land. The small red dots here are the deer grazing on the light green areas (vegetation). The blue region represents the lake.

Publications:

Acknowledgment:




Dept. of Mechanical Engineering-Engineering Mechanics
Michigan Tech. University
1400 Townsend Drive
Houghton MI 49931
Ph: 906-487-1001