Status working meeting December 13th, 2012¶
Code updates (Soon)¶
Soon tested Dongwook code for the 3 type of EM physics. He corrected a problem with memory allocation (from dimensions used ; ). Most of the time is spend in generating random numbers. Soon will try a Merseene Twister implementation, but it has a large state (640 bits or so). Still need to finish fixing Dongwook's code to really used one engine state per thread. Interface to the geometry is also still not turned on in the EM.
Soon I also looked at the contrast between floating single precision and double precision. Eventhough floating point is much faster (double speed) the precision is not sufficient (Need at least 10e-6 of precision in the stepper). Maybe the Momentum (according to John A.) could be kept as a floating point. But local position and error ought to be kept double precision.
Soon I am concluding that the optimization effort should focus on the access pattern to the global memory.
Jim, Marc and Philippe have started planning their session.
Since switching back to only one compilation unit (for cuda) and we removed the openmp flag, since then we have no longer experiencing crashes. [Reminder: there is a noticeable performance between the single compilation and the separate compilation unit cases).