見出し画像

pyorch2.5.1+flash attention+xformersライブラリの統合

 前回、pytorch2.5.1をcuda12.4.1+cudnn9.5.1に対応させてソースからビルドと仮想環境にインストールし、cudaやcudnnの認識確認をしました。
 続けてflash attention2.6.3と、xformers0.0.29もソースからビルドしてpytorch2.5.1と各ライブラリの統合をしてみました。

 python -m xformers.info コマンドでライブラリ統合を確認

 miniconda3、python3.11.10の仮想環境にflash attentionがインストールされていない状態で、xformersをソースからビルドしてインストール後にpython -m xformers.infoコマンドで確認すると、デフォルトでfa2F@2.5.7,fa2B@2.5.7がavailableとなっていたため、再度、flash attention v2.6.3をビルド後にインストールしました。
 xformersも再度ビルド、インストールしてコマンドで再確認したら、fa2Fとfa2Bが@2.6.3に変更していたので統合ができていることを確認できました。

その他有効化できていた項目

 pytorch2.5.1+cuda12.4.1、triton、などのライブラリも統合できているのが確認できたので問題なさそうです。また、別途stable-fast v1.0.5もソースからビルドしてpytorch2.5.1+cuda12.4.1+cudnn9.5.1、xformers0.0.29と統合させることができました。
 実際にComfyUIで画像生成時に①pytorch2.5.1(cuda12.4.1+cudnn9.5.1+)のみ、②pytorch+flashattention2.6.3のみ、③pytorch+xformersのみ、④pytorch+flashattention+xformers(+stable-fast)のみというパターンで画像生成してみて確かめてみましたが、処理速度と生成画像の質が最も安定していたのは④で、画像生成実行時からcpuでの前処理時間と、GPUでの処理時間とのラグが短く、生成時間が一定で安定(もしかするとGPU温度も一定)しているという、個人的な感覚です。
 

いいなと思ったら応援しよう!