Intel Thread Checker instruments software before tracing it to find errors. Instrumentation adds benign Intel Thread Checker library calls into the software to be traced. The Intel Thread Checker library calls record information about threads in order to find possible errors. There are two different kinds of instrumentation: source and binary instrumentation.
Source instrumentation is added by the Intel C++ or Fortran Compiler when software is compiled with the -Qtcheck option. If your software uses OpenMP threading, then you should always use source instrumentation with Intel Thread Checker.
Binary instrumentation is done automatically when you run an Intel Thread Checker activity in the Intel VTune Performance Analyzer environment. Binary instrumentation can be used for software compiled with the Intel compiler, or the Microsoft C++ Visual compiler.