Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

ASAN is often compared to Valgrind.  Both perform similar actions and test for similar failures.  There are several differences, but one major one is that ASAN works by instrumenting the during compilation, Valgrind works by instrumenting binaries after compilation.  This design choice allows ASAN to run much faster than Valgrind, which makes it easier to run real world use cases.   Sanitizers also    Another major difference in the context of MXNet is that Valgrind does not support the F16C instruction, which is built be default with MXNet (meaning default builds are incompatible with Valgrind).  Additionally, Sanitizers generally have better multithreading support than Valgrind.  ASAN also has wide community adoption, and several large technology communities are actively contributing to ASAN (Apple, Chrome, Firefox, Go-lang, LLVM).  One disadvantage to ASAN is that it's a relatively new tool compared to Valgrind, because of this it's best to use as up-to-date a version of ASAN as possible.

...