6 ms·
Same goes for GPGPU
by h91wka 7y ago
Same goes for GPGPU
- imtringued 7y agoThe restrictions in language features make the limitations of GPUs visible to high level language users. The reason why GPGPU is hard is that most tasks simply don't satisfy these constraints. You don't need to be a genius to run a multiplication of two arrays on a GPU.
- h91wka 7y ago> You don't need to be a genius to run a multiplication of two arrays on a GPU. You don't need to be a genius, but you need to know a lot about low-level stuff. "Simple" matrix-vector multiplication is a task where quirks of hardware already make quirks of the language fade in comparison. You need to find out how to split your task into blocks to minimize access to global memory, you need to manage your shared memory, etc, etc. _Somewhat_ performant matrix-vector multiplication algorithm looks nowhere close to textbook definition because of this. So sticking Java or whatever popular language on the problem is not going to make it much more accessible, as you still need very specific knowledge to not waste electricity by writing an algorithm that is 5-10 times slower than it should be, because all it does is waiting for global memory.