Showing posts with label CUDA. Show all posts
Showing posts with label CUDA. Show all posts

March 3, 2011

Random number generators on GPU

Almost every simulation requires random numbers generation (RNG) for achieving accurate results. In my simulations I used 2 RNGs. MersenneTwister - has a very long period and can be used in simulations that are supposed to be running for a long time, and XOR128 - extremely fast RNG, however its period is not as large as MerseneTwister's one. I created a small library that contains 3 RNGs: MersenneTwister, XOR128 and Tausworthe generator.

March 1, 2011

Web access to GPU Smoldyn

In my previous post I described a GPU implementation of Smoldyn. In this post I'm going to describe a Web-Service that provides an internet access to it. Using this service a user can start a simulation just uploading a configuration file describing a model. The service executes this file and uploads screenshots and other output files to user's profile, so a user can access them. This allows users, who doesn't have access to high performance GPUs enjoy all benefits of GPU implementation (200x speedup for instance).

February 23, 2011

Biochemical simulations on GPU

My second project is a CUDA implementation of Smoldyn simulator. Smoldyn is cell-scale biochemical simulator which simulates each molecule of interest individually to capture natural stochasticity and for nanometer-scale spatial resolution. This is a particle-based method that allows simulation of chemical molecules with Brownian motion and different reaction types.

February 21, 2011

GPU-based Direct Simulation Monte Carlo

It's been a while since my last post. Lots of things have changed. Now I'm a PhD student at UW-Milwaukee and a research assistant at the Complex Systems Simulation Lab. In this post I will describe my first project which is a GPU (CUDA) implementation of DSMC method for particle simulations.

DSMC is a computational method for fluid mechanics simulation. Simply put, it can be used for simulation of interaction between gas molecules and a solid body. For example, the case, when a space ship enters the atmosphere can be simulated. The method is relatively simple, but it requires simulation of huge number of molecules for an accurate result, so it is a good candidate for parallelization.