[parsec-users] Question regarding to fluidanimate in Parsec 3.0
kwok.jason at live.com
Tue Oct 23 16:00:51 EDT 2012
I noticed some inconsistency between the results produced by fluidanimate single-threaded version and multi-threaded version.
here is what I did:
I built fluidanimate & fluidcmp on my ubuntu 10.04 box, I ran fluidanimate on simLarge "in_300K.fluid" dataset as follows: ./fluidanimate 1 5 in_300K.fluid t1f5out1.fluid ./fluidanimate 1 5 in_300K.fluid t1f5out2.fluid ./fluidcmp t1f5out1.fluid t1f5out2.fluid --ptol 0 --vtol 0 --bbox 0 Position test: PASS Velocity test: PASS Bounding box test: PASS
./fluidanimate 2 5 in_300K.fluid t2f5out1.fluid ./fluidanimate 2 5 in_300K.fluid t2f5out2.fluid ./fluidcmp t2f5out1.fluid t2f5out2.fluid --ptol 0 --vtol 0 --bbox 0 Position test: FAIL Velocity test: FAIL Bounding box test: PASS
./fluidcmp t1f5out1.fluid t2f5out1.fluid --ptol 0 --vtol 0 --bbox 0 Position test: FAIL Velocity test: FAIL Bounding box test: PASS
As you can see, the tests passed on 1 thread but failed on 2 threads on different runs for exact same number of frame, the results between 1 and 2 threads for 5 frames are also different. I would expect the calculation should be the same regardless of how many threads it uses as long as the number of frames are the same. I have tried with just 1 frame, the results are the same as above. you probably notice that I set the tolerance value to 0 for all tests, which means all compared data should be exactly same to pass. In verbose mode, I can see that the failed tests are actually due to very small difference between the data value being compared.
My questions is, is this behavior expected? should I use a bigger tolerance value? if so, why the single thread version never has different data values?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the parsec-users