OpenMx icon indicating copy to clipboard operation
OpenMx copied to clipboard

Improve compute plan feedback to user

Open mcneale opened this issue 5 years ago • 4 comments

The compute plan is going to become more central as we head towards OpenMx 3.0. We have an opportunity to let the users know what compute plan has been used, and perhaps how long each step took (and maybe whether it was frontend or backend). Providing the user with a compute plan that could be revised is nice.

mcneale avatar Oct 16 '20 14:10 mcneale

Already you can do model$compute to see the compute plan that was executed. Elapsed time per step is feasible to record, but may be less useful when the same step is repeated more than once.

Possibly, we could do some extra pretty printing for the default compute plan to make it more discoverable.

jpritikin avatar Oct 16 '20 14:10 jpritikin

Providing the user with a compute plan that could be revised is nice.

Don't forget about omxDefaultComputePlan().

RMKirkpatrick avatar Oct 16 '20 14:10 RMKirkpatrick

current pretty printing is as follows. Not sure what (if anything) would be nicer? maybe close issue?

omxDefaultComputePlan()
   MxComputeSequence 'compute' 
   $freeSet : NA 
   independent : FALSE 
   steps[[ 'GD' ]] : 
     MxComputeGradientDescent 'compute' 
     $freeSet : NA 
     $engine : 'SLSQP' 
     $fitfunction : 'fitfunction' 
     $verbose : 0 
     $nudgeZeroStarts : 'Yes' 
     $gradientIterations : 1 
     $gradientStepSize : 1e-07 
   steps[[ 'ND' ]] : 
     MxComputeNumericDeriv 'compute' 
     $freeSet : NA 
     $fitfunction : 'fitfunction' 
     $parallel : TRUE 
     $stepSize : 1e-07 
     $iterations : 4 
     $verbose : 0 
     $knownHessian : 
     $checkGradient : TRUE 
     $hessian : TRUE 
   steps[[ 'SE' ]] : 
     MxComputeStandardError 'compute' 
     $freeSet : NA 
   steps[[ 'HQ' ]] : 
     MxComputeHessianQuality 'compute' 
     $freeSet : NA 
   steps[[ 'RD' ]] : 
     MxComputeReportDeriv 'compute' 
     $freeSet : NA 
   steps[[ 'RE' ]] : 
     MxComputeReportExpectation 'compute' 
     $freeSet : NA 

tbates avatar Mar 08 '21 16:03 tbates

Well, the output is probably incomplete. There are likely fields that should be printed but are omitted. Plus we don't have tests for pretty printing.

jpritikin avatar Mar 08 '21 18:03 jpritikin