Auto-Sleep despite collisions?

A place to discuss everything related to Newton Dynamics.

Moderators: Sascha Willems, walaber

Re: Auto-Sleep despite collisions?

Postby 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

Re: Auto-Sleep despite collisions?

Postby 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
Moderator
 
Posts: 12426
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles

Re: Auto-Sleep despite collisions?

Postby 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

Re: Auto-Sleep despite collisions?

Postby 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
Moderator
 
Posts: 12426
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles

Re: Auto-Sleep despite collisions?

Postby 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

Re: Auto-Sleep despite collisions?

Postby 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
Moderator
 
Posts: 12426
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles

Re: Auto-Sleep despite collisions?

Postby 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

Previous

Return to General Discussion

Who is online

Users browsing this forum: No registered users and 1 guest