dotnet / dotnet/machinelearning
Perf: Optimization for GAMs (VTune)
- Dominant language
- C#
- Stars
- 9.4k
- Forks
- 2k
- Avg merge
- 2d 20h
- Merged PRs (30d)
- 11
Description
Benchmarking using VTune has found several bottlenecks in GAMS
- Significant CPU cycles spent in Interlocked.CompareExchange.
- Call-stack & source code of CenterGraph shows Interlocked.CompareExchange in the inner loop, contributing to the high CPU cycles in CompareExchange. Look at reducing the calls to this intrinsic.
- Next step: Look at re-jiggering the code in CenterGraph to avoid the CompareExchange in the inner loop
Top HotSpots:
Function | Module | CPU Time
-- | -- | --
COMInterlocked::CompareExchangeDouble | coreclr.dll | 55.754s
<>c__DisplayClass46_0::b__0 | Microsoft.ML.FastTree.dll | 35.381s
Microsoft::ML::Internal::Utilities::DoubleParser::TryParseCore | Microsoft.ML.Core.dll | 30.808s
<>c__DisplayClass49_0::b__0 | Microsoft.ML.FastTree.dll | 26.872s
Contributor guide
Assessment
This issue has not been assessed yet.