Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. Laya the open source version of Jev(convaiinnovations.com ↗)
    81comments
  2. What Zig felt like, coming from Rust(besok.github.io ↗)
    47comments
  3. A graphical desktop for the ZX Spectrum(github.com/mindbox77 ↗)
    8comments
  4. AI-generated posters don’t have to be horrible(john.hartnup.uk ↗)
    373comments
  5. Tin: full-text search for Postgres(planetscale.com ↗)
    3comments
  6. Human brain is two separate organs, Stanford Medicine-led research finds(stanford.edu ↗)
    166comments
  7. “The Secret Life of Circuits” is here(coredump.cx ↗)
    37comments
  8. Asking Authors About Their Own Papers(medium.com/tmlrorg ↗)
    7comments
  9. Android 17 is the first since 3.x to add new APIs without releasing to the AOSP(grapheneos.social ↗)
    521comments
  10. Black Holes or Black Hole Stars? Astronomers Spar over 'Little Red Dots'(quantamagazine.org ↗)
    7comments
  11. GPT-6 Astra Solves a WWI German Radio Cipher(prinzai.com ↗)
    121comments
  12. San Francisco Onion Futures Company(onionfutures.com ↗)
    94comments
  13. If math is more than proof, we need to better celebrate the rest of it(terrytao.wordpress.com ↗)
    174comments
  14. Learning Another Language May Be One of the Best Ways to Keep Your Brain Healthy(theconversation.com ↗)
    11comments
  15. Cloudflare Quick Tunnels(cloudflare.com ↗)
    299comments
  16. How to Write with an LLM(sockpuppet.org ↗)
    358comments
  17. Communication by means of modulated Johnson noise(pnas.org ↗)
    16comments
  18. You can run Git on object storage if you re-make packfiles(tigrisdata.com ↗)
    23comments
  19. Saving another 100TB of RAM(cloudflare.com ↗)
    87comments
  20. SDCC – Small Device C Compiler(sourceforge.net ↗)
    22comments
  21. Science Is Open Software(jepedersen.dk ↗)
    47comments
  22. From Stonemasons to Carpenters(thelastsoftwareengineer.substack.com ↗)
    4comments
  23. Why building a Rust LSP is hard(rust-glancer.github.io ↗)
    44comments
  24. Ray Ozzie and the Optimism of Being Early(reproof.app ↗)
    6comments
  25. The first new cat species discovered in 100 years(nationalgeographic.com ↗)
    119comments
  26. Ctenophores: Wonders of Biology(quantamagazine.org ↗)
    6comments
  27. How OpenAI Used Its Own LLMs to Design Its Jalapeño Chip(ieee.org ↗)
    115comments
  28. NASA-IBM Lunar Foundation open-Source Geospatial AI Model(usra.edu ↗)
    5comments
  29. OpenJev(openjev.com ↗)
    276comments
  30. Goroutine Leak Profiles(go.dev ↗)
    6comments

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

55 pointsby 2y agogithub.com
21 comments
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)

2y agoHN ↗

What exactly is an "agent based model" in this case? What I see is a lot of triangles moving around, but what exactly drives them?

2y agoHN ↗

From my understanding it's the term used for Complex Modelling Systems in Social Sciences.

2y agoHN ↗

Hi, thank you for your interest. Agent based model is a term refers to an interaction between multiple object (called agent) with its own property. The triangle is one agent in this case and in this example it moves along a random trajectory (just like people in a crowd). Each triangle also has its own color of its population so agents in the same population will have the same color.

2y agoHN ↗

reminds me of the flocking demos 20 years ago...

2y agoHN ↗

Are the agents independent or are they affected by neighbors? It would be nice to see some classic ABM examples like wolf-sheep population, flocking, and wildfire spread to demonstrate the utility of this.

2y agoHN ↗

Right now it's independent. I just want to provide a playground and people can make more with it. Loves your idea though.

2y agoHN ↗

Are the entities interacting in any way here? That's pretty critical for agent based models as they enable complicated/unexpected emergent behavior from simplified rules due to the interactions of the entities.

2y agoHN ↗

Yeah they should be interact to each other. Right now I just started with it and want to share so everyone can take advantage in their ways.

2y agoHN ↗

This is supercool and beyond what I've done. Thanks for sharing.

2y agoHN ↗

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.

2y agoHN ↗

This's awesome. Happy to know that you're doing the same.

2y agoHN ↗

Wow it's amazing visualization. Thanks for suggestion.

2y agoHN ↗

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/)

2y agoHN ↗

Thanks for your advice. I will update more in the next version.

2y agoHN ↗

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

https://news.ycombinator.com/item?id=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...

2y agoHN ↗

Basically possible. You have to remove all Cuda code and port C++ code to use glfw with specific library for web. The shader can be reused.