Releases: NVlabs/NVBit
Releases · NVlabs/NVBit
NVBit-1.3.1
Added
- Add ARM64 support in NVBit
Fixed
- Remove an unnecessary register limit on instrument functions for GPUs older than Volta.
NVBit-v1.3
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
andSM_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
- Restored support for SM_61 and SM_52
- Added new nvbit API: nvbit_get_shmem_base_addr
NVBit-v1.0
NVBit-v1.0