gpt4 book ai didi

scientific-computing - 通用物理引擎

转载 作者:行者123 更新时间:2023-12-04 15:49:05 25 4
gpt4 key购买 nike

是否有任何通用物理引擎可以对刚体进行大规模模拟?我正在使用 Nvidia 的 PhysX,但该引擎的重点是游戏开发、软体。我想知道是否存在运行在 PS3 单元处理器或 CUDA 内核之上的物理引擎,允许进行大规模的科学物理模拟。

最佳答案

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

你谈论科学和刚体模拟,所以不清楚你想要多逼真。刚体是一个近似值:没有什么是绝对刚性的。但是,如果您的模拟中没有任何变形,并且您可以接受一堆不切实际的摩擦和快速运动近似值(所有视频游戏都很常见),并且您想要开箱即用的解决方案,我怀疑运行 Havok现代 CPU 将为您提供最佳性能。

PS/3 目前是最后一代。虽然我当时很喜欢为它写物理,但我必须承认,具有 6 核的现代 i7 为您提供了比单个 Cell 更高的性能 - 无论是理论上还是实践 - 。

CUDA 目前是未经证实的物理学技术。我没有写任何东西,但我对读者很感兴趣:) 如果你想接近现代 CPU 的 IPC(每周期指令比),编写基于 CUDA 的物理的挑战是非常重要的,而且我不知道有谁成功地做到了这一点。如果你不接近基于 CPU 的物理的 IPC,那么 CUDA 物理就没有意义,因为它需要更多的努力。

算一算:500 美元的 Kepler GPU 有 1536 个内核 @1GHz = 1.5 petaflops。一个 590 美元的 Sandy Bridge CPU 有 6 个内核/12 个超线程 AVX(8 宽)@3.8GHz = 0.36 petaflop。现在,如果您能够实现 5 比 1 奇偶校验(1 个 CPU 周期平均使用 5 个 GPU 周期),那么您的理论 CUDA 物理将与 CPU 物理以相同的速度运行。现在,有效地使用 12 个超线程和 AVX(8 宽 SIMD)并不是一件容易的事。但是在 1536 (!) 个 CUDA 线程之间并行物理任务,这些线程必须非常连贯,并且以更加可控的方式使用内存,这也不是一件小事。我并不是说这是不可能的(我很想尝试一下,但我有一份日常工作和其他宠物项目:))但是物理社区需要一些时间才能提出可跨数千个线程进行扩展的东西。

最后速度提升只有 5 倍左右......:)

无论如何,如果您自己编写 sim,并且您不想要一般的刚体模拟,那么 CUDA 可能是您的 friend 。例如。如果你想用相对论模拟银河系中所有恒星的运动,但没有超新星和其他离散效应......很明显如何将其传播到 1536 个(和更多)线程。但是,如果你想拥有大量刚体,以目前游戏中相同的方式进行模拟,那你就不走运了

关于scientific-computing - 通用物理引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2358591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com