benchmark
4ad2712d - Switch times to us in CompilationMetrics and improvements (#138975)

Commit
1 year ago
Switch times to us in CompilationMetrics and improvements (#138975) Summary: Companion logger diff: https://www.internalfb.com/diff/D65012523 * Using float seconds for timestamps is bad because our internal system defaults to float32 precision and you don't even get second precision for timestamps in float32 * We decide to use microseconds instead of milliseconds because millisecond granularity you can end up with the same timestamp if compilation is happening very quickly; much better to force non-overlapping spans * Because there are so many new fields and I don't feel like reimplementing each on BwdCompilationMetrics, BwdCompilationMetrics is no more, it's just that everything in CompilationMetrics is now optional. * The actual frame compile times collection is not modified (still float) to reduce blast radius, so I just convert to microseconds before making the record. At float64 precision (Python's default), you get about microsecond precision on timestamps so shouldn't be a data problem (https://www.leebutterman.com/2021/02/01/store-your-unix-epoch-times-as-float64.html) * I rename some entries for clarity. In particular, whenever a timing contains all of the its lower phases (e.g., how Inductor also contains Triton compilation) we put "cumulative" in its name. If something doesn't happen at compile time but is delayed until we have actual real inputs, we put "runtime" in its name. X-link: https://github.com/pytorch/pytorch/pull/138975 Approved by: https://github.com/masnesral Reviewed By: huydhn Differential Revision: D65088198 Pulled By: ezyang fbshipit-source-id: 0b901357ab649f052a3553fe8d0cc37fba80e197
Author
Parents
Loading