zlacker

Show HN: Demo of Agent Based Model on GPU with CUDA and OpenGL (Windows/Linux)

submitted by ktt878+(OP) on 2023-12-04 19:34:56 | 55 points 21 comments
[view article] [source] [go to bottom]

Demo of agent based model on GPU with CUDA and OpenGL (Windows/Linux)

Agent instances on GPU memory Uses SSBO for instanced objects (with GLSL 450 shaders) CUDA OpenGL interops Renders with GLFW3 window manager Dynamic camera views in OpenGL (pan,zoom with mouse) Libraries installed using vcpkg

(https://github.com/KienTTran/ABMGPU)


NOTE: showing posts with links only show all posts
7. m-murp+4J[view] [source] 2023-12-04 23:34:49
>>ktt878+(OP)
Another related project for ABMs utilizing GPUs: https://docs.flamegpu.com/guide/index.html
8. TheEzE+UL[view] [source] 2023-12-04 23:48:54
>>ktt878+(OP)
Super cool, curious to see where you take this! I did some work on GPGPU for agent simulations for an RTS years ago ( https://www.youtube.com/watch?v=P4fKJIrv0J8 ). Doing things like pathfinding on the GPU gets tricky, especially taking into account how agents affect paths of other agents. Happy to jam anytime if you're brainstorming applications.
9. jasonj+gO[view] [source] 2023-12-05 00:00:02
>>ktt878+(OP)
You should work on inter-agent interaction next! It's so much fun.

I have played with this a fair amount and put a couple of my experiments in a repo- both slime mold simulation and "particle life".

Here's the repo: https://github.com/jasonjmcghee/compute-shaders

And a video of the slime mold: https://twitter.com/_jason_today/status/1663378736098738177?...

16. posnet+UW[view] [source] 2023-12-05 00:57:39
>>ktt878+(OP)
Another fun one, not sure about accuracy, but the visuals are stunning.

https://youtu.be/dSkxvi9igqQ

https://github.com/chrxh/alien/

17. morito+u11[view] [source] 2023-12-05 01:40:42
>>ktt878+(OP)
If you want to create some pretty effects, add the concept of a velocity-texture which is added to agents velocity as they pass over it. Then let the user draw on the texture. Very cheap way to get interactivity. My own version from before compute shades were a thing (https://moritonal.github.io/force-particles/)
20. westur+Ar1[view] [source] 2023-12-05 05:52:08
>>ktt878+(OP)
Could this work in WebGL and/or WebGPU (and/or WebNN) with or without WASM in a browser?

https://stackoverflow.com/questions/48228192/webgl-compute-s...

https://github.com/conda-forge/glfw-feedstock/blob/main/reci...

pyglfw: https://github.com/conda-forge/pyglfw-feedstock/blob/main/re...

- [ ] glfw recipe for emscripten-forge: https://github.com/emscripten-forge/recipes/tree/main/recipe...

Emscripten porting docs > OpenGL ES 2.0/3.0 *, glfw: https://emscripten.org/docs/porting/multimedia_and_graphics/...

WebGPI API > GPUBuffer: https://developer.mozilla.org/en-US/docs/Web/API/WebGPU_API

gpuweb/gpuweb: https://github.com/gpuweb/gpuweb

>>38355444 :

> It actually looks like pygame-web (pygbag) supports panda3d and harfang in WASM

Harfang and panda3d do 3D with WebGL, but FWIU not yet agents in SSBO/VBO/GPUBuffer.

SSBO: Shader Storage Buffer Object: https://www.khronos.org/opengl/wiki/Shader_Storage_Buffer_Ob...

/? WebGPU compute: https://www.google.com/search?q=webgpu+compute

"WebGPU Compute Shader Basics" https://webgpufundamentals.org/webgpu/lessons/webgpu-compute...

[go to top]