         19017 function calls (19007 primitive calls) in 0.341 seconds

   Ordered by: internal time
   List reduced from 247 to 45 due to restriction <45>

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        1    0.148    0.148    0.171    0.171 {method 'run_backward' of 'torch._C._EngineBase' objects}
        1    0.045    0.045    0.167    0.167 /workspace/src/snnlab/sim/execution.py:3441(_forward)
      256    0.041    0.000    0.103    0.000 /workspace/src/snnlab/sim/models.py:133(lif_step_expeuler)
     1027    0.009    0.000    0.009    0.000 {built-in method torch.zeros_like}
      768    0.008    0.000    0.015    0.000 /usr/local/lib/python3.12/site-packages/torch/_tensor.py:1118(__rdiv__)
      768    0.007    0.000    0.007    0.000 {method 'reciprocal' of 'torch._C.TensorBase' objects}
      256    0.007    0.000    0.018    0.000 /workspace/benchmarks/shd-compilation/benchmark.py:21(shd_derivative)
      512    0.007    0.000    0.007    0.000 {built-in method torch.where}
      514    0.006    0.000    0.006    0.000 {method 'clamp' of 'torch._C.TensorBase' objects}
      512    0.005    0.000    0.005    0.000 {built-in method torch.full_like}
      256    0.005    0.000    0.019    0.000 /workspace/src/snnlab/sim/kernels.py:75(<lambda>)
      512    0.005    0.000    0.005    0.000 {method 'bool' of 'torch._C.TensorBase' objects}
      128    0.005    0.000    0.006    0.000 /workspace/src/snnlab/sim/kernels.py:48(step)
      256    0.004    0.000    0.004    0.000 {method 'to' of 'torch._C.TensorBase' objects}
      256    0.004    0.000    0.008    0.000 /workspace/src/snnlab/sim/extensions.py:75(forward)
      256    0.003    0.000    0.003    0.000 {built-in method torch.rsub}
      256    0.003    0.000    0.003    0.000 {method 'abs' of 'torch._C.TensorBase' objects}
      256    0.003    0.000    0.022    0.000 /workspace/src/snnlab/sim/extensions.py:80(backward)
      256    0.003    0.000    0.003    0.000 {method 'pow' of 'torch._C.TensorBase' objects}
      256    0.003    0.000    0.011    0.000 {built-in method apply}
      256    0.003    0.000    0.003    0.000 {method 'float' of 'torch._C.TensorBase' objects}
      256    0.003    0.000    0.003    0.000 {built-in method torch.exp}
      256    0.002    0.000    0.105    0.000 /workspace/src/snnlab/sim/kernels.py:60(step)
     1280    0.002    0.000    0.023    0.000 /usr/local/lib/python3.12/site-packages/torch/_tensor.py:40(wrapped)
      256    0.001    0.000    0.014    0.000 /usr/local/lib/python3.12/site-packages/torch/autograd/function.py:567(apply)
      256    0.001    0.000    0.001    0.000 /workspace/src/snnlab/sim/extensions.py:15(checked_tensor)
      256    0.001    0.000    0.023    0.000 /usr/local/lib/python3.12/site-packages/torch/autograd/function.py:302(apply)
      256    0.001    0.000    0.001    0.000 /usr/local/lib/python3.12/site-packages/torch/_functorch/utils.py:32(unwrap_dead_wrappers)
      384    0.000    0.000    0.001    0.000 /workspace/src/snnlab/sim/execution.py:2899(push)
      384    0.000    0.000    0.000    0.000 /workspace/src/snnlab/sim/execution.py:3702(intervene)
     1380    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
        1    0.000    0.000    0.167    0.167 /workspace/src/snnlab/sim/execution.py:3406(forward)
     1280    0.000    0.000    0.000    0.000 {built-in method torch._C._has_torch_function}
      528    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
      409    0.000    0.000    0.000    0.000 {method 'partition' of 'str' objects}
      256    0.000    0.000    0.000    0.000 {built-in method torch._C._functorch.unwrap_if_dead}
      512    0.000    0.000    0.001    0.000 /usr/local/lib/python3.12/site-packages/torch/_functorch/utils.py:34(<genexpr>)
      257    0.000    0.000    0.000    0.000 {built-in method torch._C._are_functorch_transforms_active}
      256    0.000    0.000    0.004    0.000 /usr/local/lib/python3.12/site-packages/torch/_tensor.py:1114(__rsub__)
        2    0.000    0.000    0.000    0.000 {built-in method torch._ops.profiler._record_function_enter_new}
      602    0.000    0.000    0.000    0.000 {built-in method builtins.isinstance}
        2    0.000    0.000    0.000    0.000 {built-in method torch.full}
        1    0.000    0.000    0.000    0.000 {built-in method torch.stack}
        1    0.000    0.000    0.000    0.000 {built-in method torch._C._group_tensors_by_device_and_dtype}
       10    0.000    0.000    0.000    0.000 {built-in method torch.zeros}
