Monday, December 16th 2019

AMD Publishes FEMFX Deformable Physics Library on GPUOpen

FEMFX is a multithreaded CPU library for deformable material physics, using the Finite Element Method (FEM). Solid objects are represented as a mesh of tetrahedral elements, and each element has material parameters that control stiffness, how volume changes with deformation, and stress limits where fracture or plastic (permanent) deformation occur. The model supports a wide range of materials and interactions between materials. We intend for these features to complement rather than replace traditional rigid body physics. The system is designed with the following considerations:
  • Fidelity: realistic-looking wood, metal, plastic, even glass, because they bend and break according to stress as real materials do.
  • Deformation effects: non-rigid use cases such as soft-body objects, bending or warping objects. It is not just a visual effect, but materials will resist or push back on other objects.
  • Changing material on the fly: you can change the settings to make the same object behave very differently, e.g., turn gelatinous or melt.
  • Interesting physics interactions for gameplay or puzzles.
The library uses extensive multithreading to utilize multicore CPUs and benefit from the trend of increasing CPU core counts.

Features
  • Elastic and plastic deformation
  • Implicit integration for stability with stiff materials
  • Kinematic control of mesh vertices
  • Fracture between tetrahedral faces
  • Non-fracturing faces to control shape of cracks and pieces
  • Continuous collision detection (CCD) for fast-moving objects
  • Constraints for contact resolution and to link objects together
  • Constraints to limit deformation
  • Dynamic control of tetrahedron material parameters
  • Support for deforming a render mesh using the tetrahedral mesh
To maximize the value for developers, we're providing the implementation source code as part of GPUOpen under the MITx11 License. The full release includes the library source code, sample code, and for Unreal Engine developers, source for a plugin that demonstrates custom rendering and scene creation.
Add your own comment

40 Comments on AMD Publishes FEMFX Deformable Physics Library on GPUOpen

#26
Zubasa
silentbogoPhysX isn't crippled, and Havok is still widely used (especially in multiplatform titles). The only downside, is that MS and Havoc haven't done anything to improve it since 2011, and DX physics is taking too long to come to fruition.
Havok was first purchased by Intel and then by Microsoft.
When you get WinTel, you get ultimate stagnation.
They are basically Landlords intent on collecting rent instead of actual tech companies.
evernessinceI don't really see what you are fighting against here. Are you against doing physics on the CPU thus leaving extra GPU cores to actually rendering more frames? If CPU core counts keep doubling every other generation like AMD has been doing, there's not reason to not run physics on the CPU.
Yeah I don't understand the obsession with running everything on the GPU when modern CPUs have most of its cores idling in games.
Sure the GPU can do Physics fasters than CPUs when running in a vaccum, but in games you are competing for resources in the GPU.
Posted on Reply
#27
Flanker
hmm, let me see how much SIMD it uses. I could try implement this with DirectCompute as a hoppy project lol
Posted on Reply
#28
Fouquin
cucker tarlsonstill,physics should be done on gpu.
Even nVidia shows they don't agree with that statement. They ported PhysX to CPUs (PowerPC AltiVec and x87) almost immediately after acquiring the technology, and rewrote huge portions of the codebase in 2010-2011 for a more unified approach with SSE and multi-thread support. The idea that physics simulations are impractical/worthless on CPUs purely stems from the limitations of general purpose CPUs circa 2003-2005 that had limited register space, lacking FP instruction options/hardware, and minimal parallel thread execution capabilities. Modern CPU architectures have solved all of those issues.
Posted on Reply
#29
jahramika
cucker tarlsonyes but you've got GPUs having absolutely ridiculous compute power too.why spend extra on an 8c/16t when a 6c/6t is plenty and your gpu packs so much power. how much does a 5700xt/2070 super pack ? 8-9 tflops ? probaly 10 overclocked. And both can do fp+int or fp16. Your rdna2 console gpu will probably be close to that too.
so can off load the work their gpu to perform faster!
Posted on Reply
#30
R-T-B
theoneandonlymrkBecause you say so, Nvidia backer says gpu physx only please.
AMD backer would say it too if they had it. It's a good thing. We just need an open version, badly.
Posted on Reply
#31
HwGeek
NIce, with all those extra cores we are starting to see some benefits like RTRTraced shadowes on CPU in WOT and in near future Physics calc on CPU too.
Posted on Reply
#32
Frick
Fishfaced Nincompoop
ZubasaHavok was first purchased by Intel and then by Microsoft.
When you get WinTel, you get ultimate stagnation.
They are basically Landlords intent on collecting rent instead of actual tech companies.
Off topic, but definitely not true for Microsoft as a whole. They're very much still one of the giants in tech, despite missing out on mobile.
Posted on Reply
#33
uuuaaaaaa
Awesome to see real time FEM applied to video games. This will be ground breaking. :D
Posted on Reply
#34
cucker tarlson
FouquinEven nVidia shows they don't agree with that statement. They ported PhysX to CPUs (PowerPC AltiVec and x87) almost immediately after acquiring the technology, and rewrote huge portions of the codebase in 2010-2011 for a more unified approach with SSE and multi-thread support. The idea that physics simulations are impractical/worthless on CPUs purely stems from the limitations of general purpose CPUs circa 2003-2005 that had limited register space, lacking FP instruction options/hardware, and minimal parallel thread execution capabilities. Modern CPU architectures have solved all of those issues.
yes,but are video cards from then just like gpus now ?

nvidia ported physx to cpu a decade ago,therefore they don't agree now it should be done on gpu.really ? does time work that way ?

and really,nvidia isn't the oracle to say that physx is the only way for improving game physics,amd and intel should step in too cause with physx being the only option there isn't much progress.
Posted on Reply
#35
csendesmark
Impressive!
I am already waiting to see this in games!
Posted on Reply
#36
cucker tarlson
csendesmarkImpressive!
I am already waiting to see this in games!
have they even announced any games using this ?
Posted on Reply
#37
jabbadap
cucker tarlsonyes,but are video cards from then just like gpus now ?

nvidia ported physx to cpu a decade ago,therefore they don't agree now it should be done on gpu.really ? does time work that way ?

and really,nvidia isn't the oracle to say that physx is the only way for improving game physics,amd and intel should step in too cause with physx being the only option there isn't much progress.
PhysX is open source now-a-days(BSD license). Most of GPU accelerated stuff from it is strip away long ago and are part of VisualFX.
Posted on Reply
#39
Fouquin
cucker tarlsonnvidia ported physx to cpu a decade ago,therefore they don't agree now it should be done on gpu.really ? does time work that way ?
nVidia ported PhysX to CPUs at a time when CPUs did not integrate all of the required instructions to properly accelerate physics simulation to the degree of GPUs, that alone should speak for itself. What you originally suggested is that physics simulation should only be done by GPUs. Clearly that's not what nVidia thinks as they've rebuilt PhysX multiple times for CPUs.
cucker tarlsonand really,nvidia isn't the oracle to say that physx is the only way for improving game physics,amd and intel should step in too cause with physx being the only option there isn't much progress.
This is where AVX comes into play. Nearly a decade of support with every x86 licensee distributing products with it included, and with ever increasing capabilities. Computational physics takes advantage of it already at the academic level, and efficient vectorization of FEM is fairly well understood by now. Note how most of these papers at least mention that global distribution is inherently possible with their respective solutions. Hardware agnostic, so long as AVX is supported it can be deployed.

software.intel.com/en-us/articles/soa-cloth-simulation-with-256-bit-intel-advanced-vector-extensions-intel-avx
arxiv.org/abs/1104.2700
indico.cern.ch/event/570876/contributions/2347270/attachments/1358499/2059757/7-VecPhys.pdf
dl.acm.org/citation.cfm?id=3178441
Posted on Reply
Add your own comment
May 21st, 2025 18:57 CDT change timezone

New Forum Posts

Popular Reviews

Controversial News Posts