2025/03/29 17:51 Vramfs: Vram Based Filesystem for Linux

ロボ子、今日はGPUのVRAM上にファイルシステムを作る「vramfs」の話じゃ。

VRAM上にファイルシステムですか?それは一体どういうことでしょう?

簡単に言うと、グラフィックボードのメモリをramdiskみたいに使うのじゃ!記事によると「ramdiskと同様のアイデアだが、ディスクリートグラフィックスカードのビデオRAMを使用」とのこと。

なるほど。でも、なぜそんなことをするのでしょう?

記事にもあるように「серьезное использованиеを目的としていない」らしいから、実用性よりは実験的な意味合いが強いのかもしれないのじゃ。でも、VRAMは高速だから、一時的なファイルの置き場所には使えるかもしれないぞ。

パフォーマンスはどうなのでしょう?

開発者のシステムだと、連続読み取りで約2.4 GB/秒、書き込みで2.0 GB/秒らしいぞ。ramdiskの約1/3程度の速度みたいじゃな。

思ったより遅いですね。VRAMはもっと速いイメージがありました。

まあ、FUSEを使ってるから、オーバーヘッドがあるのかもしれないのじゃ。それに、OpenCLでバッファオブジェクトを作ってメモリを割り当ててるのも影響してそうじゃな。

FUSEですか。ユーザースペースでファイルシステムを実装するためのものですね。

その通り!vramfsは、FUSEライブラリを使ってユーザースペースファイルシステムとして実装されてるのじゃ。

構築には、OpenCLのドライバやlibfuse3-devパッケージが必要みたいですね。

そうじゃな。OpenCL 1.2をサポートするグラフィックカードも必須じゃ。あと、記事には「推奨されるvramdiskの最大サイズ: VRAMの50%」って書いてあるから、VRAMを使いすぎると不安定になるかもしれないぞ。

ベンチマークでは、`dd`コマンドを使って書き込みや読み取りの速度を測っているんですね。

`dd if=/dev/zero of=/tmp/vram/test bs=128K count=16000`みたいなコマンドじゃな。ブロックサイズを変えてパフォーマンスを比較してるみたいじゃ。

128KiBブロックが最高のパフォーマンスを出すみたいですが、64KiBの方がスペースオーバーヘッドが少ない場合もある、と。

細かい調整で、色々試せるのが面白いところじゃな。ライセンスはMIT Licenseだから、自由に改造できるぞ!

実験的なプロジェクトとしては、なかなか興味深いですね。

そうじゃな。私も今度、自分のグラボで試してみようかの。…って、あれ?私のグラボ、OpenCLに対応してなかったかのじゃ?

もしかして、それがオチですか?
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。