Skip to content

Releases: NVlabs/NVBit

NVBit-1.3.1

23 Apr 21:29
Compare
Choose a tag to compare

Added

  • Add ARM64 support in NVBit

Fixed

  • Remove an unnecessary register limit on instrument functions for GPUs older than Volta.

NVBit-v1.3

24 Mar 19:16
a7a03be
Compare
Choose a tag to compare

Added

  • Added nvbit_add_call_arg_mref_addr64 to automatically generate a memory reference to be passed to the instrumentation functions.
  • Added ability to use CXX and CC to override compiler in all tools Makefiles.
  • Added new core API: nvbit_get_local_mem_base_addr(CUcontext cuctx) to get base virtual address of the local memory mapped space.
  • Added new core API: nvbit_get_related_functions(CUcontext cuctx, CUfunction func) to get the vector of all CUfunctions callable by a given CUfunction.
  • Added support for SM_37, SM_53, SM_62 and SM_72.

Removed

  • Removed NVBIT_EXPORT_FUNC since new compilation flow for tools uses the new nvcc option -Xptxas -astoolspatch --keep-device-functions which makes this step unnecessary.
  • Removed core API nvbit_at_function_first_load(CUcontext ctx, CUfunction func) (and modified example to use APIs like those presented in the MICRO 2019 paper).
  • Removed NOINSPECT control API since now inspection can be controlled directly by the user inside nvbit_at_cuda_event.

Changed

  • Modified Lifter (i.e. Class Instr) to support broader set of operands, and register modifiers. Previous tools need to be slightly modified to work with the new Instr class.
  • Changed tool compilation flow to require nvcc >= 10.1. Injected functions must be compiled separately with option -Xptxas -astoolspatch --keep-device-functions and for the moment can't use any external symbols.
  • Changed example tools structure with a separate inject_funcs.cu file which contains all the injected functions and it is compiled with the options specified above.
  • Changed overall instrumentation approach to be compatible to what explained in the MICRO 2019. Specifically discontinued the callback nvbit_at_function_first_load to allow user to programmatically inspect and instrument at kernel launch time.
  • Changed all the examples to reflect the change above.

Fixed

  • Fixed tools Makefiles to use -ccbin=$(CXX) so that g++ is used when compiling a tool and libstdc++ is appropriately linked to avoid undefined symbol errors.
  • Fixed bug in NVBit context initialization and termination.
  • Fixed bug in Instr::getSize() when LD.64 are encountered.

NVBit-v1.1

21 Oct 16:52
ee852ec
Compare
Choose a tag to compare
  • Restored support for SM_61 and SM_52
  • Added new nvbit API: nvbit_get_shmem_base_addr

NVBit-v1.0

10 Oct 16:59
Compare
Choose a tag to compare
NVBit-v1.0 Pre-release
Pre-release

NVBit-v1.0