読み書きプログラミング

日常のプログラミングで気づいたことを綴っています

rust-cudnnのcuDNN v6対応

2年ほど前にAutmunAIというヨーロッパのベンチャがRustで書かれたDeep Learning Framework "Leaf"を開発し始めて注目していました。
しかし、残念なことに1年ほど前に、TensorFlowのエコシステムの成長を見て「負け」を宣言して開発を中止したようです。
Rustによるフレームワークは速度の面で優位性はあったのですが、マイナーな言語というところが弱点だったということでしょうか。

学習フレームワークとしてはともかく、Rustはこれからシステムだけでなくバックエンドやアプリも記述する言語に成長していくと予想しています。その時、推論を使う機会は多々あるかと思うので、Leafの一部、rust-cudnnはRustプログラマに撮って貴重なものになると思います。
で、アップデートをしました。

https://github.com/y-ich/rust-cudnn/tree/bindgen


モジュール名が本家とぶつかるのでcrates.ioには公開していません。依存性はgitプロパティで指定してください。

bindingを手書きではなく、bindgenで生成するようにしたので、今後cuDNNのバージョンアップに対するメンテは比較的楽になるかと思います。

(macOSでcargo testを通そうと思うと、AutmunAI社の別のモジュールcollenchymaのlink attributeを修正する必要があります。)