<div><br></div><div>Hi Anton, and happy new year all,</div><div><br></div><div>>>One questions though: is it possible to "verify" the results of all</div><div>>>the computations somehow?</div><div><br>
</div><div>Good point, and there is no automated way currently, but we can work on that.</div><div>Note that simulation suffers from the 'butterfly effect', so the smallest change anywhere,</div><div>(cpu, compiler etc) diverges into totally different results after a while.</div>
<div><br></div><div>There are a few ways of verification I can think of: </div><div><br></div><div>1) verifying by adding unit tests for all stages in the physics pipeline (broadphase acceleration structures, closest point computation, constraint solver)</div>
<div>Given known input and output we can check if the solution is within a certain tolerance.</div><div><br></div><div>2) using the benchmark simulation and verifying the results frame by frame and check for unusual behaviour</div>
<div><br></div><div>3) modify the benchmark so that it is easier to test the end result, even through it might be different.</div><div>For example, we can drop a number of boxes above a bowl, and after a while make sure all boxes are 'in' the bowl in a resting pose.</div>
<div><br></div><div>What are your thoughts?</div><div>Thanks,</div><div>Erwin</div><div><br></div><div><br><div class="gmail_quote">2009/12/19 Anton Korobeynikov <span dir="ltr"><<a href="mailto:anton@korobeynikov.info">anton@korobeynikov.info</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hello, Erwin<br>
<div class="im"><br>
> If you are interested, I think it is best to start with Bullet 2.75.<br>
> If it turns out that LLVM requires some modifications (due to current C++<br>
> limitations),<br>
> we can modify Bullet and go for an uncoming release such as Bullet 2.76<br>
> (planned around January 2010).<br>
</div><div class="im">I added bullet to LLVM testsuite. Basically I had to flatten source<br>
directories since this is a current requirement of the llvm testsuite<br>
harness.<br>
Some include paths tweaks were required due to this. Also, I disabled<br>
the time reports, since otherwise we cannot compare the outputs.<br>
<br>
bullet appeared to be ~20% slower for me compared to gcc 4.2.4, so,<br>
definitely something should be worked on :)<br>
<br>
One questions though: is it possible to "verify" the results of all<br>
the computations somehow? We need to care not only about speed, but<br>
about correctness too :)<br>
<br>
--<br>
</div><div><div></div><div class="h5">With best regards, Anton Korobeynikov<br>
Faculty of Mathematics and Mechanics, Saint Petersburg State University<br>
</div></div></blockquote></div><br></div>