昨年の暮れ、JPUGカンファレンスのLTで『SQL+GPU+SSD=∞』と題したスピーチを行った。 SQL+GPU+SSD=∞ (Japanese) from Kohei KaiGai www.slideshare.net これはかいつまんで言えば、ストレージからデータをCPU+RAMへとロードするより前に一旦GPUへとデータを転送し、そこで不要なデータを削ぎ落してからCPU+RAMへと渡してやる事で、CPU負荷の軽減とRAMの有効活用が計れるというアイデアである。 実装としては、PCI-Eデバイス間でのP2P DMA機能を利用する事によってNVMe SSDの特定ブロックからGPU RAM上の特定の領域へDMAを実行するというものなので、ここは別に新しくも何ともない。 以下の図は、従来の仕組みにおけるデータの流れを示したもの。 SSDから読み出されたデータは先ずCPU+RAMにバッファされ
![SSD-to-GPU Peer-to-Peer DMAとバッファ管理(その1) - KaiGaiの俺メモ](https://cdn-ak-scissors.b.st-hatena.com/image/square/4923fcbf7eb02692f50df5310d8e256ef38de674/height=288;version=1;width=512/http%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fk%2Fkaigai%2F20160214%2F20160214001237.png)