@@ -368,7 +368,13 @@ <h1>Source code for vortex_torch.abs.context_base</h1><div class="highlight"><pr
368368 < span class ="k "> return</ span > < span class ="n "> nbytes</ span > </ div >
369369
370370
371+ < div class ="viewcode-block " id ="ContextBase.add_aux_flops ">
372+ < a class ="viewcode-back " href ="../../../api/vortex_torch.abs.context_base.html#vortex_torch.abs.ContextBase.add_aux_flops "> [docs]</ a >
373+ < span class ="k "> def</ span > < span class ="w "> </ span > < span class ="nf "> add_aux_flops</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> ,</ span > < span class ="n "> nflops</ span > < span class ="p "> :</ span > < span class ="nb "> int</ span > < span class ="p "> )</ span > < span class ="o "> -></ span > < span class ="nb "> int</ span > < span class ="p "> :</ span >
374+
375+ < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _aux_total_flops</ span > < span class ="o "> +=</ span > < span class ="n "> nflops</ span > </ div >
371376
377+
372378< div class ="viewcode-block " id ="ContextBase.clear_aux_memory ">
373379< a class ="viewcode-back " href ="../../../api/vortex_torch.abs.context_base.html#vortex_torch.abs.ContextBase.clear_aux_memory "> [docs]</ a >
374380 < span class ="k "> def</ span > < span class ="w "> </ span > < span class ="nf "> clear_aux_memory</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> )</ span > < span class ="o "> -></ span > < span class ="kc "> None</ span > < span class ="p "> :</ span >
@@ -378,6 +384,13 @@ <h1>Source code for vortex_torch.abs.context_base</h1><div class="highlight"><pr
378384
379385 < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _aux_total_bytes</ span > < span class ="o "> =</ span > < span class ="mi "> 0</ span > </ div >
380386
387+
388+ < div class ="viewcode-block " id ="ContextBase.clear_aux_flops ">
389+ < a class ="viewcode-back " href ="../../../api/vortex_torch.abs.context_base.html#vortex_torch.abs.ContextBase.clear_aux_flops "> [docs]</ a >
390+ < span class ="k "> def</ span > < span class ="w "> </ span > < span class ="nf "> clear_aux_flops</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> )</ span > < span class ="o "> -></ span > < span class ="kc "> None</ span > < span class ="p "> :</ span >
391+
392+ < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _aux_total_flops</ span > < span class ="o "> =</ span > < span class ="mi "> 0</ span > </ div >
393+
381394
382395
383396< div class ="viewcode-block " id ="ContextBase.summary ">
@@ -387,6 +400,7 @@ <h1>Source code for vortex_torch.abs.context_base</h1><div class="highlight"><pr
387400< span class ="sd "> Print fields; tensor fields show shape/dtype/device, and append memory totals incl. auxiliary.</ span >
388401< span class ="sd "> """</ span >
389402
403+ < span class ="k "> return</ span >
390404 < span class ="k "> def</ span > < span class ="w "> </ span > < span class ="nf "> _fmt_bytes</ span > < span class ="p "> (</ span > < span class ="n "> n</ span > < span class ="p "> :</ span > < span class ="nb "> int</ span > < span class ="p "> )</ span > < span class ="o "> -></ span > < span class ="nb "> str</ span > < span class ="p "> :</ span >
391405 < span class ="n "> units</ span > < span class ="o "> =</ span > < span class ="p "> (</ span > < span class ="s2 "> "B"</ span > < span class ="p "> ,</ span > < span class ="s2 "> "KB"</ span > < span class ="p "> ,</ span > < span class ="s2 "> "MB"</ span > < span class ="p "> ,</ span > < span class ="s2 "> "GB"</ span > < span class ="p "> ,</ span > < span class ="s2 "> "TB"</ span > < span class ="p "> ,</ span > < span class ="s2 "> "PB"</ span > < span class ="p "> )</ span >
392406 < span class ="n "> f</ span > < span class ="o "> =</ span > < span class ="nb "> float</ span > < span class ="p "> (</ span > < span class ="n "> n</ span > < span class ="p "> )</ span >
@@ -395,6 +409,14 @@ <h1>Source code for vortex_torch.abs.context_base</h1><div class="highlight"><pr
395409 < span class ="k "> return</ span > < span class ="sa "> f</ span > < span class ="s2 "> "</ span > < span class ="si "> {</ span > < span class ="n "> f</ span > < span class ="si "> :</ span > < span class ="s2 "> .2f</ span > < span class ="si "> }</ span > < span class ="s2 "> </ span > < span class ="si "> {</ span > < span class ="n "> u</ span > < span class ="si "> }</ span > < span class ="s2 "> "</ span >
396410 < span class ="n "> f</ span > < span class ="o "> /=</ span > < span class ="mf "> 1024.0</ span >
397411
412+ < span class ="k "> def</ span > < span class ="w "> </ span > < span class ="nf "> _fmt_flops</ span > < span class ="p "> (</ span > < span class ="n "> n</ span > < span class ="p "> :</ span > < span class ="nb "> float</ span > < span class ="p "> )</ span > < span class ="o "> -></ span > < span class ="nb "> str</ span > < span class ="p "> :</ span >
413+ < span class ="n "> units</ span > < span class ="o "> =</ span > < span class ="p "> (</ span > < span class ="s2 "> "FLOPs"</ span > < span class ="p "> ,</ span > < span class ="s2 "> "KFLOPs"</ span > < span class ="p "> ,</ span > < span class ="s2 "> "MFLOPs"</ span > < span class ="p "> ,</ span > < span class ="s2 "> "GFLOPs"</ span > < span class ="p "> ,</ span > < span class ="s2 "> "TFLOPs"</ span > < span class ="p "> ,</ span > < span class ="s2 "> "PFLOPs"</ span > < span class ="p "> ,</ span > < span class ="s2 "> "EFLOPs"</ span > < span class ="p "> )</ span >
414+ < span class ="n "> f</ span > < span class ="o "> =</ span > < span class ="nb "> float</ span > < span class ="p "> (</ span > < span class ="n "> n</ span > < span class ="p "> )</ span >
415+ < span class ="k "> for</ span > < span class ="n "> u</ span > < span class ="ow "> in</ span > < span class ="n "> units</ span > < span class ="p "> :</ span >
416+ < span class ="k "> if</ span > < span class ="n "> f</ span > < span class ="o "> <</ span > < span class ="mi "> 1000</ span > < span class ="ow "> or</ span > < span class ="n "> u</ span > < span class ="o "> ==</ span > < span class ="n "> units</ span > < span class ="p "> [</ span > < span class ="o "> -</ span > < span class ="mi "> 1</ span > < span class ="p "> ]:</ span >
417+ < span class ="k "> return</ span > < span class ="sa "> f</ span > < span class ="s2 "> "</ span > < span class ="si "> {</ span > < span class ="n "> f</ span > < span class ="si "> :</ span > < span class ="s2 "> .2f</ span > < span class ="si "> }</ span > < span class ="s2 "> </ span > < span class ="si "> {</ span > < span class ="n "> u</ span > < span class ="si "> }</ span > < span class ="s2 "> "</ span >
418+ < span class ="n "> f</ span > < span class ="o "> /=</ span > < span class ="mf "> 1000.0</ span >
419+
398420 < span class ="nb "> print</ span > < span class ="p "> (</ span > < span class ="s2 "> "=== Context Summary ==="</ span > < span class ="p "> )</ span >
399421
400422 < span class ="c1 "> # internal tensors memory (dedup by storage)</ span >
@@ -425,14 +447,13 @@ <h1>Source code for vortex_torch.abs.context_base</h1><div class="highlight"><pr
425447 < span class ="k "> continue</ span >
426448 < span class ="n "> val</ span > < span class ="o "> =</ span > < span class ="nb "> getattr</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> ,</ span > < span class ="n "> name</ span > < span class ="p "> )</ span >
427449 < span class ="k "> if</ span > < span class ="nb "> isinstance</ span > < span class ="p "> (</ span > < span class ="n "> val</ span > < span class ="p "> ,</ span > < span class ="n "> torch</ span > < span class ="o "> .</ span > < span class ="n "> Tensor</ span > < span class ="p "> ):</ span >
428- < span class ="nb "> print</ span > < span class ="p "> (</ span > < span class ="sa "> f</ span > < span class ="s2 "> "</ span > < span class ="si "> {</ span > < span class ="n "> name</ span > < span class ="si "> :</ span > < span class ="s2 "> <25</ span > < span class ="si "> }</ span > < span class ="s2 "> : Tensor(shape=</ span > < span class ="si "> {</ span > < span class ="nb "> tuple</ span > < span class ="p "> (</ span > < span class ="n "> val</ span > < span class ="o "> .</ span > < span class ="n "> shape</ span > < span class ="p "> )</ span > < span class ="si "> }</ span > < span class ="s2 "> , dtype=</ span > < span class ="si "> {</ span > < span class ="n "> val</ span > < span class ="o "> .</ span > < span class ="n "> dtype</ span > < span class ="si "> }</ span > < span class ="s2 "> , device=</ span > < span class ="si "> {</ span > < span class ="n "> val</ span > < span class ="o "> .</ span > < span class ="n "> device</ span > < span class ="si "> }</ span > < span class ="s2 "> )"</ span > < span class ="p "> )</ span >
429450 < span class ="n "> n</ span > < span class ="o "> =</ span > < span class ="n "> _acc_tensor</ span > < span class ="p "> (</ span > < span class ="n "> val</ span > < span class ="p "> )</ span >
430451 < span class ="k "> if</ span > < span class ="n "> val</ span > < span class ="o "> .</ span > < span class ="n "> device</ span > < span class ="o "> .</ span > < span class ="n "> type</ span > < span class ="o "> ==</ span > < span class ="s2 "> "cpu"</ span > < span class ="p "> :</ span >
431452 < span class ="n "> internal_cpu</ span > < span class ="o "> +=</ span > < span class ="n "> n</ span >
432453 < span class ="k "> else</ span > < span class ="p "> :</ span >
433454 < span class ="n "> internal_gpu</ span > < span class ="o "> +=</ span > < span class ="n "> n</ span >
434455 < span class ="k "> else</ span > < span class ="p "> :</ span >
435- < span class ="nb " > print </ span > < span class =" p " > ( </ span > < span class =" sa " > f </ span > < span class =" s2 " > " </ span > < span class =" si " > { </ span > < span class =" n " > name </ span > < span class =" si " > : </ span > < span class =" s2 " > <25 </ span > < span class =" si " > } </ span > < span class =" s2 " > : </ span > < span class =" si " > { </ span > < span class =" n " > val </ span > < span class =" si " > } </ span > < span class =" s2 " > " </ span > < span class =" p " > ) </ span >
456+ < span class ="k " > pass </ span >
436457
437458 < span class ="c1 "> # auxiliary memory (single counter, no device split)</ span >
438459 < span class ="n "> aux_total</ span > < span class ="o "> =</ span > < span class ="nb "> int</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _aux_total_bytes</ span > < span class ="p "> )</ span >
@@ -445,7 +466,9 @@ <h1>Source code for vortex_torch.abs.context_base</h1><div class="highlight"><pr
445466 < span class ="n "> grand_total</ span > < span class ="o "> =</ span > < span class ="n "> internal_cpu</ span > < span class ="o "> +</ span > < span class ="n "> internal_gpu</ span > < span class ="o "> +</ span > < span class ="n "> aux_total</ span >
446467 < span class ="nb "> print</ span > < span class ="p "> (</ span > < span class ="sa "> f</ span > < span class ="s2 "> "GRAND TOTAL : </ span > < span class ="si "> {</ span > < span class ="n "> grand_total</ span > < span class ="si "> }</ span > < span class ="s2 "> bytes (</ span > < span class ="si "> {</ span > < span class ="n "> _fmt_bytes</ span > < span class ="p "> (</ span > < span class ="n "> grand_total</ span > < span class ="p "> )</ span > < span class ="si "> }</ span > < span class ="s2 "> )"</ span > < span class ="p "> )</ span >
447468
448-
469+ < span class ="nb "> print</ span > < span class ="p "> (</ span > < span class ="s2 "> "--- Flops Totals ---"</ span > < span class ="p "> )</ span >
470+ < span class ="n "> aux_flops</ span > < span class ="o "> =</ span > < span class ="nb "> int</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _aux_total_flops</ span > < span class ="p "> )</ span >
471+ < span class ="nb "> print</ span > < span class ="p "> (</ span > < span class ="sa "> f</ span > < span class ="s2 "> "Auxiliary ALL: </ span > < span class ="si "> {</ span > < span class ="n "> aux_flops</ span > < span class ="si "> }</ span > < span class ="s2 "> flops (</ span > < span class ="si "> {</ span > < span class ="n "> _fmt_flops</ span > < span class ="p "> (</ span > < span class ="n "> aux_flops</ span > < span class ="p "> )</ span > < span class ="si "> }</ span > < span class ="s2 "> )"</ span > < span class ="p "> )</ span >
449472 < span class ="nb "> print</ span > < span class ="p "> (</ span > < span class ="s2 "> "===================================="</ span > < span class ="p "> )</ span > </ div >
450473</ div >
451474
0 commit comments