3 ms·
There is no explanation how it works. Does it work on top of existing APIs in user space? Or is there a custom kernel driver bypassing user space? I've done so
by exDM69 10y ago
There is no explanation how it works. Does it work on top of existing APIs in user space? Or is there a custom kernel driver bypassing user space?
I've done some high throughput streaming from HD/SSD to GPU before, and it's pretty easy to beat the naive solution but getting the most out of it would require kernel space code.
I was doing random access streaming of textures using memory mapped files for input and copying to persistent/coherent mapped pixel buffers on the CPU with memcpy with background threads. This was intended to take advantage of the buffer caches (works great when a page is reused) and intended for random access. If I would have been working on a sequential/full file upload, my solution would be entirely different.
Edit: here's the source: https://github.com/kaigai/ssd2gpu https://github.com/kaigai/ssd2gpu
It has a custom kernel module.
- kaigai 10y agoIts kernel module provides some special APIs. The userspase application (PostgreSQL) is enhanced to use them. From the point of user view, SQL still has been the interface to access the data.