|
From: BL <bru...@lm...> - 2013-01-03 10:19:58
|
Dear all, I often use valgrind with callgrind/memcheck tools and appreciate this useful tool. I've got a question that worries me: I tried to profile a simulation driven by a non linear code using valgrind --tool=callgrind. When looking at numerical statistics I realized that my non linear code use did not have same behavior processed in and out of callgrind (slight differences in simulation code results + also variations in number of iterations to get the result). As I want to analyze bottleneck in my non linear simulation code, I realized that I can't do analysis based on this due to these differences. Any clues where these differences comes from and how I can avoid them? many thxs in advance for your help, Best wishes for 2013 Bruno |
|
From: Tom H. <to...@co...> - 2013-01-03 10:32:31
|
On 03/01/13 10:17, BL wrote: > I've got a question that worries me: I tried to profile a simulation driven by a > non linear code using valgrind --tool=callgrind. When looking at numerical > statistics I realized that my non linear code use did not have same behavior > processed in and out of callgrind (slight differences in simulation code results > + also variations in number of iterations to get the result). > As I want to analyze bottleneck in my non linear simulation code, > I realized that I can't do analysis based on this due to these differences. > Any clues where these differences comes from and how I can avoid them? Your first stop should be to read this: http://www.valgrind.org/docs/manual/manual-core.html#manual-core.limits My guess is that the section headed "Valgrind has the following limitations in its implementation of x86/AMD64 floating point relative to IEEE754" will explain the problem you are seeing. Tom -- Tom Hughes (to...@co...) http://compton.nu/ |