MicrosoftのTRELLIS.2を、PyTorch MPS経由でApple Silicon上で動作するように移植しました。元の実装は、5つのCUDA専用でコンパイルされた拡張(flex_gemm、flash_attn、o_voxel、cumesh、nvdiffrast)に依存しており、Macに相当するものがありません。
代替バックエンドをゼロから作成しました:
- 純粋なPyTorchによる疎な3D畳み込み(flex_gemmの置き換え)
- 空間ハッシングを使ったPythonメッシュ抽出(o_voxel内のCUDAハッシュマップ演算の置き換え)
- 疎なトランスフォーマー向けのSDPAアテンション(flash_attnの置き換え)
- MPS上でtorch.grid_sampleによるGPUアクセラレーションされた三線形ボクセルサンプリング
単一の写真から、M4 Pro(24GB)で約3.5分ほどで約400Kの頂点メッシュを生成します。テクスチャベイクは、MPS GPUアクセラレーションを使うと約18秒です。H100ほど速くはありませんが、Cloudコストゼロでオフライン動作します。
[リンク] [コメント]



