My favorites | Sign in
Project Home Downloads Issues Source
New issue   Search
for
  Advanced search   Search tips   Subscriptions
Issue 474: If that's worth to update the SSE code to AVX
4 people starred this issue and may be notified of changes. Back to list
Status:  Moved
Owner:  ----
Closed:  Mar 2014


Sign in to add a comment
 
Reported by liangma...@gmail.com, Jan 13, 2011
Sandy Bridge is released.

If that make sense to update the SSE Code to AVX.
Mainly in GJK and Constraint Slover.




Jan 13, 2011
Project Member #1 erwin.coumans
Yes, it would be great to have some AVX optimizations.

Stan Melax did some nice work on AVX optimized cloth:

See http://software.intel.com/en-us/articles/avx-cloth and
http://software.intel.com/en-us/articles/intel-graphics-developers-guides/

Perhaps it inspires someone to contribute?

Jan 13, 2011
Project Member #2 erwin.coumans
 Issue 404  has been merged into this issue.
Jan 13, 2011
#3 liangma...@gmail.com
btSequentialImpulseConstraintSolver::resolveSingleConstraintRowGenericSIMD
SSE version could improve following issue by avx,
1. replace set1 by broadcast(avx only)
2. replace the dot product by vdotps(avx only) instead of 4 shuffle.
3. merge deltaVel1Dotn,deltaVel2Dotn calculation to 256
4. merge linearComponentA|B calculation to 256


Jan 15, 2011
Project Member #4 erwin.coumans
Attached is the Intel AVX cloth demo recompiled using emulated AVX, so it should run on systems that don't have AVX. The 4-wide (128 bit) SSE version runs pretty decent.

cloth_noavx.zip
240 KB   Download
Jan 15, 2011
#5 tpant...@gmail.com
Running your non avx version I get 60fps constant on a phenom x6 @ 3.64ghz.

Seems a nice speed to me! : ]
Jan 17, 2011
Project Member #6 erwin.coumans
Attached is Stan Melax' avx cloth source code with my modified avx emulation header file (avxintrin_mini.h), derived from Intel's original header file:
http://software.intel.com/en-us/articles/avx-emulation-header-file/

Note that the __emu_mm256_unpackhi_ps/__emu_mm256_unpacklo_ps is brute force, it could be optimized using SSE.

You can use cmake to create project files for most visual studio versions, it will statically link all (instead of using DLLs).

AVXClothSample.zip
938 KB   Download
Feb 3, 2011
Project Member #9 erwin.coumans
Attached a new compiled version for the Intel non-avx cloth demo windows, to avoid the MSVC100.dll missing error.
cloth_noavx_static.zip
296 KB   Download
Sep 30, 2011
#10 liangma...@gmail.com
I setup a platform i72600k, win7 sp1 32bit, visual c++ 2010 express. 
this platform support avx develop and run time env.  Could any give some suggestion how to use the profile infrastructure to estimate the performance?
 
Mar 30, 2014
Project Member #11 erwin.coumans
See https://github.com/bulletphysics/bullet3/issues/135
Status: Moved
Sign in to add a comment

Powered by Google Project Hosting