This concerns wrapper.cpp provided under boinc/samples/wrapper/wrapper.cpp. Seems like we're getting wrong CPU times calculating under Linux, and I believe same goes for Mac.
Section of code this concerns (as subtasks finish in main()): 804 checkpoint_cpu_time = task.starting_cpu + task.final_cpu_time; 805 806 fprintf(stderr, "checkpoint_cpu_time = starting_cpu (%f) + final_cpu_time (%f)\n", 807 task.starting_cpu, task.final_cpu_time); 808 809 write_checkpoint(i+1, checkpoint_cpu_time); Note: I added the above fprintf line for debugging. We see this in stderr.txt file as subtasks run (and checkpointed as they finish) $tail -f stderr.txt wrapper: starting 17:52:25 (9875): wrapper: running fit_sed (1 filters.dat observations.dat) checkpoint_cpu_time = starting_cpu (0.000000) + final_cpu_time (447.131944) 17:59:53 (9875): wrapper: running fit_sed (2 filters.dat observations.dat) checkpoint_cpu_time = starting_cpu (447.131944) + final_cpu_time (897.368082) 18:07:25 (9875): wrapper: running fit_sed (3 filters.dat observations.dat) checkpoint_cpu_time = starting_cpu (1344.500026) + final_cpu_time (1350.548404) 18:14:59 (9875): wrapper: running fit_sed (4 filters.dat observations.dat) See how the final_cpu_time is causing the checkpoint_cpu_time to be incorrect and therefore the starting_cpu_time in the next task since it uses this value. If I change the checkpoint_cpu_time to be final_cpu_time only, the problem goes away. Something else that we noticed is that the CPU time reported on Windows machines is nearly always 0.0 seconds. Not sure if this is related as I haven't looked into it further. One more thing to note, I don't see this issue on Linux with the wrapper provided at server_stable branch on old SVN repo. I'm hoping that David A. Picks this up. Tried to keep it as short as possible - let me know if more details required. _______________________________________________ boinc_dev mailing list [email protected] http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev To unsubscribe, visit the above URL and (near bottom of page) enter your email address.
