Hacker News new | ask | show | jobs
by sliverstorm 4405 days ago
IMO the complexity is only half the problem- humans are really not very good at thinking like a GPU. Most people have to be trained to be able to think massively parallel, and it's also hard to work with a device that is so bad at conditional branching.

So, one of the roles of the API is a sort of a deserializer, converting our human, linear, serial way of thinking to the GPU's parallel world.

1 comments

I don't think OpenGL or D3D or 3D programmers deal with 'parallelization' much. There are very common things that have to be done that in reality are mathematically parallel, but are basically one unit in the API, such a texture, or geometry surface and transformations. It is true complexity, in multi-graph fashion. So, even if we didn't have massively paralle GPUs, we would still come up with same exact abstractions, not because we are not good at thinking massively parallel, but because there is no need to rewrite a loop over a matrix a billion times.