-
Notifications
You must be signed in to change notification settings - Fork 183
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Questions about status of dgNewtonSse #215
Comments
there is not dgNewtonSse plugin. the code template in teh dll solvers may look identical but the driver function are very different and that what make then incompatible. for example a cpu that does not support avx2 will not load but a that cpu may load the AVX plugin. in general the plugins are fasters because the use the simd vector are if they were GPU compute units. for example a avx2 solve solver 16 joints per iterations where the default solver solve one per iteration. This requires some overhead to transpose the data for array or structure to structures of array, therefore the true benefic is when thousand of joints are resolve so the cost of transposing is amortized by the gain of the solver. Sutor vectorization doe not translate to big gain because the engine predate the date of these compiler optimization, but since the engine support scalar math, you can just define the preprocessor USE SCALAR operation and let the compiler do all the optimization. |
if you are using an older intel Pentium 3, 733MHz, MMX and SSE; |
For running Newton on the original Xbox (Pentium 3, 733MHz, MMX and SSE; specifically no SSE2 or higher) I wondered about the status of dgNewtonSse. That is still mentioned here:
newton-dynamics/CMakeLists.txt
Line 18 in fd2c31d
and here:
newton-dynamics/sdk/CMakeLists.txt
Lines 41 to 43 in fd2c31d
(and potentially elsewhere)
However, the actual folder newton-dynamics/sdk/dgNewtonSse is nowhere to be found.
To find out when / why it was deleted, I checked the git history.
The first hint I found was in 4290f25 which mentions them as "unfinished" which implies they are still planned / wanted.
I then kept looking if they were finished in the past (before being unfinished by bitrot), and found the last revision with dgNewtonSse: https://github.com/MADEAPPS/newton-dynamics/tree/ce423a44e3d0e6b075d84195aec29081ce9acb66/sdk/dgNewtonSse
After that, it was renamed / moved to dgNewtonGL: https://github.com/MADEAPPS/newton-dynamics/tree/159b8b469b3f8cea55c69a8dfd93ceb1e76a68af/sdk/dgNewtonGL
Tracking the changes became tedious, so I started looking at the state of the current implementations for AVX and SSE4.2.
So my questions are:
The text was updated successfully, but these errors were encountered: