o  i: @sdZddlmZddlmZddlmZddlmZeddd\Z Z gd Z Gd d d eZ Gd d d e eZ GdddeZGdddeeZGdddeZGdddeeZe ZZZe ZZZeZZZeZZZeZZZ eZ!Z"Z#dS)zK Wrapper around NVIDIA Tools Extension for profiling MONAI transformations ) annotations)RandomizableTrait) Transform)optional_importztorch._C._nvtxz:NVTX is not installed. Are you sure you have a CUDA build?) descriptor)MarkMarkdMarkDMarkDictRandMark RandMarkd RandMarkD RandMarkDict RandRangePop RandRangePopd RandRangePopDRandRangePopDict RandRangePushRandRangePushdRandRangePushDRandRangePushDictRangePop RangePopd RangePopD RangePopDict RangePush RangePushd RangePushD RangePushDictc@"eZdZdZd ddZdd Zd S) rz Pushes a range onto a stack of nested range span. Stores zero-based depth of the range that is started. Args: msg: ASCII message to associate with range msgstrreturnNonecCs||_d|_dSN)r depthselfr r(W/home/dell461/cl/sdc2/last_ska_mid/HISourceFinder-master-l/src/monai/transforms/nvtx.py__init__<s zRangePush.__init__cCst|j|_|Sr$)_nvtx rangePushAr r%r'datar(r(r)__call__@szRangePush.__call__Nr r!r"r#__name__ __module__ __qualname____doc__r*r/r(r(r(r)r3s  rc@eZdZdZdS)rz Pushes a range onto a stack of nested range span (for randomizable transforms). Stores zero-based depth of the range that is started. Args: msg: ASCII message to associate with range Nr2r3r4r5r(r(r(r)rErc@seZdZdZddZdS)rzt Pops a range off of a stack of nested range spans. Stores zero-based depth of the range that is ended. cCs t|Sr$)r+rangePopr-r(r(r)r/UszRangePop.__call__N)r2r3r4r5r/r(r(r(r)rOs rc@r6)rz Pops a range off of a stack of nested range spans (for randomizable transforms). Stores zero-based depth of the range that is ended. Nr7r(r(r(r)rZr8rc@r) rz Mark an instantaneous event that occurred at some point. Args: msg: ASCII message to associate with the event. r r!r"r#cCs ||_dSr$)r r&r(r(r)r*is z Mark.__init__cCst|j|Sr$)r+markAr r-r(r(r)r/ls z Mark.__call__Nr0r1r(r(r(r)ras  rc@r6)r z Mark an instantaneous event that occurred at some point (for randomizable transforms). Args: msg: ASCII message to associate with the event. Nr7r(r(r(r)r qr8r N)$r5 __future__rmonai.transforms.traitsrmonai.transforms.transformr monai.utilsrr+___all__rrrrrr rrrrrrrrrrrrr r rrr r r(r(r(r)s&