4 ms·
Umm, why not? We wrote entire NVIDIA, AMD, and QCOM drivers in that style. https://github.com/tinygrad/tinygrad/blob/master/tinygrad/runtime/ops_nv.py https:/
by georgehotz 2y ago
Umm, why not?
We wrote entire NVIDIA, AMD, and QCOM drivers in that style.
https://github.com/tinygrad/tinygrad/blob/master/tinygrad/runtime/ops_nv.py https://github.com/tinygrad/tinygrad/blob/master/tinygrad/ru...
https://github.com/tinygrad/tinygrad/blob/master/tinygrad/runtime/ops_amd.py https://github.com/tinygrad/tinygrad/blob/master/tinygrad/ru...
https://github.com/tinygrad/tinygrad/blob/master/tinygrad/runtime/ops_qcom.py https://github.com/tinygrad/tinygrad/blob/master/tinygrad/ru...
- almostgotcaught 2y agoBecause it's slow duh
- georgehotz 2y agoThis sounds like prejudice. Have you benchmarked it?
- almostgotcaught 2y agoYes I literally duplicated your approach for my driver stack last week and surprise surprise the FFI overhead into libc is too high.
- georgehotz 2y agoFFI? This isn't how GPUs work...they are MMIO (mostly) Those drivers are faster than anything else when used to run fixed command queues (what neural network runs are)