A place to discuss everything related to Newton Dynamics.
Moderators: Sascha Willems, walaber
by Markus » Mon Mar 21, 2011 10:10 am
A T400 is a Lenovo Thinkpad (with Intel P8600 ~2.4 GHz, as described above).
The GPU is the bottleneck only on Windows, but I want it to run like that on Linux, too. Are the libraries in the SDK the release versions of them? I will try the profiler later today.
-
Markus
-
- Posts: 52
- Joined: Sat Mar 19, 2011 6:31 am
by Julio Jerez » Mon Mar 21, 2011 11:00 am
what Libraries? since newton because open source there are not compiled libraries for linux only the make file.
I asked if you are using a debug library because the window version come with the DLL in debug and release. but everything else is just the makefile or the project file.
-
Julio Jerez
- Moderator

-
- Posts: 12426
- Joined: Sun Sep 14, 2003 2:18 pm
- Location: Los Angeles
-
by Markus » Mon Mar 21, 2011 1:33 pm
I used the libraries of an SDK were the libraries for Linux were included. But the libraries I built with the code of 2.32 do not change the situation. I used the release build on Windows.
I ran the profiler and I realized that the values for NEWTON_PROFILER_DYNAMICS_UPDATE and NEWTON_PROFILER_DYNAMICS_SOLVE_CONSTRAINT_GRAPH are much higher than the other values (factor 20), about ~15000. If no boxes move the value ist zero, and when they start falling it rises rapidly. On Windows this value is much lower.
-
Markus
-
- Posts: 52
- Joined: Sat Mar 19, 2011 6:31 am
by Julio Jerez » Mon Mar 21, 2011 3:29 pm
That is different for what I see in linux, In linux 64 I always get the engine running much faster than in Widnow.
that happen since I move to Ubunto 9 which ise GCC 4.x.
could it be that in lunix you are not running the SSE code?
can you put a break point on the solver and check if it is calling the simd version?
-
Julio Jerez
- Moderator

-
- Posts: 12426
- Joined: Sun Sep 14, 2003 2:18 pm
- Location: Los Angeles
-
by Markus » Mon Mar 21, 2011 3:52 pm
I have Ubuntu 10.10 with gcc 4.4.5, 32bit. I confirmed that on Linux it is even slower than in a VM running Windows (the Linux system as the host OS).
Anyway, I ran the debugger and m_cpu is:
- Code: Select all
Name : m_cpu
Binary:1
Decimal:1
Other (Details):dgSimdPresent
Hex:0x1
Default:dgSimdPresent
Octal:01
The function
void dgBroadPhaseCollision::UpdateContactsSimd (dgFloat32 timestep, bool collisioUpdate) gets called, so I assume its running SSE.
-
Markus
-
- Posts: 52
- Joined: Sat Mar 19, 2011 6:31 am
by Julio Jerez » Mon Mar 21, 2011 5:25 pm
you say the solver part is what is slow, the function that should be calingl is this
void dgJacobianMemory::CalculateForcesSimulationModeSimd (dgFloat32 maxAccNorm) const
see if it is getting called.
I am guessing it is calling this one instead
void dgJacobianMemory::CalculateForcesSimulationModeSimd (dgFloat32 maxAccNorm) const
-
Julio Jerez
- Moderator

-
- Posts: 12426
- Joined: Sun Sep 14, 2003 2:18 pm
- Location: Los Angeles
-
by Markus » Tue Mar 22, 2011 5:03 am
Since I have solverMode = 1, CalculateForcesGameModeSimd gets called (not CalculateForcesSimulationModeSimd), so that should be ok. I will install Linux 64 and test it there.
-
Markus
-
- Posts: 52
- Joined: Sat Mar 19, 2011 6:31 am
Return to General Discussion
Who is online
Users browsing this forum: No registered users and 1 guest