Portfolio

  • p_map
    Physics Based Graph Drawing

    A text adventure game with a spring/electron model for graph drawing and a Mario mini-game.

  • h_wta
    WTA Bus Routing

    A command-line route planning application for Whatcom Transit Authority’s bus schedule.

  • h_slime2
    Slime Volleyball Tech Demo

    A slime volleyball game developed for Android with multi-touch controls, a custom physics engine, and animated sprites.

Code

2D Multigrid & Red-Black SOR in Ada95… Part 3

31MB_grid

Now for the epic conclusion to my 3 part series on Successive Over Relaxation and Multigrid PDE solving methods. If that last sentence didn’t make sense to you, please refresh your memory by skimming parts one & two.   The Multigrid Algorithm In our main function, we start by kicking off n tasks (Ada’s version …

Read more

2D Multigrid & Red-Black SOR in Ada95… Part 2

multigridR

Before we begin the next part in this series, let’s review the stencil used for solving the heat equation. A single iteration over the grid involves applying this stencil (taking the NEWS (North/East/West/South average) for every index in the inner grid. Let’s see how this looks sequentially in Python. This is known as Jacobi iteration …

Read more

2D Multigrid & Red-Black SOR in Ada95… Part 1

grid.png

Grid computations are commonly used in the scientific community to model a variety of physical systems. These systems are modeled by approximating the solutions to the partial differential equations that describe the phenomena that is being studied. In this series of posts, I’ll be focusing on a solver I wrote for elliptic PDE’s like Laplace’s …

Read more

3D Fruchterman Reingold Algorithm?

Random Lobster Graph

In preparation for SC11, I began experimenting with parallelism using something other than the built in paradigms in the Ada programming language. Unfortunately, it’s not so easy to pick a programming model – popular models include OpenMP, OpenMPI, OpenCL, CUDA, Intel Cilk, and pthreads (among others!). I might do a blog post in the future …

Read more

Intel’s Parallel Resources for Students

Intel Academic Community

Over the summer of 2011, I had the chance to meet a couple of Intel employees and discuss, for the first time, Intel’s “Many Integrated Core” technology for High Performance Computing, it’s applications, and what programmer’s would have to do to take advantage of the new hardware. Not only that, I got to hold one …

Read more