Oct 15, 2010 4:27:43 PM (12 years ago)

added fDoBinning_QxQy2D(folderStr) that takes the QxQyQz? data and bins it to I(Q) (PlotUtils2D)

added comments to Sphere_2D describing how the 2D smearing calculation is different than the 1D calculation

the trac ticket page button on the USANS panel now points to the correct function

1 edited


  • sans/Dev/trunk/NCNR_User_Procedures/Analysis/Models/Models_2D/Sphere_2D_v40.ipf

    r708 r754  
    189 //  when I do the quadrature loops I'm calling the AAO with 1-pt waves, so threading 
    190 // is just a slowdown (by more than a factor of 2 !!) 
     190//// the threaded version must be specifically written, since 
     191//// FUNCREF can't be passed into  a threaded calc (structures can't be passed either) 
     192// so in this implementation, the smearing is dispatched as threads to a function that 
     193// can calculate the function for a range of points in the input qxqyqz. It is important 
     194// that the worker calls the un-threaded model function (so write one) and that in the (nord x nord) 
     195// loop, vectors of length (nord) are calculated rather than pointwise, since the model 
     196// function is AAO. 
     197// -- makes things rather messy to code individual functions, but I really see no other way 
     198// given the restrictions of what can be passed to threaded functions. 
     201// The smearing is handled this way since 1D smearing is 20 x 200 pts = 4000 evaluations 
     202// and the 2D is (10 x 10) x 16000 pts = 1,600,000 evaluations (if it's done like the 1D, it's 4000x slower) 
    192205// - the threading gives a clean speedup of 2 for N=2, even for this simple calculation 
     206//  -- 4.8X speedup for N=8 (4 real cores + 4 virtual cores) 
    194208// nord = 5,10,20 allowed 
    201215//      Smear_2DModel_PP(Sphere2D_noThread,s,10) 
    203 //// the threaded version must be specifically written, since 
    204 //// FUNCREF can't be passed into  a threaded calc (or structures) 
    205218//// the last param is nord 
    206219        SmearSphere2D_THR(s,10)          
Note: See TracChangeset for help on using the changeset viewer.