It's about time I started posting here about my progress with this project. First off, what is this project? The idea is to create an agent based artificial intelligence on the GPU, which will hopefully be able to handle more agents more efficiently that a similar AI on the CPU. Here are the steps.
- Farm each agent to a thread. This would be simply parallelizing the
for loop which executes update for each agent.
- There will be a result at the end of this which makes for a
- Naive decomposition of agents by taking positions into account (by recursively split the world into quadrants).
- kd-tree decomposition. this is more intelligent spatial decomposition.
- I was given a kd-tree implementation, so I will have to change it to suit my purpose.
Step 3 (independent of Steps 1,2)
- parallelizing the grid database (the database which stores
information of all agent positions)
- parallelizing the drawing loop (this is very similar to step 0 where I simply parallelize a for loop)
That's it for now, although I will post some pictures later when I get Steersuite (the framework I'm using, which was provided to me by Mubbasir Kapadia) up and running.