ppf-contact-solver 跑在 vast.ai:租张 GPU 跑布料固体绳索仿真
【免费下载链接】ppf-contact-solverA contact solver for physics-based simulations involving 👚 shells, 🪵 solids, 🪢 rods, 🧱 rigid bodies and ⏳ sand.项目地址: https://gitcode.com/GitHub_Trending/pp/ppf-contact-solver
本地没有 NVIDIA GPU 时,租 vast.ai 上的显卡是运行 ppf-contact-solver 最省事的办法:几分钟拉起实例,浏览器里就能跑布料、固体、绳索的接触仿真例子,用完即毁。
什么时候需要租卡跑
两个典型场景。一是批量跑仓库examples/里的仿真:drape 布料垂坠、woven 绳织、stack 固体堆叠这类场景顶点数动辄几十万,CPU 后端或 Mac 上的 Metal 后端能跑通但很慢,一个例子跑完要等很久,而一张按小时计费的云上 RTX 卡把时间压缩到分钟级。二是本地根本没有 CUDA 环境的 Windows 或 Mac 用户,又不想折腾驱动和容器。
下面的例子是 ppf-contact-solver 的招牌画面:布料盖在球体上,接触处无穿透。
选卡与预算参考
准备三样东西:vast.ai 账户(并把你的 SSH 公钥注册进去)、本地的 vast CLI 和jq(sudo apt install jq)。
选卡按"场景规模"走,参考价区间:
| GPU | 每小时参考价 | 适合跑什么 |
|---|---|---|
| RTX 4090 | $0.5–1.0 | 大型场景:绳织、数十万顶点布料 |
| RTX 3090 | $0.3–0.7 | 中型:常规布料/固体跑几百帧 |
| RTX 3080 | $0.2–0.5 | 小规模验证:yarn 这类例子几分钟出结果 |
搜索时用条件收窄:dph <= 1.0(时价 1 美元以内)、verified=True、disk_space >= 64、cpu_ram >= 32、reliability > 0.98。镜像选nvidia/cuda系列的 devel 版,省得在实例里装驱动。
从零到跑通
把实例拉起来,顺带转发 8080
下面两条命令先租实例,再用-L参数把远端 8080 端口映射到本地,之后浏览器就能直连前端;SSH_IP和SSH_PORT从./vast show instances --raw里读出来。
./vast create instance --label ppf-contact-solver \ --image nvidia/cuda:11.8.0-devel-ubuntu22.04 --disk 64 --ssh ssh -p $SSH_PORT root@$SSH_IP -L 8080:localhost:8080在容器里装项目
连上后先起一个 CUDA 容器,后续所有操作都在容器内,宿主机保持干净。
docker run -it --gpus all -p 8080:8080 -e TZ=Asia/Tokyo \ --name ppf-contact-solver nvidia/cuda:12.8.0-devel-ubuntu24.04容器里装好 git 和 python 后克隆仓库,warmup.py负责准备编译环境,最后一步 release 编译 Rust 内核,最耗时。
apt install -y git python3 git clone https://gitcode.com/GitHub_Trending/pp/ppf-contact-solver cd ppf-contact-solver && python3 warmup.py source "$HOME/.cargo/env" && cargo build --release起 Web 前端,跑第一个例子
编译出现Finished release profile后,一条命令把 JupyterLab 前端拉起来。
python3 warmup.py jupyter本地浏览器打开http://localhost:8080,左侧就是全部示例 notebook。先打开最小的 drape 和 yarn 确认管线通了,再上大例子。
跑通之后的三个高频问题
SSH 连不上?实例还在启动,等 30 秒重试即可,仓库文档也明确建议间隔重试;端口变了就重新查./vast show instances拿最新的SSH_PORT。
浏览器打不开 8080?九成是 SSH 时没带-L 8080:localhost:8080,断开后用带转发参数的命令重连,再刷新浏览器。
账单一直涨?⚠️ 用完必须销毁实例:
./vast destroy instance $(./vast show instances -q)销毁后到 Web 控制台再确认一次实例列表为空,才真正停止计费。
这套方案适合谁,下一步做什么
适合本地没有高端 GPU、又想按需租用、跑完即走的 CG 美术、虚拟服装开发者和仿真研究者。建议先跑 drape 和 yarn 两个小例子,确认nvidia-smi认卡、结果符合预期,再上 woven 这种大场景。
【免费下载链接】ppf-contact-solverA contact solver for physics-based simulations involving 👚 shells, 🪵 solids, 🪢 rods, 🧱 rigid bodies and ⏳ sand.项目地址: https://gitcode.com/GitHub_Trending/pp/ppf-contact-solver
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考