首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通用物理引擎

通用物理引擎
EN

Stack Overflow用户
提问于 2010-03-02 03:49:51
回答 2查看 1.1K关注 0票数 6

有没有什么通用的物理引擎可以对刚体进行巨大的模拟?我使用的是英伟达的PhysX,但这个引擎的重点是游戏开发,soft bodies。我想知道是否存在运行在PS3单元处理器或CUDA核之上的物理引擎,允许进行大规模的科学物理模拟。

EN

回答 2

Stack Overflow用户

发布于 2012-06-04 05:56:09

没有“通用”的物理库。例如,你能想象一种考虑相对论效应的有用的手术软组织模拟吗?你可以想象更多的例子。

你谈到了科学和刚体模拟,所以不清楚你想要多真实。刚体是一个近似值:没有什么是绝对刚性的。

PS/3目前是最后一代。虽然我在我那个时代很喜欢为它写物理,但我必须承认,现代的6核i7在理论和实践上都比一个细胞提供了更多的性能。

CUDA目前是一种未经验证的物理技术。如果你不接近基于CPU的物理的IPC,CUDA物理就没有意义,因为它需要更多的努力。

只要算算一下:500美元的开普勒GPU有1536个核心,1 1GHz=1.5petaflops。售价590美元的Sandy Bridge CPU具有6核/ 12个超线程AVX (8宽)@3.8 AVX= 0.36 petaflop。现在,如果您能够实现5比1的奇偶校验(在1个CPU周期中平均使用5个GPU周期),您的理论CUDA物理将以与CPU物理相同的速度运行。现在,高效地使用12个超线程和AVX (8宽SIMD)并不是一件容易的事情。但是并行物理任务跨越1536 (!)CUDA线程,它必须非常连贯,并以更受控制的方式使用内存,这也不是一个小壮举。我并不是说这是不可能的(我很愿意尝试,但我有一份日常工作和其他钟爱的项目:),但物理界需要一段时间才能提出可跨数千个线程进行扩展的东西。

最后,速度提高了5倍左右...:)

无论如何,如果您自己编写sim,并且您不想要一个通用的刚体模拟,那么CUDA可能是您的朋友。例如,如果你想模拟银河系中所有恒星的运动,带有相对主义,但没有超新星和其他离散效应……如何将其扩展到1536个(或更多)线程是非常清楚的。但是,如果你想拥有堆积如山的刚体,就像现在的游戏一样进行模拟,那你就大错特错了

票数 2
EN

Stack Overflow用户

发布于 2014-03-28 09:16:48

Simbody多体动力学库用于包含数千个分子(刚体)的分子模拟。请参阅Simbody的GitHub存储库的GIF:http://github.com/simbody/simbody

生物力学社区也大量使用该库来模拟人体运动。在这种情况下,人类被建模为一个刚体系统。

如果你正在寻找一个科学图书馆,那么你应该去看看Simbody。然而,它还没有在PS3单元处理器或CUDA核上使用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2358591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档