Files

2048 lines
137 KiB
JSON

{
"backend_regression": {
"compile-default": {
"eligible_for_runtime_v1": false,
"final_g_max_abs_error": 561.5676879882812,
"final_g_mean_abs_error": 2.160905361175537,
"final_voltage_max_abs_error": 111.6280746459961,
"final_voltage_mean_abs_error": 0.47845765948295593,
"per_neuron_spike_counts_exact": false,
"spike_events_exact": false,
"state_within_tolerance": false
},
"compile-reduce-overhead": {
"eligible_for_runtime_v1": false,
"final_g_max_abs_error": 561.5676879882812,
"final_g_mean_abs_error": 2.160905361175537,
"final_voltage_max_abs_error": 111.6280746459961,
"final_voltage_mean_abs_error": 0.47845765948295593,
"per_neuron_spike_counts_exact": false,
"spike_events_exact": false,
"state_within_tolerance": false
},
"cudagraph-custom-state": {
"eligible_for_runtime_v1": false,
"final_g_max_abs_error": 52968.98046875,
"final_g_mean_abs_error": 17.617931365966797,
"final_voltage_max_abs_error": 976.6533203125,
"final_voltage_mean_abs_error": 6.446992874145508,
"per_neuron_spike_counts_exact": false,
"spike_events_exact": false,
"state_within_tolerance": false
}
},
"benchmarks": {
"10.0": {
"compile-default": {
"active_neurons": 8,
"backend": "compile-default",
"benchmark_state_regression": {
"eligible_for_runtime_v1": true,
"event_sequence_checked": false,
"final_g_max_abs_error": 9.5367431640625e-07,
"final_g_mean_abs_error": 1.8235375015551725e-11,
"final_voltage_max_abs_error": 3.814697265625e-06,
"final_voltage_mean_abs_error": 2.2883606468071527e-11,
"per_neuron_spike_counts_exact": true,
"spike_events_exact": null,
"state_within_tolerance": true
},
"biological_realtime_speed": 0.2968736826245787,
"cpu_process_utilization_percent_of_one_core": 98.40041787996206,
"descending_active_neurons": 0,
"descending_spikes": 0,
"duration_ms": 10.0,
"event_count": 0,
"event_sha256": null,
"final_g_sha256": "a66a345b1b1005621ec0f01dcb4480a4f679187d825e94f04ba8ce1f22dac86a",
"final_voltage_sha256": "e0ee0367861a0b73fd5d6de096031add0a3ca27191f6d2e32849f1788b7f6518",
"mean_firing_rate_hz": 0.004799040191961607,
"motor_active_neurons": 0,
"motor_spikes": 0,
"peak_vram_bytes": 225544192,
"realtime_factor_wall_over_biological": 3.3684359999824665,
"resource_sampling": {
"gpu_util_max_percent": 0.0,
"gpu_util_mean_percent": 0.0,
"nvidia_smi_peak_memory_used_mib": 868.0,
"samples": 1
},
"spike_counts_sha256": "0b63df6856cb1eb2386ceab5e335edbf3ebd10cea87012d8e42b82165cb2d712",
"status": "PASS",
"steps": 100,
"steps_per_second": 2968.7368262457867,
"total_spikes": 8,
"wall_clock_seconds": 0.033684359999824665
},
"compile-reduce-overhead": {
"active_neurons": 8,
"backend": "compile-reduce-overhead",
"benchmark_state_regression": {
"eligible_for_runtime_v1": true,
"event_sequence_checked": false,
"final_g_max_abs_error": 9.5367431640625e-07,
"final_g_mean_abs_error": 1.8235375015551725e-11,
"final_voltage_max_abs_error": 3.814697265625e-06,
"final_voltage_mean_abs_error": 2.2883606468071527e-11,
"per_neuron_spike_counts_exact": true,
"spike_events_exact": null,
"state_within_tolerance": true
},
"biological_realtime_speed": 0.23143213071781013,
"cpu_process_utilization_percent_of_one_core": 98.86848896739008,
"descending_active_neurons": 0,
"descending_spikes": 0,
"duration_ms": 10.0,
"event_count": 0,
"event_sha256": null,
"final_g_sha256": "a66a345b1b1005621ec0f01dcb4480a4f679187d825e94f04ba8ce1f22dac86a",
"final_voltage_sha256": "e0ee0367861a0b73fd5d6de096031add0a3ca27191f6d2e32849f1788b7f6518",
"mean_firing_rate_hz": 0.004799040191961607,
"motor_active_neurons": 0,
"motor_spikes": 0,
"peak_vram_bytes": 222872576,
"realtime_factor_wall_over_biological": 4.320921200087469,
"resource_sampling": {
"gpu_util_max_percent": 0.0,
"gpu_util_mean_percent": 0.0,
"nvidia_smi_peak_memory_used_mib": 706.0,
"samples": 1
},
"spike_counts_sha256": "0b63df6856cb1eb2386ceab5e335edbf3ebd10cea87012d8e42b82165cb2d712",
"status": "PASS",
"steps": 100,
"steps_per_second": 2314.321307178101,
"total_spikes": 8,
"wall_clock_seconds": 0.043209212000874686
},
"cudagraph-custom-state": {
"active_neurons": 8,
"backend": "cudagraph-custom-state",
"benchmark_state_regression": {
"eligible_for_runtime_v1": true,
"event_sequence_checked": false,
"final_g_max_abs_error": 11.093232154846191,
"final_g_mean_abs_error": 0.0017533794743940234,
"final_voltage_max_abs_error": 2.3584442138671875,
"final_voltage_mean_abs_error": 0.000401524972403422,
"per_neuron_spike_counts_exact": true,
"spike_events_exact": null,
"state_within_tolerance": false
},
"biological_realtime_speed": 2.1331012519709915,
"cpu_process_utilization_percent_of_one_core": 88.90311667648614,
"descending_active_neurons": 0,
"descending_spikes": 0,
"duration_ms": 10.0,
"event_count": 0,
"event_sha256": null,
"final_g_sha256": "59bc68b376b730245aa0a6187794bf1b8bb5cf893925f731adc6d454c4034d10",
"final_voltage_sha256": "6fcb234cad5fb8c919026fb8744cb417110ed1cad7f2943298f154e0cbcae469",
"mean_firing_rate_hz": 0.004799040191961607,
"motor_active_neurons": 0,
"motor_spikes": 0,
"peak_vram_bytes": 223039488,
"realtime_factor_wall_over_biological": 0.4688009999881615,
"resource_sampling": {
"gpu_util_max_percent": 0.0,
"gpu_util_mean_percent": 0.0,
"nvidia_smi_peak_memory_used_mib": 704.0,
"samples": 1
},
"spike_counts_sha256": "0b63df6856cb1eb2386ceab5e335edbf3ebd10cea87012d8e42b82165cb2d712",
"status": "PASS",
"steps": 100,
"steps_per_second": 21331.012519709915,
"total_spikes": 8,
"wall_clock_seconds": 0.004688009999881615
},
"custom-cuda": {
"active_neurons": 8,
"backend": "custom-cuda",
"benchmark_state_regression": {
"eligible_for_runtime_v1": true,
"event_sequence_checked": false,
"final_g_max_abs_error": 0.0,
"final_g_mean_abs_error": 0.0,
"final_voltage_max_abs_error": 0.0,
"final_voltage_mean_abs_error": 0.0,
"per_neuron_spike_counts_exact": true,
"spike_events_exact": null,
"state_within_tolerance": true
},
"biological_realtime_speed": 2.709792839516539,
"cpu_process_utilization_percent_of_one_core": 121.27992189246456,
"descending_active_neurons": 0,
"descending_spikes": 0,
"duration_ms": 10.0,
"event_count": 0,
"event_sha256": null,
"final_g_sha256": "0bfca525d31620f6c66768a307f7dd31b157d323151f4da1d7b45a6d4498eb82",
"final_voltage_sha256": "39705a277ec277659246d5e8fbb5377d58f2f1c8af231baa197569ec0617e500",
"mean_firing_rate_hz": 0.004799040191961607,
"motor_active_neurons": 0,
"motor_spikes": 0,
"peak_vram_bytes": 222372352,
"realtime_factor_wall_over_biological": 0.36903189993608976,
"resource_sampling": {
"gpu_util_max_percent": 0.0,
"gpu_util_mean_percent": 0.0,
"nvidia_smi_peak_memory_used_mib": 704.0,
"samples": 1
},
"spike_counts_sha256": "0b63df6856cb1eb2386ceab5e335edbf3ebd10cea87012d8e42b82165cb2d712",
"status": "PASS",
"steps": 100,
"steps_per_second": 27097.928395165392,
"total_spikes": 8,
"wall_clock_seconds": 0.0036903189993608976
},
"eager": {
"active_neurons": 8,
"backend": "eager",
"biological_realtime_speed": 0.17134990811227782,
"cpu_process_utilization_percent_of_one_core": 99.30086153162337,
"descending_active_neurons": 0,
"descending_spikes": 0,
"duration_ms": 10.0,
"event_count": 0,
"event_sha256": null,
"final_g_sha256": "0bfca525d31620f6c66768a307f7dd31b157d323151f4da1d7b45a6d4498eb82",
"final_voltage_sha256": "39705a277ec277659246d5e8fbb5377d58f2f1c8af231baa197569ec0617e500",
"mean_firing_rate_hz": 0.004799040191961607,
"motor_active_neurons": 0,
"motor_spikes": 0,
"peak_vram_bytes": 225876992,
"realtime_factor_wall_over_biological": 5.836011300016253,
"resource_sampling": {
"gpu_util_max_percent": 0.0,
"gpu_util_mean_percent": 0.0,
"nvidia_smi_peak_memory_used_mib": 868.0,
"samples": 1
},
"spike_counts_sha256": "0b63df6856cb1eb2386ceab5e335edbf3ebd10cea87012d8e42b82165cb2d712",
"status": "PASS",
"steps": 100,
"steps_per_second": 1713.4990811227783,
"total_spikes": 8,
"wall_clock_seconds": 0.05836011300016253
},
"hybrid-exact": {
"active_neurons": 8,
"backend": "hybrid-exact",
"benchmark_state_regression": {
"eligible_for_runtime_v1": true,
"event_sequence_checked": false,
"final_g_max_abs_error": 0.0,
"final_g_mean_abs_error": 0.0,
"final_voltage_max_abs_error": 0.0,
"final_voltage_mean_abs_error": 0.0,
"per_neuron_spike_counts_exact": true,
"spike_events_exact": null,
"state_within_tolerance": true
},
"biological_realtime_speed": 0.17643919555101342,
"cpu_process_utilization_percent_of_one_core": 99.54182093267137,
"descending_active_neurons": 0,
"descending_spikes": 0,
"duration_ms": 10.0,
"event_count": 0,
"event_sha256": null,
"final_g_sha256": "0bfca525d31620f6c66768a307f7dd31b157d323151f4da1d7b45a6d4498eb82",
"final_voltage_sha256": "39705a277ec277659246d5e8fbb5377d58f2f1c8af231baa197569ec0617e500",
"mean_firing_rate_hz": 0.004799040191961607,
"motor_active_neurons": 0,
"motor_spikes": 0,
"peak_vram_bytes": 226045440,
"realtime_factor_wall_over_biological": 5.6676748999962,
"resource_sampling": {
"gpu_util_max_percent": 0.0,
"gpu_util_mean_percent": 0.0,
"nvidia_smi_peak_memory_used_mib": 868.0,
"samples": 1
},
"spike_counts_sha256": "0b63df6856cb1eb2386ceab5e335edbf3ebd10cea87012d8e42b82165cb2d712",
"status": "PASS",
"steps": 100,
"steps_per_second": 1764.3919555101343,
"total_spikes": 8,
"wall_clock_seconds": 0.056676748999962
}
},
"100.0": {
"compile-default": {
"active_neurons": 5989,
"backend": "compile-default",
"benchmark_state_regression": {
"eligible_for_runtime_v1": true,
"event_sequence_checked": false,
"final_g_max_abs_error": 0.000274658203125,
"final_g_mean_abs_error": 7.153508363444416e-07,
"final_voltage_max_abs_error": 9.1552734375e-05,
"final_voltage_mean_abs_error": 3.304164124529052e-07,
"per_neuron_spike_counts_exact": true,
"spike_events_exact": null,
"state_within_tolerance": false
},
"biological_realtime_speed": 0.21351727157373968,
"cpu_process_utilization_percent_of_one_core": 99.83401359493737,
"descending_active_neurons": 293,
"descending_spikes": 746,
"duration_ms": 100.0,
"event_count": 0,
"event_sha256": null,
"final_g_sha256": "dc1930de579dd56d89878f29320df54dd3328fac01918f19b8f8ecd4d58f520e",
"final_voltage_sha256": "b1e186c6b20f0d1770ce7690bd5d80fd9764e66a6f8db58cc7224a7ce18e8178",
"mean_firing_rate_hz": 0.8358128374325134,
"motor_active_neurons": 211,
"motor_spikes": 704,
"peak_vram_bytes": 226082304,
"realtime_factor_wall_over_biological": 4.683461869990424,
"resource_sampling": {
"gpu_util_max_percent": 21.0,
"gpu_util_mean_percent": 21.0,
"nvidia_smi_peak_memory_used_mib": 708.0,
"samples": 3
},
"spike_counts_sha256": "a7d4844774dfc3b09c8fdcea180959d29bb43c15487775fcf63a83583a4bae57",
"status": "PASS",
"steps": 1000,
"steps_per_second": 2135.1727157373966,
"total_spikes": 13933,
"wall_clock_seconds": 0.4683461869990424
},
"compile-reduce-overhead": {
"active_neurons": 5989,
"backend": "compile-reduce-overhead",
"benchmark_state_regression": {
"eligible_for_runtime_v1": true,
"event_sequence_checked": false,
"final_g_max_abs_error": 0.000274658203125,
"final_g_mean_abs_error": 7.141744617911172e-07,
"final_voltage_max_abs_error": 9.1552734375e-05,
"final_voltage_mean_abs_error": 3.302791071746469e-07,
"per_neuron_spike_counts_exact": true,
"spike_events_exact": null,
"state_within_tolerance": false
},
"biological_realtime_speed": 0.18150233772020383,
"cpu_process_utilization_percent_of_one_core": 99.85689557086023,
"descending_active_neurons": 293,
"descending_spikes": 746,
"duration_ms": 100.0,
"event_count": 0,
"event_sha256": null,
"final_g_sha256": "669ca10c3db5267cf3095c7ccc47fb65dab599f394cd10f66505e7c69fa31316",
"final_voltage_sha256": "32f40e654d3bbda55233ab83abd6eff467e7b47e975db594f801e20dd2a7ed78",
"mean_firing_rate_hz": 0.8358128374325134,
"motor_active_neurons": 211,
"motor_spikes": 704,
"peak_vram_bytes": 223412736,
"realtime_factor_wall_over_biological": 5.509570909998729,
"resource_sampling": {
"gpu_util_max_percent": 15.0,
"gpu_util_mean_percent": 15.0,
"nvidia_smi_peak_memory_used_mib": 710.0,
"samples": 4
},
"spike_counts_sha256": "a7d4844774dfc3b09c8fdcea180959d29bb43c15487775fcf63a83583a4bae57",
"status": "PASS",
"steps": 1000,
"steps_per_second": 1815.0233772020383,
"total_spikes": 13933,
"wall_clock_seconds": 0.5509570909998729
},
"cudagraph-custom-state": {
"active_neurons": 61,
"backend": "cudagraph-custom-state",
"benchmark_state_regression": {
"eligible_for_runtime_v1": false,
"event_sequence_checked": false,
"final_g_max_abs_error": 1130.4898681640625,
"final_g_mean_abs_error": 6.645556449890137,
"final_voltage_max_abs_error": 525.95361328125,
"final_voltage_mean_abs_error": 3.018826961517334,
"per_neuron_spike_counts_exact": false,
"spike_events_exact": null,
"state_within_tolerance": false
},
"biological_realtime_speed": 2.636737307556418,
"cpu_process_utilization_percent_of_one_core": 98.70090853163376,
"descending_active_neurons": 0,
"descending_spikes": 0,
"duration_ms": 100.0,
"event_count": 0,
"event_sha256": null,
"final_g_sha256": "59bc68b376b730245aa0a6187794bf1b8bb5cf893925f731adc6d454c4034d10",
"final_voltage_sha256": "6fcb234cad5fb8c919026fb8744cb417110ed1cad7f2943298f154e0cbcae469",
"mean_firing_rate_hz": 0.0036592681463707257,
"motor_active_neurons": 0,
"motor_spikes": 0,
"peak_vram_bytes": 223141888,
"realtime_factor_wall_over_biological": 0.3792565900039335,
"resource_sampling": {
"gpu_util_max_percent": 15.0,
"gpu_util_mean_percent": 15.0,
"nvidia_smi_peak_memory_used_mib": 704.0,
"samples": 1
},
"spike_counts_sha256": "bd585081c57753e7ea66c2c8d9d811cfc898f76cf210bb363c25b652d1ede3ca",
"status": "PASS",
"steps": 1000,
"steps_per_second": 26367.37307556418,
"total_spikes": 61,
"wall_clock_seconds": 0.03792565900039335
},
"custom-cuda": {
"active_neurons": 5989,
"backend": "custom-cuda",
"benchmark_state_regression": {
"eligible_for_runtime_v1": true,
"event_sequence_checked": false,
"final_g_max_abs_error": 9.1552734375e-05,
"final_g_mean_abs_error": 2.862289960603448e-08,
"final_voltage_max_abs_error": 6.103515625e-05,
"final_voltage_mean_abs_error": 1.2265613413831034e-08,
"per_neuron_spike_counts_exact": true,
"spike_events_exact": null,
"state_within_tolerance": false
},
"biological_realtime_speed": 1.447656022693808,
"cpu_process_utilization_percent_of_one_core": 121.70824771557974,
"descending_active_neurons": 293,
"descending_spikes": 746,
"duration_ms": 100.0,
"event_count": 0,
"event_sha256": null,
"final_g_sha256": "fa5c8024a68da99cf86e9307a18be5b8fc849ff82520c136fa120daf4ce544f9",
"final_voltage_sha256": "59c47c0c34a198ce45c6d08b6f6ebfa7a2f3c247031b8af1a94c08a4b614b149",
"mean_firing_rate_hz": 0.8358128374325134,
"motor_active_neurons": 211,
"motor_spikes": 704,
"peak_vram_bytes": 222474752,
"realtime_factor_wall_over_biological": 0.6907718299953558,
"resource_sampling": {
"gpu_util_max_percent": 15.0,
"gpu_util_mean_percent": 15.0,
"nvidia_smi_peak_memory_used_mib": 704.0,
"samples": 1
},
"spike_counts_sha256": "a7d4844774dfc3b09c8fdcea180959d29bb43c15487775fcf63a83583a4bae57",
"status": "PASS",
"steps": 1000,
"steps_per_second": 14476.56022693808,
"total_spikes": 13933,
"wall_clock_seconds": 0.06907718299953558
},
"eager": {
"active_neurons": 5989,
"backend": "eager",
"biological_realtime_speed": 0.13861271633524394,
"cpu_process_utilization_percent_of_one_core": 99.7687359103777,
"descending_active_neurons": 293,
"descending_spikes": 746,
"duration_ms": 100.0,
"event_count": 0,
"event_sha256": null,
"final_g_sha256": "912ac2a199476d4f54edc5dfeb62fef70c0c8a6d7154373a467663aea1ff1b58",
"final_voltage_sha256": "91a6b7b882fdbc2d77d61abb6011956851b0f4ee49a18db27dc030be30dbd649",
"mean_firing_rate_hz": 0.8358128374325134,
"motor_active_neurons": 211,
"motor_spikes": 704,
"peak_vram_bytes": 226390016,
"realtime_factor_wall_over_biological": 7.214345310003409,
"resource_sampling": {
"gpu_util_max_percent": 7.0,
"gpu_util_mean_percent": 5.6,
"nvidia_smi_peak_memory_used_mib": 708.0,
"samples": 5
},
"spike_counts_sha256": "a7d4844774dfc3b09c8fdcea180959d29bb43c15487775fcf63a83583a4bae57",
"status": "PASS",
"steps": 1000,
"steps_per_second": 1386.1271633524393,
"total_spikes": 13933,
"wall_clock_seconds": 0.7214345310003409
},
"hybrid-exact": {
"active_neurons": 5989,
"backend": "hybrid-exact",
"benchmark_state_regression": {
"eligible_for_runtime_v1": true,
"event_sequence_checked": false,
"final_g_max_abs_error": 6.103515625e-05,
"final_g_mean_abs_error": 2.7109028355454257e-09,
"final_voltage_max_abs_error": 1.52587890625e-05,
"final_voltage_mean_abs_error": 8.924606609284069e-10,
"per_neuron_spike_counts_exact": true,
"spike_events_exact": null,
"state_within_tolerance": false
},
"biological_realtime_speed": 0.14604564027629044,
"cpu_process_utilization_percent_of_one_core": 99.66356342133237,
"descending_active_neurons": 293,
"descending_spikes": 746,
"duration_ms": 100.0,
"event_count": 0,
"event_sha256": null,
"final_g_sha256": "e630d4f198990095317e32784401a1fe06c5cbdf0400161c7d53e69b5f793445",
"final_voltage_sha256": "112524d70ccc7b3c25499a7019ca4a976f360f97ba45338c266751cac429e97f",
"mean_firing_rate_hz": 0.8358128374325134,
"motor_active_neurons": 211,
"motor_spikes": 704,
"peak_vram_bytes": 226558464,
"realtime_factor_wall_over_biological": 6.84717460999309,
"resource_sampling": {
"gpu_util_max_percent": 21.0,
"gpu_util_mean_percent": 15.4,
"nvidia_smi_peak_memory_used_mib": 708.0,
"samples": 5
},
"spike_counts_sha256": "a7d4844774dfc3b09c8fdcea180959d29bb43c15487775fcf63a83583a4bae57",
"status": "PASS",
"steps": 1000,
"steps_per_second": 1460.4564027629044,
"total_spikes": 13933,
"wall_clock_seconds": 0.684717460999309
}
},
"1000.0": {
"compile-default": {
"active_neurons": 20030,
"backend": "compile-default",
"benchmark_state_regression": {
"eligible_for_runtime_v1": false,
"event_sequence_checked": false,
"final_g_max_abs_error": 428.7156066894531,
"final_g_mean_abs_error": 2.4372925758361816,
"final_voltage_max_abs_error": 142.82125854492188,
"final_voltage_mean_abs_error": 0.6696141362190247,
"per_neuron_spike_counts_exact": false,
"spike_events_exact": null,
"state_within_tolerance": false
},
"biological_realtime_speed": 0.16924263087132468,
"cpu_process_utilization_percent_of_one_core": 99.80369310304515,
"descending_active_neurons": 439,
"descending_spikes": 21640,
"duration_ms": 1000.0,
"event_count": 0,
"event_sha256": null,
"final_g_sha256": "a827d5adb19a0c4351d7361e537e5d7a8f9cacdc5c1407862309a04d1845de76",
"final_voltage_sha256": "7612b0fe86659cd9087d5096e82ecf5652663d846a0a3639860c15c1655d0c66",
"mean_firing_rate_hz": 13.440887822435513,
"motor_active_neurons": 341,
"motor_spikes": 21000,
"peak_vram_bytes": 230877184,
"realtime_factor_wall_over_biological": 5.908676761000606,
"resource_sampling": {
"gpu_util_max_percent": 30.0,
"gpu_util_mean_percent": 16.94736842105263,
"nvidia_smi_peak_memory_used_mib": 714.0,
"samples": 38
},
"spike_counts_sha256": "8622e24f6b3aacfa647765cb8b232e76783f9ff8a5503f0497ad380d1ef17f87",
"status": "PASS",
"steps": 10000,
"steps_per_second": 1692.426308713247,
"total_spikes": 2240596,
"wall_clock_seconds": 5.908676761000606
},
"compile-reduce-overhead": {
"active_neurons": 20043,
"backend": "compile-reduce-overhead",
"benchmark_state_regression": {
"eligible_for_runtime_v1": false,
"event_sequence_checked": false,
"final_g_max_abs_error": 560.638916015625,
"final_g_mean_abs_error": 2.6676828861236572,
"final_voltage_max_abs_error": 244.68359375,
"final_voltage_mean_abs_error": 0.696753978729248,
"per_neuron_spike_counts_exact": false,
"spike_events_exact": null,
"state_within_tolerance": false
},
"biological_realtime_speed": 0.14978201822219026,
"cpu_process_utilization_percent_of_one_core": 99.82421839965048,
"descending_active_neurons": 439,
"descending_spikes": 21513,
"duration_ms": 1000.0,
"event_count": 0,
"event_sha256": null,
"final_g_sha256": "863e1ae799890a43fc490a8a42e41592a33a9be9f3416ccd63500a9f1d7550fa",
"final_voltage_sha256": "733404d6ca8c73c6c6c00924faaed5e116d61ab44d7dbf967e093506261ceb18",
"mean_firing_rate_hz": 13.430383923215357,
"motor_active_neurons": 338,
"motor_spikes": 20934,
"peak_vram_bytes": 228505600,
"realtime_factor_wall_over_biological": 6.6763688450009795,
"resource_sampling": {
"gpu_util_max_percent": 15.0,
"gpu_util_mean_percent": 14.86046511627907,
"nvidia_smi_peak_memory_used_mib": 714.0,
"samples": 43
},
"spike_counts_sha256": "3f085731c9ed14e50a625dc06b50dc91a1f95eefc7399f862b869b18649888e6",
"status": "PASS",
"steps": 10000,
"steps_per_second": 1497.8201822219025,
"total_spikes": 2238845,
"wall_clock_seconds": 6.6763688450009795
},
"cudagraph-custom-state": {
"active_neurons": 114,
"backend": "cudagraph-custom-state",
"benchmark_state_regression": {
"eligible_for_runtime_v1": false,
"event_sequence_checked": false,
"final_g_max_abs_error": 52961.56640625,
"final_g_mean_abs_error": 17.301403045654297,
"final_voltage_max_abs_error": 954.773193359375,
"final_voltage_mean_abs_error": 6.118348598480225,
"per_neuron_spike_counts_exact": false,
"spike_events_exact": null,
"state_within_tolerance": false
},
"biological_realtime_speed": 2.6236083010714424,
"cpu_process_utilization_percent_of_one_core": 99.7821985331982,
"descending_active_neurons": 0,
"descending_spikes": 0,
"duration_ms": 1000.0,
"event_count": 0,
"event_sha256": null,
"final_g_sha256": "59bc68b376b730245aa0a6187794bf1b8bb5cf893925f731adc6d454c4034d10",
"final_voltage_sha256": "6fcb234cad5fb8c919026fb8744cb417110ed1cad7f2943298f154e0cbcae469",
"mean_firing_rate_hz": 0.0006838632273545291,
"motor_active_neurons": 0,
"motor_spikes": 0,
"peak_vram_bytes": 224167936,
"realtime_factor_wall_over_biological": 0.3811544580003101,
"resource_sampling": {
"gpu_util_max_percent": 14.0,
"gpu_util_mean_percent": 14.0,
"nvidia_smi_peak_memory_used_mib": 704.0,
"samples": 3
},
"spike_counts_sha256": "1f33ec6a2e1b39e04528a4ed98fafca3900ef1d3d1a989f6eb23338383e33bfb",
"status": "PASS",
"steps": 10000,
"steps_per_second": 26236.08301071442,
"total_spikes": 114,
"wall_clock_seconds": 0.3811544580003101
},
"custom-cuda": {
"active_neurons": 20118,
"backend": "custom-cuda",
"benchmark_state_regression": {
"eligible_for_runtime_v1": false,
"event_sequence_checked": false,
"final_g_max_abs_error": 406.4056091308594,
"final_g_mean_abs_error": 2.793303966522217,
"final_voltage_max_abs_error": 249.43167114257812,
"final_voltage_mean_abs_error": 0.799450159072876,
"per_neuron_spike_counts_exact": false,
"spike_events_exact": null,
"state_within_tolerance": false
},
"biological_realtime_speed": 0.6229759724803137,
"cpu_process_utilization_percent_of_one_core": 111.33675801293566,
"descending_active_neurons": 440,
"descending_spikes": 21634,
"duration_ms": 1000.0,
"event_count": 0,
"event_sha256": null,
"final_g_sha256": "0862002e83087acaafd72cfd693e8416465e23ac6fe162bab07ac65cb7e716a5",
"final_voltage_sha256": "a655be8e9e100b54aeef11ec09ea7df7635bd39af78b8b0670fe98300046b1e9",
"mean_firing_rate_hz": 13.455452909418117,
"motor_active_neurons": 338,
"motor_spikes": 21238,
"peak_vram_bytes": 223500800,
"realtime_factor_wall_over_biological": 1.6051983449997351,
"resource_sampling": {
"gpu_util_max_percent": 100.0,
"gpu_util_mean_percent": 35.5,
"nvidia_smi_peak_memory_used_mib": 704.0,
"samples": 4
},
"spike_counts_sha256": "3855e7cebc1e4760fa5d2c845c4144b47be61d92da018c3099fbf64b28542560",
"status": "PASS",
"steps": 10000,
"steps_per_second": 6229.759724803136,
"total_spikes": 2243024,
"wall_clock_seconds": 1.6051983449997351
},
"eager": {
"active_neurons": 20031,
"backend": "eager",
"biological_realtime_speed": 0.11897672011190331,
"cpu_process_utilization_percent_of_one_core": 99.80135194698023,
"descending_active_neurons": 437,
"descending_spikes": 21690,
"duration_ms": 1000.0,
"event_count": 0,
"event_sha256": null,
"final_g_sha256": "aa23c161e3d0a0be0043a8f09e3f2eb4316ecc5efda92f0e1950b3b20b96c1b0",
"final_voltage_sha256": "f74fbda1a7ad82fafddf5c8202c41aca3d8e09703ac684ec72ceda32adc40612",
"mean_firing_rate_hz": 13.450593881223755,
"motor_active_neurons": 339,
"motor_spikes": 21047,
"peak_vram_bytes": 230142976,
"realtime_factor_wall_over_biological": 8.405005610000444,
"resource_sampling": {
"gpu_util_max_percent": 21.0,
"gpu_util_mean_percent": 20.24074074074074,
"nvidia_smi_peak_memory_used_mib": 712.0,
"samples": 54
},
"spike_counts_sha256": "79c0e98fb31f1f55dbb04ab2c1892e2efcbe0488558e41049d316f8e3a64a0a0",
"status": "PASS",
"steps": 10000,
"steps_per_second": 1189.7672011190332,
"total_spikes": 2242214,
"wall_clock_seconds": 8.405005610000444
},
"hybrid-exact": {
"active_neurons": 20031,
"backend": "hybrid-exact",
"benchmark_state_regression": {
"eligible_for_runtime_v1": true,
"event_sequence_checked": false,
"final_g_max_abs_error": 0.000244140625,
"final_g_mean_abs_error": 3.454602293118114e-08,
"final_voltage_max_abs_error": 3.0517578125e-05,
"final_voltage_mean_abs_error": 5.148811599298142e-09,
"per_neuron_spike_counts_exact": true,
"spike_events_exact": null,
"state_within_tolerance": false
},
"biological_realtime_speed": 0.12807087815339244,
"cpu_process_utilization_percent_of_one_core": 99.83499205899926,
"descending_active_neurons": 437,
"descending_spikes": 21690,
"duration_ms": 1000.0,
"event_count": 0,
"event_sha256": null,
"final_g_sha256": "1d624fda5a393f6fa0eced861dadfeca22bf1c6fd7a967de4471eada98258f48",
"final_voltage_sha256": "20bc3410b1347ca47c4232a50f29ad2f2b5a9ca46c02fdb87da8a41cd4159e4d",
"mean_firing_rate_hz": 13.450593881223755,
"motor_active_neurons": 339,
"motor_spikes": 21047,
"peak_vram_bytes": 228129792,
"realtime_factor_wall_over_biological": 7.808176335000098,
"resource_sampling": {
"gpu_util_max_percent": 31.0,
"gpu_util_mean_percent": 28.18,
"nvidia_smi_peak_memory_used_mib": 712.0,
"samples": 50
},
"spike_counts_sha256": "79c0e98fb31f1f55dbb04ab2c1892e2efcbe0488558e41049d316f8e3a64a0a0",
"status": "PASS",
"steps": 10000,
"steps_per_second": 1280.7087815339244,
"total_spikes": 2242214,
"wall_clock_seconds": 7.808176335000098
}
},
"10000.0": {
"compile-default": {
"active_neurons": 20389,
"backend": "compile-default",
"benchmark_state_regression": {
"eligible_for_runtime_v1": false,
"event_sequence_checked": false,
"final_g_max_abs_error": 377.6499328613281,
"final_g_mean_abs_error": 2.6284244060516357,
"final_voltage_max_abs_error": 152.2066192626953,
"final_voltage_mean_abs_error": 0.6808223724365234,
"per_neuron_spike_counts_exact": false,
"spike_events_exact": null,
"state_within_tolerance": false
},
"biological_realtime_speed": 0.16703610546561484,
"cpu_process_utilization_percent_of_one_core": 99.81580203379514,
"descending_active_neurons": 450,
"descending_spikes": 231457,
"duration_ms": 10000.0,
"event_count": 0,
"event_sha256": null,
"final_g_sha256": "fe10b0cc238e298ee34c387304cb6a1f551de404a59a1e9dfb3d5e2a1c6374bd",
"final_voltage_sha256": "5ba8cfbce46670fc54e64f234a9b79670e71574f395144e65ea46d216777b88c",
"mean_firing_rate_hz": 15.110457108578284,
"motor_active_neurons": 351,
"motor_spikes": 232273,
"peak_vram_bytes": 240838656,
"realtime_factor_wall_over_biological": 5.986729618800018,
"resource_sampling": {
"gpu_util_max_percent": 16.0,
"gpu_util_mean_percent": 15.941952506596307,
"nvidia_smi_peak_memory_used_mib": 728.0,
"samples": 379
},
"spike_counts_sha256": "01bbda580948460a86e560d2a9d7e00c6494b2c0068e13881490af545a6f63a7",
"status": "PASS",
"steps": 100000,
"steps_per_second": 1670.3610546561486,
"total_spikes": 25189132,
"wall_clock_seconds": 59.86729618800018
},
"compile-reduce-overhead": {
"active_neurons": 20353,
"backend": "compile-reduce-overhead",
"benchmark_state_regression": {
"eligible_for_runtime_v1": false,
"event_sequence_checked": false,
"final_g_max_abs_error": 385.00537109375,
"final_g_mean_abs_error": 2.443225860595703,
"final_voltage_max_abs_error": 123.86892700195312,
"final_voltage_mean_abs_error": 0.6219244599342346,
"per_neuron_spike_counts_exact": false,
"spike_events_exact": null,
"state_within_tolerance": false
},
"biological_realtime_speed": 0.14830459450010314,
"cpu_process_utilization_percent_of_one_core": 99.82694143626883,
"descending_active_neurons": 448,
"descending_spikes": 231129,
"duration_ms": 10000.0,
"event_count": 0,
"event_sha256": null,
"final_g_sha256": "116d4bed497635ac4e4385ee3077f15ad8ef6110cd471faac1cddcf1594c5ce0",
"final_voltage_sha256": "c7c0e5da9f4ffd0a597f11982b390ce653eff50fdc79b38c27e5f5cc72e708a7",
"mean_firing_rate_hz": 15.100934613077385,
"motor_active_neurons": 351,
"motor_spikes": 231314,
"peak_vram_bytes": 239715328,
"realtime_factor_wall_over_biological": 6.742879432500013,
"resource_sampling": {
"gpu_util_max_percent": 15.0,
"gpu_util_mean_percent": 14.983529411764707,
"nvidia_smi_peak_memory_used_mib": 728.0,
"samples": 425
},
"spike_counts_sha256": "304d2afe7ac9a806a3cc2f1dcb7719b475ffcfe16f5c4efd431abef0049b59e6",
"status": "PASS",
"steps": 100000,
"steps_per_second": 1483.0459450010314,
"total_spikes": 25173258,
"wall_clock_seconds": 67.42879432500013
},
"cudagraph-custom-state": {
"active_neurons": 114,
"backend": "cudagraph-custom-state",
"benchmark_state_regression": {
"eligible_for_runtime_v1": false,
"event_sequence_checked": false,
"final_g_max_abs_error": 52899.74609375,
"final_g_mean_abs_error": 17.506092071533203,
"final_voltage_max_abs_error": 974.0216064453125,
"final_voltage_mean_abs_error": 6.218505382537842,
"per_neuron_spike_counts_exact": false,
"spike_events_exact": null,
"state_within_tolerance": false
},
"biological_realtime_speed": 2.6191930364588494,
"cpu_process_utilization_percent_of_one_core": 99.75841087273807,
"descending_active_neurons": 0,
"descending_spikes": 0,
"duration_ms": 10000.0,
"event_count": 0,
"event_sha256": null,
"final_g_sha256": "59bc68b376b730245aa0a6187794bf1b8bb5cf893925f731adc6d454c4034d10",
"final_voltage_sha256": "6fcb234cad5fb8c919026fb8744cb417110ed1cad7f2943298f154e0cbcae469",
"mean_firing_rate_hz": 6.838632273545291e-05,
"motor_active_neurons": 0,
"motor_spikes": 0,
"peak_vram_bytes": 234427904,
"realtime_factor_wall_over_biological": 0.3817969832998642,
"resource_sampling": {
"gpu_util_max_percent": 30.0,
"gpu_util_mean_percent": 26.8,
"nvidia_smi_peak_memory_used_mib": 718.0,
"samples": 25
},
"spike_counts_sha256": "1f33ec6a2e1b39e04528a4ed98fafca3900ef1d3d1a989f6eb23338383e33bfb",
"status": "PASS",
"steps": 100000,
"steps_per_second": 26191.930364588494,
"total_spikes": 114,
"wall_clock_seconds": 3.8179698329986422
},
"custom-cuda": {
"active_neurons": 20409,
"backend": "custom-cuda",
"benchmark_state_regression": {
"eligible_for_runtime_v1": false,
"event_sequence_checked": false,
"final_g_max_abs_error": 532.7415771484375,
"final_g_mean_abs_error": 2.785662889480591,
"final_voltage_max_abs_error": 281.8553466796875,
"final_voltage_mean_abs_error": 0.6812684535980225,
"per_neuron_spike_counts_exact": false,
"spike_events_exact": null,
"state_within_tolerance": false
},
"biological_realtime_speed": 0.5931134588570343,
"cpu_process_utilization_percent_of_one_core": 111.05605241902965,
"descending_active_neurons": 454,
"descending_spikes": 232094,
"duration_ms": 10000.0,
"event_count": 0,
"event_sha256": null,
"final_g_sha256": "4ce7fc6cf52e7cb549d7df7ea157dd92b2160e0d97725fd994c7272d2ef32be3",
"final_voltage_sha256": "2b122ccba077bf1cf21a1dc3af10a85913ea3137e1bfe6b0b9340e15e31400cd",
"mean_firing_rate_hz": 15.10926274745051,
"motor_active_neurons": 352,
"motor_spikes": 231986,
"peak_vram_bytes": 233760768,
"realtime_factor_wall_over_biological": 1.686018054500164,
"resource_sampling": {
"gpu_util_max_percent": 100.0,
"gpu_util_mean_percent": 92.5,
"nvidia_smi_peak_memory_used_mib": 718.0,
"samples": 16
},
"spike_counts_sha256": "415a77ae0118a0661c0b420c2fafd1e620bcd5b078d07255078391b098b9be70",
"status": "PASS",
"steps": 100000,
"steps_per_second": 5931.134588570343,
"total_spikes": 25187141,
"wall_clock_seconds": 16.86018054500164
},
"eager": {
"active_neurons": 20361,
"backend": "eager",
"biological_realtime_speed": 0.117024132123752,
"cpu_process_utilization_percent_of_one_core": 99.8104262656643,
"descending_active_neurons": 447,
"descending_spikes": 231936,
"duration_ms": 10000.0,
"event_count": 0,
"event_sha256": null,
"final_g_sha256": "f437ff01a6a7ec36c7f1b259550f8f3e65afdca94dd693d060ade8bad7f35703",
"final_voltage_sha256": "e8da69959f0c7b676ac7331ff8d6b80bc14c85274b2bca4b396b5983088708c6",
"mean_firing_rate_hz": 15.106760047990402,
"motor_active_neurons": 350,
"motor_spikes": 232485,
"peak_vram_bytes": 241409536,
"realtime_factor_wall_over_biological": 8.545246026200038,
"resource_sampling": {
"gpu_util_max_percent": 21.0,
"gpu_util_mean_percent": 20.537037037037038,
"nvidia_smi_peak_memory_used_mib": 726.0,
"samples": 540
},
"spike_counts_sha256": "416765b802ab413a582457f1bd48b7b6c5dd86556d1a89148009e326b7219ece",
"status": "PASS",
"steps": 100000,
"steps_per_second": 1170.24132123752,
"total_spikes": 25182969,
"wall_clock_seconds": 85.45246026200039
},
"hybrid-exact": {
"active_neurons": 20361,
"backend": "hybrid-exact",
"benchmark_state_regression": {
"eligible_for_runtime_v1": false,
"event_sequence_checked": false,
"final_g_max_abs_error": 451.8028564453125,
"final_g_mean_abs_error": 2.532028913497925,
"final_voltage_max_abs_error": 151.9433135986328,
"final_voltage_mean_abs_error": 0.6020241379737854,
"per_neuron_spike_counts_exact": false,
"spike_events_exact": null,
"state_within_tolerance": false
},
"biological_realtime_speed": 0.12564218388193749,
"cpu_process_utilization_percent_of_one_core": 99.81303928659202,
"descending_active_neurons": 447,
"descending_spikes": 231896,
"duration_ms": 10000.0,
"event_count": 0,
"event_sha256": null,
"final_g_sha256": "08b3f72aa84056e0c8e583561105ffa18947596f9fb7a5fe1f3cbb4db6114726",
"final_voltage_sha256": "e4ec420edef0169e919369a0a3999f57737636dbc162f350d0d193701be351ec",
"mean_firing_rate_hz": 15.104034793041391,
"motor_active_neurons": 350,
"motor_spikes": 232268,
"peak_vram_bytes": 239323648,
"realtime_factor_wall_over_biological": 7.959110301200053,
"resource_sampling": {
"gpu_util_max_percent": 31.0,
"gpu_util_mean_percent": 29.850597609561753,
"nvidia_smi_peak_memory_used_mib": 726.0,
"samples": 502
},
"spike_counts_sha256": "e8a34d7cd4b581a732d944ab8d137968e27332c8c7adccf72edc97908b3d2fc2",
"status": "PASS",
"steps": 100000,
"steps_per_second": 1256.421838819375,
"total_spikes": 25178426,
"wall_clock_seconds": 79.59110301200053
}
}
},
"compiler_report": {
"fullgraph_dynamic_csr": {
"action": "kept eager reference; custom CUDA prototype keeps spike detection/fan-out/accumulation on GPU",
"graph_break_reasons": [
"torch.nonzero produces data-dependent dynamic shape",
"Python branching on sources.numel() and edge_ids.numel()",
"expand_rows requires cumulative[-1].item() host synchronization",
"dynamic torch.arange allocation and event-dependent CSR fan-out"
],
"status": "not eligible"
},
"modes": {
"compile-default": {
"fullgraph": true,
"graph_breaks_in_fused_static_state": 0,
"status": "compiled"
},
"compile-reduce-overhead": {
"fullgraph": true,
"graph_breaks_in_fused_static_state": 0,
"status": "compiled"
}
},
"torch_version": "2.14.0+cu130"
},
"custom_extension": {
"build_seconds": 0.03649341500022274,
"sources": {
"/data/digital-drosophila/models/male-cns-lif/phase4c_ext.cpp": "187e268d38bb29ba271959c911d2112f9c84192b25d34ce2ef81ea89f1ae477d",
"/data/digital-drosophila/models/male-cns-lif/phase4c_ext.cu": "ba8602151666c96a356fdc86e34deb66285a96efc0ec5e5280630bcaf43816c9"
},
"status": "PASS"
},
"device": {
"name": "NVIDIA GeForce RTX 4090",
"total_memory_bytes": 50864390144
},
"entered_phase4d": false,
"game_rl_web_3d_training": false,
"input_hashes_unchanged": true,
"kernel_launch_profiler_10ms": {
"compile-default": {
"cuda_kernel_launches": 1830,
"cuda_runtime_events": 4491,
"duration_ms": 10.0,
"kernels_per_step": 18.3,
"steps": 100,
"top_kernel_launch_counts": [
[
"void at_cuda_detail::cub::detail::scan::DeviceCompactInitKernel<at_cuda_detail::cub::ScanTileState<int, true>, int*>(at_cuda_detail::cub::ScanTileState<int, true>, int, int*)",
200
],
[
"void at_cuda_detail::cub::detail::select::DeviceSelectSweepKernel<at_cuda_detail::cub::detail::select::policy_hub<long, bool, int, false, (at_cuda_detail::cub::SelectImpl)0>::Policy1000, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::counting_iterator<long, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default>, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::transform_iterator<at::native::(anonymous namespace)::NonZeroOp<bool>, bool const*, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default>, long*, int*, at_cuda_detail::cub::ScanTileState<int, true>, at_cuda_detail::cub::NullType, at_cuda_detail::cub::NullType, int, at_cuda_detail::cub::detail::select::streaming_context_t<long, true>, (at_cuda_detail::cub::SelectImpl)0>(thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::counting_iterator<long, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default>, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::transform_iterator<at::native::(anonymous namespace)::NonZeroOp<bool>, bool const*, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default>, long*, int*, at_cuda_detail::cub::ScanTileState<int, true>, at_cuda_detail::cub::NullType, at_cuda_detail::cub::NullType, int, int, at_cuda_detail::cub::detail::select::streaming_context_t<long, true>, at_cuda_detail::cub::detail::vsmem_t)",
200
],
[
"void at::native::vectorized_elementwise_kernel<4, at::native::FillFunctor<float>, std::array<char*, 1ul>, false>(int, at::native::FillFunctor<float>, std::array<char*, 1ul>)",
103
],
[
"triton_poi_fused_add_bitwise_and_clamp_min_eq_full_like_ge_mul_sub_where_0",
101
],
[
"void at::native::(anonymous namespace)::distribution_elementwise_grid_stride_kernel<float, 4, at::native::templates::cuda::uniform_and_transform<float, float, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(curandStatePhilox4_32_10*)#2}, at::native::(anonymous namespace)::distribution_nullary_kernel<float, float, float4, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_and_transform<float, float, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(curandStatePhilox4_32_10*)#2}, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_and_transform<float, float, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(curandStatePhilox4_32_10*)#2} const&, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(int, float)#1}>(long, at::PhiloxCudaState, at::native::templates::cuda::uniform_and_transform<float, float, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(curandStatePhilox4_32_10*)#2}, at::native::(anonymous namespace)::distribution_nullary_kernel<float, float, float4, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_and_transform<float, float, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(curandStatePhilox4_32_10*)#2}, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_and_transform<float, float, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(curandStatePhilox4_32_10*)#2} const&, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(int, float)#1})",
100
],
[
"void at::native::vectorized_elementwise_kernel<4, at::native::compare_scalar_kernel<float>(at::TensorIteratorBase&, at::native::(anonymous namespace)::OpType, float)::{lambda(float)#1}, std::array<char*, 2ul>, false>(int, at::native::compare_scalar_kernel<float>(at::TensorIteratorBase&, at::native::(anonymous namespace)::OpType, float)::{lambda(float)#1}, std::array<char*, 2ul>)",
100
],
[
"void at::native::unrolled_elementwise_kernel<at::native::direct_copy_kernel_cuda(at::TensorIteratorBase&)::{lambda()#3}::operator()() const::{lambda()#1}::operator()() const::{lambda(unsigned char)#1}, std::array<char*, 2ul>, 4, TrivialOffsetCalculator<1, unsigned int>, TrivialOffsetCalculator<1, unsigned int>, at::native::memory::LoadWithCast<1>, at::native::memory::StoreWithCast<1> >(int, at::native::direct_copy_kernel_cuda(at::TensorIteratorBase&)::{lambda()#3}::operator()() const::{lambda()#1}::operator()() const::{lambda(unsigned char)#1}, std::array<char*, 2ul>, TrivialOffsetCalculator<1, unsigned int>, TrivialOffsetCalculator<1, unsigned int>, at::native::memory::LoadWithCast<1>, at::native::memory::StoreWithCast<1>)",
100
],
[
"void at::native::unrolled_elementwise_kernel<at::native::direct_copy_kernel_cuda(at::TensorIteratorBase&)::{lambda()#3}::operator()() const::{lambda()#11}::operator()() const::{lambda(bool)#1}, std::array<char*, 2ul>, 4, TrivialOffsetCalculator<1, unsigned int>, TrivialOffsetCalculator<1, unsigned int>, at::native::memory::LoadWithCast<1>, at::native::memory::StoreWithCast<1> >(int, at::native::direct_copy_kernel_cuda(at::TensorIteratorBase&)::{lambda()#3}::operator()() const::{lambda()#11}::operator()() const::{lambda(bool)#1}, std::array<char*, 2ul>, TrivialOffsetCalculator<1, unsigned int>, TrivialOffsetCalculator<1, unsigned int>, at::native::memory::LoadWithCast<1>, at::native::memory::StoreWithCast<1>)",
100
],
[
"void at::native::index_elementwise_kernel<128, 4, at::native::gpu_index_kernel<at::native::index_kernel_impl<at::native::OpaqueType<1> >(at::TensorIteratorBase&, c10::ArrayRef<long>, c10::ArrayRef<long>)::{lambda(char*, char const*, long)#1}>(at::TensorIteratorBase&, c10::ArrayRef<long>, c10::ArrayRef<long>, at::native::index_kernel_impl<at::native::OpaqueType<1> >(at::TensorIteratorBase&, c10::ArrayRef<long>, c10::ArrayRef<long>)::{lambda(char*, char const*, long)#1} const&, bool)::{lambda(int)#1}>(long, at::native::gpu_index_kernel<at::native::index_kernel_impl<at::native::OpaqueType<1> >(at::TensorIteratorBase&, c10::ArrayRef<long>, c10::ArrayRef<long>)::{lambda(char*, char const*, long)#1}>(at::TensorIteratorBase&, c10::ArrayRef<long>, c10::ArrayRef<long>, at::native::index_kernel_impl<at::native::OpaqueType<1> >(at::TensorIteratorBase&, c10::ArrayRef<long>, c10::ArrayRef<long>)::{lambda(char*, char const*, long)#1} const&, bool)::{lambda(int)#1})",
100
],
[
"void at::native::vectorized_elementwise_kernel<4, at::native::BinaryFunctor<bool, bool, bool, at::native::BitwiseAndFunctor<bool> >, std::array<char*, 3ul>, false>(int, at::native::BinaryFunctor<bool, bool, bool, at::native::BitwiseAndFunctor<bool> >, std::array<char*, 3ul>)",
100
],
[
"void at_cuda_detail::cub::detail::reduce::DeviceReduceSingleTileKernel<at_cuda_detail::cub::detail::reduce::policy_hub<int, unsigned long long, cuda::std::__4::plus<void> >::Policy1000, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::transform_iterator<at::native::(anonymous namespace)::NonZeroOp<bool>, bool const*, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default>, int*, unsigned long long, cuda::std::__4::plus<void>, int, int, cuda::std::__4::__identity>(thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::transform_iterator<at::native::(anonymous namespace)::NonZeroOp<bool>, bool const*, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default>, int*, unsigned long long, cuda::std::__4::plus<void>, int, cuda::std::__4::__identity)",
100
],
[
"void at_cuda_detail::cub::detail::reduce::DeviceReduceKernel<at_cuda_detail::cub::detail::reduce::policy_hub<int, unsigned long long, cuda::std::__4::plus<void> >::Policy1000, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::transform_iterator<at::native::(anonymous namespace)::NonZeroOp<bool>, bool const*, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default>, unsigned long long, cuda::std::__4::plus<void>, int, cuda::std::__4::__identity>(thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::transform_iterator<at::native::(anonymous namespace)::NonZeroOp<bool>, bool const*, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default>, int*, unsigned long long, at_cuda_detail::cub::GridEvenShare<unsigned long long>, cuda::std::__4::plus<void>, cuda::std::__4::__identity)",
100
],
[
"void at_cuda_detail::cub::detail::reduce::DeviceReduceSingleTileKernel<at_cuda_detail::cub::detail::reduce::policy_hub<int, unsigned long long, cuda::std::__4::plus<void> >::Policy1000, int*, int*, int, cuda::std::__4::plus<void>, int, int, cuda::std::__4::__identity>(int*, int*, int, cuda::std::__4::plus<void>, int, cuda::std::__4::__identity)",
100
],
[
"void at::native::unrolled_elementwise_kernel<at::native::direct_copy_kernel_cuda(at::TensorIteratorBase&)::{lambda()#3}::operator()() const::{lambda()#3}::operator()() const::{lambda(int)#1}, std::array<char*, 2ul>, 4, TrivialOffsetCalculator<1, unsigned int>, TrivialOffsetCalculator<1, unsigned int>, at::native::memory::LoadWithCast<1>, at::native::memory::StoreWithCast<1> >(int, at::native::direct_copy_kernel_cuda(at::TensorIteratorBase&)::{lambda()#3}::operator()() const::{lambda()#3}::operator()() const::{lambda(int)#1}, std::array<char*, 2ul>, TrivialOffsetCalculator<1, unsigned int>, TrivialOffsetCalculator<1, unsigned int>, at::native::memory::LoadWithCast<1>, at::native::memory::StoreWithCast<1>)",
100
],
[
"void at::native::vectorized_elementwise_kernel<4, at::native::CUDAFunctor_add<int>, std::array<char*, 3ul>, false>(int, at::native::CUDAFunctor_add<int>, std::array<char*, 3ul>)",
100
],
[
"void at::native::index_elementwise_kernel<128, 4, at::native::gpu_index_kernel<at::native::index_kernel_impl<at::native::OpaqueType<8> >(at::TensorIteratorBase&, c10::ArrayRef<long>, c10::ArrayRef<long>)::{lambda(char*, char const*, long)#1}>(at::TensorIteratorBase&, c10::ArrayRef<long>, c10::ArrayRef<long>, at::native::index_kernel_impl<at::native::OpaqueType<8> >(at::TensorIteratorBase&, c10::ArrayRef<long>, c10::ArrayRef<long>)::{lambda(char*, char const*, long)#1} const&, bool)::{lambda(int)#1}>(long, at::native::gpu_index_kernel<at::native::index_kernel_impl<at::native::OpaqueType<8> >(at::TensorIteratorBase&, c10::ArrayRef<long>, c10::ArrayRef<long>)::{lambda(char*, char const*, long)#1}>(at::TensorIteratorBase&, c10::ArrayRef<long>, c10::ArrayRef<long>, at::native::index_kernel_impl<at::native::OpaqueType<8> >(at::TensorIteratorBase&, c10::ArrayRef<long>, c10::ArrayRef<long>)::{lambda(char*, char const*, long)#1} const&, bool)::{lambda(int)#1})",
32
],
[
"void at::native::vectorized_elementwise_kernel<2, at::native::CUDAFunctor_add<long>, std::array<char*, 3ul>, false>(int, at::native::CUDAFunctor_add<long>, std::array<char*, 3ul>)",
20
],
[
"void at::native::index_elementwise_kernel<128, 4, at::native::gpu_index_kernel<at::native::index_put_kernel_impl<at::native::OpaqueType<4> >(at::TensorIterator&, c10::ArrayRef<long>, c10::ArrayRef<long>)::{lambda(char*, char const*, long)#1}>(at::TensorIteratorBase&, c10::ArrayRef<long>, c10::ArrayRef<long>, at::native::index_put_kernel_impl<at::native::OpaqueType<4> >(at::TensorIterator&, c10::ArrayRef<long>, c10::ArrayRef<long>)::{lambda(char*, char const*, long)#1} const&, bool)::{lambda(int)#1}>(long, at::native::gpu_index_kernel<at::native::index_put_kernel_impl<at::native::OpaqueType<4> >(at::TensorIterator&, c10::ArrayRef<long>, c10::ArrayRef<long>)::{lambda(char*, char const*, long)#1}>(at::TensorIteratorBase&, c10::ArrayRef<long>, c10::ArrayRef<long>, at::native::index_put_kernel_impl<at::native::OpaqueType<4> >(at::TensorIterator&, c10::ArrayRef<long>, c10::ArrayRef<long>)::{lambda(char*, char const*, long)#1} const&, bool)::{lambda(int)#1})",
16
],
[
"void at::native::index_elementwise_kernel<128, 4, at::native::gpu_index_kernel<at::native::index_put_kernel_impl<at::native::OpaqueType<1> >(at::TensorIterator&, c10::ArrayRef<long>, c10::ArrayRef<long>)::{lambda(char*, char const*, long)#1}>(at::TensorIteratorBase&, c10::ArrayRef<long>, c10::ArrayRef<long>, at::native::index_put_kernel_impl<at::native::OpaqueType<1> >(at::TensorIterator&, c10::ArrayRef<long>, c10::ArrayRef<long>)::{lambda(char*, char const*, long)#1} const&, bool)::{lambda(int)#1}>(long, at::native::gpu_index_kernel<at::native::index_put_kernel_impl<at::native::OpaqueType<1> >(at::TensorIterator&, c10::ArrayRef<long>, c10::ArrayRef<long>)::{lambda(char*, char const*, long)#1}>(at::TensorIteratorBase&, c10::ArrayRef<long>, c10::ArrayRef<long>, at::native::index_put_kernel_impl<at::native::OpaqueType<1> >(at::TensorIterator&, c10::ArrayRef<long>, c10::ArrayRef<long>)::{lambda(char*, char const*, long)#1} const&, bool)::{lambda(int)#1})",
8
],
[
"void at::native::vectorized_elementwise_kernel<2, at::native::CUDAFunctorOnSelf_add<long>, std::array<char*, 2ul>, false>(int, at::native::CUDAFunctorOnSelf_add<long>, std::array<char*, 2ul>)",
8
]
],
"trace": "/data/digital-drosophila/experiments/phase4c-runtime/profiler/compile-default-10ms-trace.json",
"trial_metrics": null
},
"compile-reduce-overhead": {
"reason": "torch profiler/CUDAGraph output lifetime conflict; compiler performance and graph-break reports retained",
"status": "not separately profiled"
},
"cudagraph-custom-state": {
"cuda_kernel_launches": 609,
"cuda_runtime_events": 1279,
"duration_ms": 10.0,
"kernels_per_step": 6.09,
"steps": 100,
"top_kernel_launch_counts": [
[
"void at::native::vectorized_elementwise_kernel<4, at::native::FillFunctor<float>, std::array<char*, 1ul>, false>(int, at::native::FillFunctor<float>, std::array<char*, 1ul>)",
104
],
[
"void at::native::(anonymous namespace)::distribution_elementwise_grid_stride_kernel<float, 4, at::native::templates::cuda::uniform_and_transform<float, float, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(curandStatePhilox4_32_10*)#2}, at::native::(anonymous namespace)::distribution_nullary_kernel<float, float, float4, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_and_transform<float, float, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(curandStatePhilox4_32_10*)#2}, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_and_transform<float, float, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(curandStatePhilox4_32_10*)#2} const&, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(int, float)#1}>(long, at::PhiloxCudaState, at::native::templates::cuda::uniform_and_transform<float, float, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(curandStatePhilox4_32_10*)#2}, at::native::(anonymous namespace)::distribution_nullary_kernel<float, float, float4, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_and_transform<float, float, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(curandStatePhilox4_32_10*)#2}, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_and_transform<float, float, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(curandStatePhilox4_32_10*)#2} const&, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(int, float)#1})",
100
],
[
"void at::native::vectorized_elementwise_kernel<4, at::native::compare_scalar_kernel<float>(at::TensorIteratorBase&, at::native::(anonymous namespace)::OpType, float)::{lambda(float)#1}, std::array<char*, 2ul>, false>(int, at::native::compare_scalar_kernel<float>(at::TensorIteratorBase&, at::native::(anonymous namespace)::OpType, float)::{lambda(float)#1}, std::array<char*, 2ul>)",
100
],
[
"void at::native::unrolled_elementwise_kernel<at::native::direct_copy_kernel_cuda(at::TensorIteratorBase&)::{lambda()#3}::operator()() const::{lambda()#1}::operator()() const::{lambda(unsigned char)#1}, std::array<char*, 2ul>, 4, TrivialOffsetCalculator<1, unsigned int>, TrivialOffsetCalculator<1, unsigned int>, at::native::memory::LoadWithCast<1>, at::native::memory::StoreWithCast<1> >(int, at::native::direct_copy_kernel_cuda(at::TensorIteratorBase&)::{lambda()#3}::operator()() const::{lambda()#1}::operator()() const::{lambda(unsigned char)#1}, std::array<char*, 2ul>, TrivialOffsetCalculator<1, unsigned int>, TrivialOffsetCalculator<1, unsigned int>, at::native::memory::LoadWithCast<1>, at::native::memory::StoreWithCast<1>)",
100
],
[
"(anonymous namespace)::force_kernel(float*, int*, unsigned char*, int*, long const*, unsigned char const*, int, float, int)",
100
],
[
"(anonymous namespace)::fanout_kernel(unsigned char const*, long const*, int const*, float const*, float*, int)",
100
],
[
"void at::native::vectorized_elementwise_kernel<4, at::native::FillFunctor<int>, std::array<char*, 1ul>, false>(int, at::native::FillFunctor<int>, std::array<char*, 1ul>)",
2
],
[
"(anonymous namespace)::state_kernel(float*, float*, int*, float*, unsigned char*, int*, int, float, float, float, float, float, int)",
2
],
[
"void at::native::vectorized_elementwise_kernel<4, at::native::FillFunctor<unsigned char>, std::array<char*, 1ul>, false>(int, at::native::FillFunctor<unsigned char>, std::array<char*, 1ul>)",
1
]
],
"trace": "/data/digital-drosophila/experiments/phase4c-runtime/profiler/cudagraph-custom-state-10ms-trace.json",
"trial_metrics": {
"active_neurons": 8,
"backend": "cudagraph-custom-state",
"biological_realtime_speed": 1.1735718655667582,
"cpu_process_utilization_percent_of_one_core": 99.98462619490603,
"descending_active_neurons": 0,
"descending_spikes": 0,
"duration_ms": 10.0,
"event_count": 0,
"event_sha256": null,
"final_g_sha256": "59bc68b376b730245aa0a6187794bf1b8bb5cf893925f731adc6d454c4034d10",
"final_voltage_sha256": "6fcb234cad5fb8c919026fb8744cb417110ed1cad7f2943298f154e0cbcae469",
"mean_firing_rate_hz": 0.004799040191961607,
"motor_active_neurons": 0,
"motor_spikes": 0,
"peak_vram_bytes": 223039488,
"realtime_factor_wall_over_biological": 0.8520995001163101,
"resource_sampling": {},
"spike_counts_sha256": "0b63df6856cb1eb2386ceab5e335edbf3ebd10cea87012d8e42b82165cb2d712",
"steps": 100,
"steps_per_second": 11735.71865566758,
"total_spikes": 8,
"wall_clock_seconds": 0.0085209950011631
}
},
"custom-cuda": {
"cuda_kernel_launches": 606,
"cuda_runtime_events": 923,
"duration_ms": 10.0,
"kernels_per_step": 6.06,
"steps": 100,
"top_kernel_launch_counts": [
[
"void at::native::(anonymous namespace)::distribution_elementwise_grid_stride_kernel<float, 4, at::native::templates::cuda::uniform_and_transform<float, float, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(curandStatePhilox4_32_10*)#2}, at::native::(anonymous namespace)::distribution_nullary_kernel<float, float, float4, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_and_transform<float, float, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(curandStatePhilox4_32_10*)#2}, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_and_transform<float, float, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(curandStatePhilox4_32_10*)#2} const&, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(int, float)#1}>(long, at::PhiloxCudaState, at::native::templates::cuda::uniform_and_transform<float, float, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(curandStatePhilox4_32_10*)#2}, at::native::(anonymous namespace)::distribution_nullary_kernel<float, float, float4, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_and_transform<float, float, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(curandStatePhilox4_32_10*)#2}, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_and_transform<float, float, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(curandStatePhilox4_32_10*)#2} const&, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(int, float)#1})",
100
],
[
"void at::native::vectorized_elementwise_kernel<4, at::native::compare_scalar_kernel<float>(at::TensorIteratorBase&, at::native::(anonymous namespace)::OpType, float)::{lambda(float)#1}, std::array<char*, 2ul>, false>(int, at::native::compare_scalar_kernel<float>(at::TensorIteratorBase&, at::native::(anonymous namespace)::OpType, float)::{lambda(float)#1}, std::array<char*, 2ul>)",
100
],
[
"void at::native::unrolled_elementwise_kernel<at::native::direct_copy_kernel_cuda(at::TensorIteratorBase&)::{lambda()#3}::operator()() const::{lambda()#1}::operator()() const::{lambda(unsigned char)#1}, std::array<char*, 2ul>, 4, TrivialOffsetCalculator<1, unsigned int>, TrivialOffsetCalculator<1, unsigned int>, at::native::memory::LoadWithCast<1>, at::native::memory::StoreWithCast<1> >(int, at::native::direct_copy_kernel_cuda(at::TensorIteratorBase&)::{lambda()#3}::operator()() const::{lambda()#1}::operator()() const::{lambda(unsigned char)#1}, std::array<char*, 2ul>, TrivialOffsetCalculator<1, unsigned int>, TrivialOffsetCalculator<1, unsigned int>, at::native::memory::LoadWithCast<1>, at::native::memory::StoreWithCast<1>)",
100
],
[
"(anonymous namespace)::state_kernel(float*, float*, int*, float*, unsigned char*, int*, int, float, float, float, float, float, int)",
100
],
[
"(anonymous namespace)::force_kernel(float*, int*, unsigned char*, int*, long const*, unsigned char const*, int, float, int)",
100
],
[
"(anonymous namespace)::fanout_kernel(unsigned char const*, long const*, int const*, float const*, float*, int)",
100
],
[
"void at::native::vectorized_elementwise_kernel<4, at::native::FillFunctor<float>, std::array<char*, 1ul>, false>(int, at::native::FillFunctor<float>, std::array<char*, 1ul>)",
3
],
[
"void at::native::vectorized_elementwise_kernel<4, at::native::FillFunctor<int>, std::array<char*, 1ul>, false>(int, at::native::FillFunctor<int>, std::array<char*, 1ul>)",
2
],
[
"void at::native::vectorized_elementwise_kernel<4, at::native::FillFunctor<unsigned char>, std::array<char*, 1ul>, false>(int, at::native::FillFunctor<unsigned char>, std::array<char*, 1ul>)",
1
]
],
"trace": "/data/digital-drosophila/experiments/phase4c-runtime/profiler/custom-cuda-10ms-trace.json",
"trial_metrics": {
"active_neurons": 8,
"backend": "custom-cuda",
"biological_realtime_speed": 2.4314329832463635,
"cpu_process_utilization_percent_of_one_core": 99.9569150568377,
"descending_active_neurons": 0,
"descending_spikes": 0,
"duration_ms": 10.0,
"event_count": 0,
"event_sha256": null,
"final_g_sha256": "0bfca525d31620f6c66768a307f7dd31b157d323151f4da1d7b45a6d4498eb82",
"final_voltage_sha256": "39705a277ec277659246d5e8fbb5377d58f2f1c8af231baa197569ec0617e500",
"mean_firing_rate_hz": 0.004799040191961607,
"motor_active_neurons": 0,
"motor_spikes": 0,
"peak_vram_bytes": 222372352,
"realtime_factor_wall_over_biological": 0.4112800997972954,
"resource_sampling": {},
"spike_counts_sha256": "0b63df6856cb1eb2386ceab5e335edbf3ebd10cea87012d8e42b82165cb2d712",
"steps": 100,
"steps_per_second": 24314.329832463634,
"total_spikes": 8,
"wall_clock_seconds": 0.004112800997972954
}
},
"eager": {
"cuda_kernel_launches": 5029,
"cuda_runtime_events": 13292,
"duration_ms": 10.0,
"kernels_per_step": 50.29,
"steps": 100,
"top_kernel_launch_counts": [
[
"void at_cuda_detail::cub::detail::scan::DeviceCompactInitKernel<at_cuda_detail::cub::ScanTileState<int, true>, int*>(at_cuda_detail::cub::ScanTileState<int, true>, int, int*)",
600
],
[
"void at_cuda_detail::cub::detail::select::DeviceSelectSweepKernel<at_cuda_detail::cub::detail::select::policy_hub<long, bool, int, false, (at_cuda_detail::cub::SelectImpl)0>::Policy1000, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::counting_iterator<long, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default>, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::transform_iterator<at::native::(anonymous namespace)::NonZeroOp<bool>, bool const*, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default>, long*, int*, at_cuda_detail::cub::ScanTileState<int, true>, at_cuda_detail::cub::NullType, at_cuda_detail::cub::NullType, int, at_cuda_detail::cub::detail::select::streaming_context_t<long, true>, (at_cuda_detail::cub::SelectImpl)0>(thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::counting_iterator<long, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default>, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::transform_iterator<at::native::(anonymous namespace)::NonZeroOp<bool>, bool const*, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default>, long*, int*, at_cuda_detail::cub::ScanTileState<int, true>, at_cuda_detail::cub::NullType, at_cuda_detail::cub::NullType, int, int, at_cuda_detail::cub::detail::select::streaming_context_t<long, true>, at_cuda_detail::cub::detail::vsmem_t)",
600
],
[
"void at_cuda_detail::cub::detail::reduce::DeviceReduceKernel<at_cuda_detail::cub::detail::reduce::policy_hub<int, unsigned long long, cuda::std::__4::plus<void> >::Policy1000, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::transform_iterator<at::native::(anonymous namespace)::NonZeroOp<bool>, bool const*, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default>, unsigned long long, cuda::std::__4::plus<void>, int, cuda::std::__4::__identity>(thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::transform_iterator<at::native::(anonymous namespace)::NonZeroOp<bool>, bool const*, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default>, int*, unsigned long long, at_cuda_detail::cub::GridEvenShare<unsigned long long>, cuda::std::__4::plus<void>, cuda::std::__4::__identity)",
500
],
[
"void at_cuda_detail::cub::detail::reduce::DeviceReduceSingleTileKernel<at_cuda_detail::cub::detail::reduce::policy_hub<int, unsigned long long, cuda::std::__4::plus<void> >::Policy1000, int*, int*, int, cuda::std::__4::plus<void>, int, int, cuda::std::__4::__identity>(int*, int*, int, cuda::std::__4::plus<void>, int, cuda::std::__4::__identity)",
500
],
[
"void at::native::index_elementwise_kernel<128, 4, at::native::gpu_index_kernel<at::native::index_kernel_impl<at::native::OpaqueType<4> >(at::TensorIteratorBase&, c10::ArrayRef<long>, c10::ArrayRef<long>)::{lambda(char*, char const*, long)#1}>(at::TensorIteratorBase&, c10::ArrayRef<long>, c10::ArrayRef<long>, at::native::index_kernel_impl<at::native::OpaqueType<4> >(at::TensorIteratorBase&, c10::ArrayRef<long>, c10::ArrayRef<long>)::{lambda(char*, char const*, long)#1} const&, bool)::{lambda(int)#1}>(long, at::native::gpu_index_kernel<at::native::index_kernel_impl<at::native::OpaqueType<4> >(at::TensorIteratorBase&, c10::ArrayRef<long>, c10::ArrayRef<long>)::{lambda(char*, char const*, long)#1}>(at::TensorIteratorBase&, c10::ArrayRef<long>, c10::ArrayRef<long>, at::native::index_kernel_impl<at::native::OpaqueType<4> >(at::TensorIteratorBase&, c10::ArrayRef<long>, c10::ArrayRef<long>)::{lambda(char*, char const*, long)#1} const&, bool)::{lambda(int)#1})",
308
],
[
"void at::native::vectorized_elementwise_kernel<4, at::native::CUDAFunctor_add<float>, std::array<char*, 3ul>, false>(int, at::native::CUDAFunctor_add<float>, std::array<char*, 3ul>)",
300
],
[
"void at::native::vectorized_elementwise_kernel<4, at::native::compare_scalar_kernel<float>(at::TensorIteratorBase&, at::native::(anonymous namespace)::OpType, float)::{lambda(float)#1}, std::array<char*, 2ul>, false>(int, at::native::compare_scalar_kernel<float>(at::TensorIteratorBase&, at::native::(anonymous namespace)::OpType, float)::{lambda(float)#1}, std::array<char*, 2ul>)",
200
],
[
"void at::native::vectorized_elementwise_kernel<4, at::native::AUnaryFunctor<float, float, float, at::native::binary_internal::MulFunctor<float> >, std::array<char*, 2ul>, false>(int, at::native::AUnaryFunctor<float, float, float, at::native::binary_internal::MulFunctor<float> >, std::array<char*, 2ul>)",
200
],
[
"void at::native::vectorized_elementwise_kernel<4, at::native::BinaryFunctor<bool, bool, bool, at::native::BitwiseAndFunctor<bool> >, std::array<char*, 3ul>, false>(int, at::native::BinaryFunctor<bool, bool, bool, at::native::BitwiseAndFunctor<bool> >, std::array<char*, 3ul>)",
200
],
[
"void at::native::index_elementwise_kernel<128, 4, at::native::gpu_index_kernel<at::native::index_put_kernel_impl<at::native::OpaqueType<4> >(at::TensorIterator&, c10::ArrayRef<long>, c10::ArrayRef<long>)::{lambda(char*, char const*, long)#1}>(at::TensorIteratorBase&, c10::ArrayRef<long>, c10::ArrayRef<long>, at::native::index_put_kernel_impl<at::native::OpaqueType<4> >(at::TensorIterator&, c10::ArrayRef<long>, c10::ArrayRef<long>)::{lambda(char*, char const*, long)#1} const&, bool)::{lambda(int)#1}>(long, at::native::gpu_index_kernel<at::native::index_put_kernel_impl<at::native::OpaqueType<4> >(at::TensorIterator&, c10::ArrayRef<long>, c10::ArrayRef<long>)::{lambda(char*, char const*, long)#1}>(at::TensorIteratorBase&, c10::ArrayRef<long>, c10::ArrayRef<long>, at::native::index_put_kernel_impl<at::native::OpaqueType<4> >(at::TensorIterator&, c10::ArrayRef<long>, c10::ArrayRef<long>)::{lambda(char*, char const*, long)#1} const&, bool)::{lambda(int)#1})",
116
],
[
"void at::native::vectorized_elementwise_kernel<4, at::native::FillFunctor<float>, std::array<char*, 1ul>, false>(int, at::native::FillFunctor<float>, std::array<char*, 1ul>)",
103
],
[
"void at::native::(anonymous namespace)::distribution_elementwise_grid_stride_kernel<float, 4, at::native::templates::cuda::uniform_and_transform<float, float, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(curandStatePhilox4_32_10*)#2}, at::native::(anonymous namespace)::distribution_nullary_kernel<float, float, float4, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_and_transform<float, float, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(curandStatePhilox4_32_10*)#2}, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_and_transform<float, float, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(curandStatePhilox4_32_10*)#2} const&, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(int, float)#1}>(long, at::PhiloxCudaState, at::native::templates::cuda::uniform_and_transform<float, float, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(curandStatePhilox4_32_10*)#2}, at::native::(anonymous namespace)::distribution_nullary_kernel<float, float, float4, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_and_transform<float, float, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(curandStatePhilox4_32_10*)#2}, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_and_transform<float, float, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(curandStatePhilox4_32_10*)#2} const&, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(int, float)#1})",
100
],
[
"void at::native::unrolled_elementwise_kernel<at::native::direct_copy_kernel_cuda(at::TensorIteratorBase&)::{lambda()#3}::operator()() const::{lambda()#1}::operator()() const::{lambda(unsigned char)#1}, std::array<char*, 2ul>, 4, TrivialOffsetCalculator<1, unsigned int>, TrivialOffsetCalculator<1, unsigned int>, at::native::memory::LoadWithCast<1>, at::native::memory::StoreWithCast<1> >(int, at::native::direct_copy_kernel_cuda(at::TensorIteratorBase&)::{lambda()#3}::operator()() const::{lambda()#1}::operator()() const::{lambda(unsigned char)#1}, std::array<char*, 2ul>, TrivialOffsetCalculator<1, unsigned int>, TrivialOffsetCalculator<1, unsigned int>, at::native::memory::LoadWithCast<1>, at::native::memory::StoreWithCast<1>)",
100
],
[
"void at::native::vectorized_elementwise_kernel<4, at::native::(anonymous namespace)::launch_clamp_scalar(at::TensorIteratorBase&, c10::Scalar, c10::Scalar, at::native::detail::ClampLimits)::{lambda()#1}::operator()() const::{lambda()#3}::operator()() const::{lambda(int)#1}, std::array<char*, 2ul>, false>(int, at::native::(anonymous namespace)::launch_clamp_scalar(at::TensorIteratorBase&, c10::Scalar, c10::Scalar, at::native::detail::ClampLimits)::{lambda()#1}::operator()() const::{lambda()#3}::operator()() const::{lambda(int)#1}, std::array<char*, 2ul>)",
100
],
[
"void at::native::vectorized_elementwise_kernel<4, at::native::CUDAFunctorOnSelf_add<int>, std::array<char*, 2ul>, false>(int, at::native::CUDAFunctorOnSelf_add<int>, std::array<char*, 2ul>)",
100
],
[
"void at::native::vectorized_elementwise_kernel<4, at::native::AUnaryFunctor<int, int, bool, at::native::(anonymous namespace)::CompareEqFunctor<int> >, std::array<char*, 2ul>, false>(int, at::native::AUnaryFunctor<int, int, bool, at::native::(anonymous namespace)::CompareEqFunctor<int> >, std::array<char*, 2ul>)",
100
],
[
"void at::native::vectorized_elementwise_kernel<4, at::native::CUDAFunctorOnSelf_add<float>, std::array<char*, 2ul>, false>(int, at::native::CUDAFunctorOnSelf_add<float>, std::array<char*, 2ul>)",
100
],
[
"void at::native::vectorized_elementwise_kernel<4, at::native::bitwise_not_kernel_cuda(at::TensorIteratorBase&)::{lambda(bool)#1}, std::array<char*, 2ul>, false>(int, at::native::bitwise_not_kernel_cuda(at::TensorIteratorBase&)::{lambda(bool)#1}, std::array<char*, 2ul>)",
100
],
[
"void at::native::vectorized_elementwise_kernel<4, at::native::(anonymous namespace)::masked_fill_kernel(at::TensorIterator&, c10::Scalar const&)::{lambda()#1}::operator()() const::{lambda()#7}::operator()() const::{lambda(float, bool)#1}, std::array<char*, 3ul>, false>(int, at::native::(anonymous namespace)::masked_fill_kernel(at::TensorIterator&, c10::Scalar const&)::{lambda()#1}::operator()() const::{lambda()#7}::operator()() const::{lambda(float, bool)#1}, std::array<char*, 3ul>)",
100
],
[
"void at::native::unrolled_elementwise_kernel<at::native::direct_copy_kernel_cuda(at::TensorIteratorBase&)::{lambda()#3}::operator()() const::{lambda()#11}::operator()() const::{lambda(bool)#1}, std::array<char*, 2ul>, 4, TrivialOffsetCalculator<1, unsigned int>, TrivialOffsetCalculator<1, unsigned int>, at::native::memory::LoadWithCast<1>, at::native::memory::StoreWithCast<1> >(int, at::native::direct_copy_kernel_cuda(at::TensorIteratorBase&)::{lambda()#3}::operator()() const::{lambda()#11}::operator()() const::{lambda(bool)#1}, std::array<char*, 2ul>, TrivialOffsetCalculator<1, unsigned int>, TrivialOffsetCalculator<1, unsigned int>, at::native::memory::LoadWithCast<1>, at::native::memory::StoreWithCast<1>)",
100
]
],
"trace": "/data/digital-drosophila/experiments/phase4c-runtime/profiler/eager-10ms-trace.json",
"trial_metrics": null
},
"hybrid-exact": {
"cuda_kernel_launches": 5010,
"cuda_runtime_events": 13265,
"duration_ms": 10.0,
"kernels_per_step": 50.1,
"steps": 100,
"top_kernel_launch_counts": [
[
"void at_cuda_detail::cub::detail::scan::DeviceCompactInitKernel<at_cuda_detail::cub::ScanTileState<int, true>, int*>(at_cuda_detail::cub::ScanTileState<int, true>, int, int*)",
600
],
[
"void at_cuda_detail::cub::detail::select::DeviceSelectSweepKernel<at_cuda_detail::cub::detail::select::policy_hub<long, bool, int, false, (at_cuda_detail::cub::SelectImpl)0>::Policy1000, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::counting_iterator<long, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default>, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::transform_iterator<at::native::(anonymous namespace)::NonZeroOp<bool>, bool const*, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default>, long*, int*, at_cuda_detail::cub::ScanTileState<int, true>, at_cuda_detail::cub::NullType, at_cuda_detail::cub::NullType, int, at_cuda_detail::cub::detail::select::streaming_context_t<long, true>, (at_cuda_detail::cub::SelectImpl)0>(thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::counting_iterator<long, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default>, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::transform_iterator<at::native::(anonymous namespace)::NonZeroOp<bool>, bool const*, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default>, long*, int*, at_cuda_detail::cub::ScanTileState<int, true>, at_cuda_detail::cub::NullType, at_cuda_detail::cub::NullType, int, int, at_cuda_detail::cub::detail::select::streaming_context_t<long, true>, at_cuda_detail::cub::detail::vsmem_t)",
600
],
[
"void at_cuda_detail::cub::detail::reduce::DeviceReduceKernel<at_cuda_detail::cub::detail::reduce::policy_hub<int, unsigned long long, cuda::std::__4::plus<void> >::Policy1000, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::transform_iterator<at::native::(anonymous namespace)::NonZeroOp<bool>, bool const*, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default>, unsigned long long, cuda::std::__4::plus<void>, int, cuda::std::__4::__identity>(thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::transform_iterator<at::native::(anonymous namespace)::NonZeroOp<bool>, bool const*, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default, thrust::THRUST_300001_SM_750_800_860_900_1000_1200_NS::use_default>, int*, unsigned long long, at_cuda_detail::cub::GridEvenShare<unsigned long long>, cuda::std::__4::plus<void>, cuda::std::__4::__identity)",
500
],
[
"void at_cuda_detail::cub::detail::reduce::DeviceReduceSingleTileKernel<at_cuda_detail::cub::detail::reduce::policy_hub<int, unsigned long long, cuda::std::__4::plus<void> >::Policy1000, int*, int*, int, cuda::std::__4::plus<void>, int, int, cuda::std::__4::__identity>(int*, int*, int, cuda::std::__4::plus<void>, int, cuda::std::__4::__identity)",
500
],
[
"void at::native::index_elementwise_kernel<128, 4, at::native::gpu_index_kernel<at::native::index_kernel_impl<at::native::OpaqueType<4> >(at::TensorIteratorBase&, c10::ArrayRef<long>, c10::ArrayRef<long>)::{lambda(char*, char const*, long)#1}>(at::TensorIteratorBase&, c10::ArrayRef<long>, c10::ArrayRef<long>, at::native::index_kernel_impl<at::native::OpaqueType<4> >(at::TensorIteratorBase&, c10::ArrayRef<long>, c10::ArrayRef<long>)::{lambda(char*, char const*, long)#1} const&, bool)::{lambda(int)#1}>(long, at::native::gpu_index_kernel<at::native::index_kernel_impl<at::native::OpaqueType<4> >(at::TensorIteratorBase&, c10::ArrayRef<long>, c10::ArrayRef<long>)::{lambda(char*, char const*, long)#1}>(at::TensorIteratorBase&, c10::ArrayRef<long>, c10::ArrayRef<long>, at::native::index_kernel_impl<at::native::OpaqueType<4> >(at::TensorIteratorBase&, c10::ArrayRef<long>, c10::ArrayRef<long>)::{lambda(char*, char const*, long)#1} const&, bool)::{lambda(int)#1})",
308
],
[
"void at::native::vectorized_elementwise_kernel<4, at::native::CUDAFunctor_add<float>, std::array<char*, 3ul>, false>(int, at::native::CUDAFunctor_add<float>, std::array<char*, 3ul>)",
300
],
[
"void at::native::vectorized_elementwise_kernel<4, at::native::compare_scalar_kernel<float>(at::TensorIteratorBase&, at::native::(anonymous namespace)::OpType, float)::{lambda(float)#1}, std::array<char*, 2ul>, false>(int, at::native::compare_scalar_kernel<float>(at::TensorIteratorBase&, at::native::(anonymous namespace)::OpType, float)::{lambda(float)#1}, std::array<char*, 2ul>)",
200
],
[
"void at::native::vectorized_elementwise_kernel<4, at::native::AUnaryFunctor<float, float, float, at::native::binary_internal::MulFunctor<float> >, std::array<char*, 2ul>, false>(int, at::native::AUnaryFunctor<float, float, float, at::native::binary_internal::MulFunctor<float> >, std::array<char*, 2ul>)",
200
],
[
"void at::native::vectorized_elementwise_kernel<4, at::native::BinaryFunctor<bool, bool, bool, at::native::BitwiseAndFunctor<bool> >, std::array<char*, 3ul>, false>(int, at::native::BinaryFunctor<bool, bool, bool, at::native::BitwiseAndFunctor<bool> >, std::array<char*, 3ul>)",
200
],
[
"void at::native::index_elementwise_kernel<128, 4, at::native::gpu_index_kernel<at::native::index_put_kernel_impl<at::native::OpaqueType<4> >(at::TensorIterator&, c10::ArrayRef<long>, c10::ArrayRef<long>)::{lambda(char*, char const*, long)#1}>(at::TensorIteratorBase&, c10::ArrayRef<long>, c10::ArrayRef<long>, at::native::index_put_kernel_impl<at::native::OpaqueType<4> >(at::TensorIterator&, c10::ArrayRef<long>, c10::ArrayRef<long>)::{lambda(char*, char const*, long)#1} const&, bool)::{lambda(int)#1}>(long, at::native::gpu_index_kernel<at::native::index_put_kernel_impl<at::native::OpaqueType<4> >(at::TensorIterator&, c10::ArrayRef<long>, c10::ArrayRef<long>)::{lambda(char*, char const*, long)#1}>(at::TensorIteratorBase&, c10::ArrayRef<long>, c10::ArrayRef<long>, at::native::index_put_kernel_impl<at::native::OpaqueType<4> >(at::TensorIterator&, c10::ArrayRef<long>, c10::ArrayRef<long>)::{lambda(char*, char const*, long)#1} const&, bool)::{lambda(int)#1})",
116
],
[
"void at::native::vectorized_elementwise_kernel<4, at::native::FillFunctor<float>, std::array<char*, 1ul>, false>(int, at::native::FillFunctor<float>, std::array<char*, 1ul>)",
103
],
[
"void at::native::(anonymous namespace)::distribution_elementwise_grid_stride_kernel<float, 4, at::native::templates::cuda::uniform_and_transform<float, float, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(curandStatePhilox4_32_10*)#2}, at::native::(anonymous namespace)::distribution_nullary_kernel<float, float, float4, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_and_transform<float, float, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(curandStatePhilox4_32_10*)#2}, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_and_transform<float, float, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(curandStatePhilox4_32_10*)#2} const&, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(int, float)#1}>(long, at::PhiloxCudaState, at::native::templates::cuda::uniform_and_transform<float, float, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(curandStatePhilox4_32_10*)#2}, at::native::(anonymous namespace)::distribution_nullary_kernel<float, float, float4, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_and_transform<float, float, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(curandStatePhilox4_32_10*)#2}, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_and_transform<float, float, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1}>(at::TensorIteratorBase&, at::CUDAGeneratorImpl*, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(curandStatePhilox4_32_10*)#2} const&, at::native::templates::cuda::uniform_kernel<at::CUDAGeneratorImpl*>(at::TensorIteratorBase&, double, double, at::CUDAGeneratorImpl*)::{lambda()#1}::operator()() const::{lambda()#2}::operator()() const::{lambda(float)#1})::{lambda(int, float)#1})",
100
],
[
"void at::native::unrolled_elementwise_kernel<at::native::direct_copy_kernel_cuda(at::TensorIteratorBase&)::{lambda()#3}::operator()() const::{lambda()#1}::operator()() const::{lambda(unsigned char)#1}, std::array<char*, 2ul>, 4, TrivialOffsetCalculator<1, unsigned int>, TrivialOffsetCalculator<1, unsigned int>, at::native::memory::LoadWithCast<1>, at::native::memory::StoreWithCast<1> >(int, at::native::direct_copy_kernel_cuda(at::TensorIteratorBase&)::{lambda()#3}::operator()() const::{lambda()#1}::operator()() const::{lambda(unsigned char)#1}, std::array<char*, 2ul>, TrivialOffsetCalculator<1, unsigned int>, TrivialOffsetCalculator<1, unsigned int>, at::native::memory::LoadWithCast<1>, at::native::memory::StoreWithCast<1>)",
100
],
[
"void at::native::vectorized_elementwise_kernel<4, at::native::(anonymous namespace)::launch_clamp_scalar(at::TensorIteratorBase&, c10::Scalar, c10::Scalar, at::native::detail::ClampLimits)::{lambda()#1}::operator()() const::{lambda()#3}::operator()() const::{lambda(int)#1}, std::array<char*, 2ul>, false>(int, at::native::(anonymous namespace)::launch_clamp_scalar(at::TensorIteratorBase&, c10::Scalar, c10::Scalar, at::native::detail::ClampLimits)::{lambda()#1}::operator()() const::{lambda()#3}::operator()() const::{lambda(int)#1}, std::array<char*, 2ul>)",
100
],
[
"void at::native::vectorized_elementwise_kernel<4, at::native::CUDAFunctorOnSelf_add<int>, std::array<char*, 2ul>, false>(int, at::native::CUDAFunctorOnSelf_add<int>, std::array<char*, 2ul>)",
100
],
[
"void at::native::vectorized_elementwise_kernel<4, at::native::AUnaryFunctor<int, int, bool, at::native::(anonymous namespace)::CompareEqFunctor<int> >, std::array<char*, 2ul>, false>(int, at::native::AUnaryFunctor<int, int, bool, at::native::(anonymous namespace)::CompareEqFunctor<int> >, std::array<char*, 2ul>)",
100
],
[
"void at::native::vectorized_elementwise_kernel<4, at::native::CUDAFunctorOnSelf_add<float>, std::array<char*, 2ul>, false>(int, at::native::CUDAFunctorOnSelf_add<float>, std::array<char*, 2ul>)",
100
],
[
"void at::native::vectorized_elementwise_kernel<4, at::native::bitwise_not_kernel_cuda(at::TensorIteratorBase&)::{lambda(bool)#1}, std::array<char*, 2ul>, false>(int, at::native::bitwise_not_kernel_cuda(at::TensorIteratorBase&)::{lambda(bool)#1}, std::array<char*, 2ul>)",
100
],
[
"void at::native::vectorized_elementwise_kernel<4, at::native::(anonymous namespace)::masked_fill_kernel(at::TensorIterator&, c10::Scalar const&)::{lambda()#1}::operator()() const::{lambda()#7}::operator()() const::{lambda(float, bool)#1}, std::array<char*, 3ul>, false>(int, at::native::(anonymous namespace)::masked_fill_kernel(at::TensorIterator&, c10::Scalar const&)::{lambda()#1}::operator()() const::{lambda()#7}::operator()() const::{lambda(float, bool)#1}, std::array<char*, 3ul>)",
100
],
[
"void at::native::unrolled_elementwise_kernel<at::native::direct_copy_kernel_cuda(at::TensorIteratorBase&)::{lambda()#3}::operator()() const::{lambda()#11}::operator()() const::{lambda(bool)#1}, std::array<char*, 2ul>, 4, TrivialOffsetCalculator<1, unsigned int>, TrivialOffsetCalculator<1, unsigned int>, at::native::memory::LoadWithCast<1>, at::native::memory::StoreWithCast<1> >(int, at::native::direct_copy_kernel_cuda(at::TensorIteratorBase&)::{lambda()#3}::operator()() const::{lambda()#11}::operator()() const::{lambda(bool)#1}, std::array<char*, 2ul>, TrivialOffsetCalculator<1, unsigned int>, TrivialOffsetCalculator<1, unsigned int>, at::native::memory::LoadWithCast<1>, at::native::memory::StoreWithCast<1>)",
100
]
],
"trace": "/data/digital-drosophila/experiments/phase4c-runtime/profiler/hybrid-exact-10ms-trace.json",
"trial_metrics": null
}
},
"reference": {
"code": {
"config.yaml": {
"path": "/data/digital-drosophila/models/male-cns-lif/reference-v1/config.yaml",
"sha256": "3c8651a903302845020917e8c7fee5caa39b6d2bef167a8a448c1a7560689414"
},
"model.py": {
"path": "/data/digital-drosophila/models/male-cns-lif/reference-v1/model.py",
"sha256": "693468685a7ff3db1d09a088e0bbdaa78c595d64086b27e9cc18abceb4c7d174"
}
},
"description": "Shiu-like LIF dynamics adapted to MaleCNS v1.0",
"graph": {
"directed_edges": 25582938,
"isolated_neurons": 217,
"neurons": 166700,
"self_loops": 101,
"synaptic_contact_weight_sum": 124177617
},
"inputs": {
"csr_metadata": {
"path": "/data/digital-drosophila/datasets/male-cns-v1.0/processed/neuron-only/gpu/csr-metadata.json",
"sha256": "3786a0c79fc25bdc4d11f67d4de1f9f6a88da750431e96508bf72bbfa42bb6f8"
},
"indices": {
"path": "/data/digital-drosophila/datasets/male-cns-v1.0/processed/neuron-only/gpu/csr-indices.int32.npy",
"sha256": "ce20f7433f78442c717ad2a7b5394cf4a3b109d990b4be0788040b7b0f4ed150"
},
"indptr": {
"path": "/data/digital-drosophila/datasets/male-cns-v1.0/processed/neuron-only/gpu/csr-indptr.int64.npy",
"sha256": "fe43420f11e6242a11f8199ae7f097cab4b8a6db181d36f2a46b9e46670acbb4"
},
"mapping": {
"path": "/data/digital-drosophila/datasets/male-cns-v1.0/processed/neuron-only/neuron-index/body-id-neuron-idx.parquet",
"sha256": "2b615c00d290e34fbe7792a5050eee4ce086446cd54ec89c96d7b1bc4a8e6009"
},
"metadata": {
"path": "/data/digital-drosophila/datasets/male-cns-v1.0/processed/neuron-only/neuron-index/unified-metadata.parquet",
"sha256": "922af16846a065c3dbfca7c11146b83ca217fcbd7392edc745f444a04eae8c63"
},
"raw_weights": {
"path": "/data/digital-drosophila/datasets/male-cns-v1.0/processed/neuron-only/gpu/csr-weights.int64.npy",
"sha256": "c7ae101451dd19c47fd976bcfacbc52d67193a68ffa04c5b4d2e911cfd52d99b"
}
},
"local_repository_commit": "d826733f1c620a2ad0b096c846b9b8e9eb3ac0fa",
"name": "MaleCNS-LIF-reference-v1",
"not_claimed": "strict Shiu 2024 original-model reproduction",
"parameters": {
"dt_ms": 0.1,
"integration": "forward_euler",
"membrane_tau_ms": 20.0,
"refractory_g_policy": "g continues to decay and receive exact delayed events while v is clamped at V_reset",
"refractory_ms": 2.2,
"reset_potential_mv": -52.0,
"resting_potential_mv": -52.0,
"synaptic_delay_ms": 1.8,
"synaptic_tau_ms": 5.0,
"threshold_mv": -45.0,
"w_syn_mv_per_anatomical_synapse": 0.275
},
"phase4b_checksum_verification": "PASS",
"phase4b_checksums_sha256": "8f09b27d60fdde213d4038176169127bbca16d4da5bbc85d3bf1ea1755a9de76",
"phase4b_manifest_sha256": "d930b92524d494937e11bd2dbfe50ac31d924daf8140d80ccd17fb2ad2d0b09a",
"reason": "MaleCNS v1.0 transmitter inventory includes histamine and differs from the original dataset/inventory",
"remote_model_directory_is_git_repository": false,
"sign_policy": {
"neurotransmitter_sign": {
"acetylcholine": 1,
"dopamine": 1,
"gaba": -1,
"glutamate": -1,
"histamine": -1,
"octopamine": 1,
"serotonin": 1
},
"unclear_sign": 0,
"unknown_sign": 0,
"unmapped_policy": "error"
},
"source_phase": "Phase 4B PASS"
},
"reference_frozen": true,
"regression": {
"auditory-100hz": {
"custom-cuda": {
"candidate_event_sha256": "bf9472dfef89cd7c68f3d02d3098e988e094bcce1a75286461f38b61efdc948d",
"eligible_for_runtime_v1": true,
"final_g_max_abs_error": 0.001953125,
"final_g_mean_abs_error": 2.3577847230171756e-07,
"final_voltage_max_abs_error": 9.1552734375e-05,
"final_voltage_mean_abs_error": 4.0572633253077584e-08,
"per_neuron_spike_counts_exact": true,
"propagation_statistics_exact": true,
"reference_event_sha256": "bf9472dfef89cd7c68f3d02d3098e988e094bcce1a75286461f38b61efdc948d",
"spike_events_exact": true,
"state_within_tolerance": false
},
"hybrid-exact": {
"candidate_event_sha256": "bf9472dfef89cd7c68f3d02d3098e988e094bcce1a75286461f38b61efdc948d",
"eligible_for_runtime_v1": true,
"final_g_max_abs_error": 0.0009765625,
"final_g_mean_abs_error": 5.601728148008078e-08,
"final_voltage_max_abs_error": 4.57763671875e-05,
"final_voltage_mean_abs_error": 6.476060576687814e-09,
"per_neuron_spike_counts_exact": true,
"propagation_statistics_exact": true,
"reference_event_sha256": "bf9472dfef89cd7c68f3d02d3098e988e094bcce1a75286461f38b61efdc948d",
"spike_events_exact": true,
"state_within_tolerance": false
}
},
"auditory-10hz": {
"custom-cuda": {
"candidate_event_sha256": "5a2cfbe9168122bd153855efe645b65340437765a851a54ed5ee817da59630af",
"eligible_for_runtime_v1": true,
"final_g_max_abs_error": 0.00390625,
"final_g_mean_abs_error": 2.360452100447219e-07,
"final_voltage_max_abs_error": 6.103515625e-05,
"final_voltage_mean_abs_error": 4.073282156014102e-08,
"per_neuron_spike_counts_exact": true,
"propagation_statistics_exact": true,
"reference_event_sha256": "5a2cfbe9168122bd153855efe645b65340437765a851a54ed5ee817da59630af",
"spike_events_exact": true,
"state_within_tolerance": false
},
"hybrid-exact": {
"candidate_event_sha256": "5a2cfbe9168122bd153855efe645b65340437765a851a54ed5ee817da59630af",
"eligible_for_runtime_v1": true,
"final_g_max_abs_error": 0.000244140625,
"final_g_mean_abs_error": 3.382269753160472e-08,
"final_voltage_max_abs_error": 3.0517578125e-05,
"final_voltage_mean_abs_error": 5.308996797737109e-09,
"per_neuron_spike_counts_exact": true,
"propagation_statistics_exact": true,
"reference_event_sha256": "5a2cfbe9168122bd153855efe645b65340437765a851a54ed5ee817da59630af",
"spike_events_exact": true,
"state_within_tolerance": false
}
},
"gustatory-50hz": {
"custom-cuda": {
"candidate_event_sha256": "33f95e37e27a8ef6de8368948d388a1ed9e03f29ff331c266025646889f88c48",
"eligible_for_runtime_v1": false,
"final_g_max_abs_error": 0.00390625,
"final_g_mean_abs_error": 2.401351650860306e-07,
"final_voltage_max_abs_error": 6.103515625e-05,
"final_voltage_mean_abs_error": 3.691125627369729e-08,
"per_neuron_spike_counts_exact": true,
"propagation_statistics_exact": true,
"reference_event_sha256": "169bd42735d5357300546c37f826b6e5e216f43136c16262364bd6a991e66d53",
"spike_events_exact": false,
"state_within_tolerance": false
},
"hybrid-exact": {
"candidate_event_sha256": "169bd42735d5357300546c37f826b6e5e216f43136c16262364bd6a991e66d53",
"eligible_for_runtime_v1": true,
"final_g_max_abs_error": 0.00390625,
"final_g_mean_abs_error": 8.467309697834935e-08,
"final_voltage_max_abs_error": 6.103515625e-05,
"final_voltage_mean_abs_error": 6.498944493671388e-09,
"per_neuron_spike_counts_exact": true,
"propagation_statistics_exact": true,
"reference_event_sha256": "169bd42735d5357300546c37f826b6e5e216f43136c16262364bd6a991e66d53",
"spike_events_exact": true,
"state_within_tolerance": false
}
},
"mechanosensory-50hz": {
"custom-cuda": {
"candidate_event_sha256": "6e6e7bb80bedace02bc60790838f5d535854ddd8567b62e421a193f94818eae5",
"eligible_for_runtime_v1": false,
"final_g_max_abs_error": 604.771240234375,
"final_g_mean_abs_error": 3.3535778522491455,
"final_voltage_max_abs_error": 351.72637939453125,
"final_voltage_mean_abs_error": 1.0685756206512451,
"per_neuron_spike_counts_exact": false,
"propagation_statistics_exact": false,
"reference_event_sha256": "0cd6399bb437771a0901575674450fae32cd296df710f0a7ec0da26804176999",
"spike_events_exact": false,
"state_within_tolerance": false
},
"hybrid-exact": {
"candidate_event_sha256": "0cd6399bb437771a0901575674450fae32cd296df710f0a7ec0da26804176999",
"eligible_for_runtime_v1": true,
"final_g_max_abs_error": 0.00048828125,
"final_g_mean_abs_error": 4.223790739388278e-08,
"final_voltage_max_abs_error": 6.103515625e-05,
"final_voltage_mean_abs_error": 9.290744173995336e-09,
"per_neuron_spike_counts_exact": true,
"propagation_statistics_exact": true,
"reference_event_sha256": "0cd6399bb437771a0901575674450fae32cd296df710f0a7ec0da26804176999",
"spike_events_exact": true,
"state_within_tolerance": false
}
},
"olfactory-50hz": {
"custom-cuda": {
"candidate_event_sha256": "0a96a16ab0f4ea559238206e3feab22954bb090ad4e791f47a4ca530a23a460d",
"eligible_for_runtime_v1": true,
"final_g_max_abs_error": 0.00390625,
"final_g_mean_abs_error": 2.6316607204535103e-07,
"final_voltage_max_abs_error": 6.103515625e-05,
"final_voltage_mean_abs_error": 3.892501609925603e-08,
"per_neuron_spike_counts_exact": true,
"propagation_statistics_exact": true,
"reference_event_sha256": "0a96a16ab0f4ea559238206e3feab22954bb090ad4e791f47a4ca530a23a460d",
"spike_events_exact": true,
"state_within_tolerance": false
},
"hybrid-exact": {
"candidate_event_sha256": "0a96a16ab0f4ea559238206e3feab22954bb090ad4e791f47a4ca530a23a460d",
"eligible_for_runtime_v1": true,
"final_g_max_abs_error": 0.00048828125,
"final_g_mean_abs_error": 5.61670994159158e-08,
"final_voltage_max_abs_error": 6.103515625e-05,
"final_voltage_mean_abs_error": 7.231219623093921e-09,
"per_neuron_spike_counts_exact": true,
"propagation_statistics_exact": true,
"reference_event_sha256": "0a96a16ab0f4ea559238206e3feab22954bb090ad4e791f47a4ca530a23a460d",
"spike_events_exact": true,
"state_within_tolerance": false
}
}
},
"runtime_v1_backend": "hybrid-exact",
"status": "PASS",
"visual_audit": {
"all_histaminergic": true,
"all_ol_sensory": true,
"anatomical_membership_counts": {
"lamina": 14929,
"lobula": 1655,
"lobula_plate": 14340,
"medulla": 50994,
"optic_lobe_interneurons": 89403,
"optic_lobe_interneurons_unassigned_to_named_region": 7485,
"photoreceptor": 6091,
"retinal_sensory": 6091,
"visual_projection_neurons": 9203
},
"anatomical_rule_provenance": {
"named_optic_regions": "explicit annotation_type prefix/set rules, preserved in this audit; no body_id was guessed",
"optic_lobe_interneurons": "annotation_superclass=ol_intrinsic",
"photoreceptor_retinal_sensory": "annotation_class=visual AND annotation_superclass=ol_sensory; observed types recorded verbatim",
"visual_projection_neurons": "annotation_superclass in {visual_projection, visual_projection_tbc}"
},
"conclusion": "The 6091 annotation_class=visual bodies are photoreceptor/retinal sensory input neurons, not the whole visual processing network.",
"edge_statistics_file": "/data/digital-drosophila/experiments/phase4c-runtime/visual-audit/hierarchy-edge-statistics.json",
"field_breakdown": {
"annotation_class": {
"visual": 6091
},
"annotation_instance": {
"R1-R6_L": 1112,
"R1-R6_R": 2265,
"R7R8_unclear_R": 85,
"R7_unclear_L": 165,
"R7_unclear_R": 239,
"R7d_L": 40,
"R7d_R": 42,
"R7p_L": 173,
"R7p_R": 159,
"R7y_L": 230,
"R7y_R": 252,
"R8_unclear_L": 188,
"R8_unclear_R": 254,
"R8d_L": 35,
"R8d_R": 41,
"R8p_L": 172,
"R8p_R": 158,
"R8y_L": 230,
"R8y_R": 251
},
"annotation_subclass": {
"<null>": 6091
},
"annotation_superclass": {
"ol_sensory": 6091
},
"annotation_type": {
"R1-R6": 3377,
"R7R8_unclear": 85,
"R7_unclear": 404,
"R7d": 82,
"R7p": 332,
"R7y": 482,
"R8_unclear": 442,
"R8d": 76,
"R8p": 330,
"R8y": 481
},
"neurotransmitter": {
"histamine": 6091
},
"side": {
"<null>": 6062,
"L": 19,
"R": 10
}
},
"hierarchy_counts": {
"central_brain": 50717,
"first_order": 23707,
"higher_visual": 4407,
"second_order": 81483,
"visual_sensory": 6091
},
"hierarchy_definition": "exclusive shortest directed connectome distance from the 6091 sensory neurons: depth 0 sensory, depth 1 first-order, depth 2 second-order, depth >=3 split into optic/visual-superclass higher_visual versus non-optic downstream central_brain; unreachable bodies are excluded",
"phase4b_visual_count": 6091,
"raw_visual_types": [
"R1-R6",
"R7R8_unclear",
"R7_unclear",
"R7d",
"R7p",
"R7y",
"R8_unclear",
"R8d",
"R8p",
"R8y"
]
},
"visual_dynamics": {
"A-forced-histaminergic-sensory": {
"active_neurons": 6047,
"backend": "eager",
"baseline_status": "semantic test; no automatic selection",
"biological_interpretation": "histamine remains inhibitory; forced sensory spikes are an engineering interface, not phototransduction/receptor-potential biology",
"biological_realtime_speed": 0.09380145352696229,
"cpu_process_utilization_percent_of_one_core": 99.97323506854931,
"descending_active_neurons": 0,
"descending_spikes": 0,
"downstream_active_neurons": 0,
"duration_ms": 100.0,
"event_count": 0,
"event_sha256": null,
"final_g_sha256": "ccb1075e15a9ec113bda8b37adcbcfdafb587b9205aa6acea661211bb486bb83",
"final_voltage_sha256": "b0fa959c4ff093a76dc08d608d56b4a3db87181438c5826d8af520c6423c0dc7",
"interpretation": "engineering forcing of sensory output spikes",
"mean_firing_rate_hz": 1.6547690461907618,
"motor_active_neurons": 0,
"motor_spikes": 0,
"peak_vram_bytes": 241825792,
"propagation_depth": 0,
"realtime_factor_wall_over_biological": 10.660815609990095,
"resource_sampling": {},
"spike_counts_sha256": "9545e70cb32b371a2c6616ecb9960ab4b48021d995c9d7e7436a20cd379b8231",
"steps": 1000,
"steps_per_second": 938.0145352696228,
"stimulated_population_size": 6091,
"test": "A-forced-histaminergic-sensory",
"total_spikes": 27585,
"wall_clock_seconds": 1.0660815609990095
},
"B-tonic-histamine-rate-modulation": {
"active_neurons": 5755,
"backend": "eager",
"baseline_status": "exploratory only",
"biological_interpretation": "histamine remains inhibitory; forced sensory spikes are an engineering interface, not phototransduction/receptor-potential biology",
"biological_realtime_speed": 0.11223388152832407,
"cpu_process_utilization_percent_of_one_core": 99.98098522383005,
"descending_active_neurons": 0,
"descending_spikes": 0,
"downstream_active_neurons": 0,
"duration_ms": 100.0,
"event_count": 0,
"event_sha256": null,
"final_g_sha256": "0285e37bd9e858c4133a3585be0af935b5deb4991869f1a4c7f16268f38d74f5",
"final_voltage_sha256": "b723e9e2d15ed5153d1b14413ae2bd0cdcd7e96051544d84a5cd6df14540ccd9",
"interpretation": "exploratory tonic output plus rate modulation; not baseline",
"mean_firing_rate_hz": 1.0120575884823035,
"motor_active_neurons": 0,
"motor_spikes": 0,
"peak_vram_bytes": 235734528,
"propagation_depth": 0,
"realtime_factor_wall_over_biological": 8.909965389975696,
"resource_sampling": {},
"spike_counts_sha256": "514a7b30e27085566c6da7ce6ee2c87edabbec8bc80f5f3b5138a7a7197c0e95",
"steps": 1000,
"steps_per_second": 1122.3388152832406,
"stimulated_population_size": 6091,
"test": "B-tonic-histamine-rate-modulation",
"total_spikes": 16871,
"wall_clock_seconds": 0.8909965389975696
},
"C-first-order-external-input": {
"active_neurons": 31571,
"backend": "eager",
"baseline_status": "semantic test; no automatic selection",
"biological_interpretation": "histamine remains inhibitory; forced sensory spikes are an engineering interface, not phototransduction/receptor-potential biology",
"biological_realtime_speed": 0.1108122099496591,
"cpu_process_utilization_percent_of_one_core": 100.01392233517936,
"descending_active_neurons": 160,
"descending_spikes": 509,
"downstream_active_neurons": 8017,
"duration_ms": 100.0,
"event_count": 0,
"event_sha256": null,
"final_g_sha256": "85415c5746fe1aab645e4f510266e92966ca42df847d5574655bd4d79ae217c5",
"final_voltage_sha256": "3262a658a2478c0514d905f637159698ca52c0c033155fc1a797b460d4de03c1",
"interpretation": "engineering input interface moved to real first-order targets",
"mean_firing_rate_hz": 8.956628674265147,
"motor_active_neurons": 129,
"motor_spikes": 350,
"peak_vram_bytes": 259656704,
"propagation_depth": 2,
"realtime_factor_wall_over_biological": 9.024276300006022,
"resource_sampling": {},
"spike_counts_sha256": "383c61f0a7f0de11563a3585355063fed5d754ca62310b0d84454ec31590b6e0",
"steps": 1000,
"steps_per_second": 1108.1220994965909,
"stimulated_population_size": 23707,
"test": "C-first-order-external-input",
"total_spikes": 149307,
"wall_clock_seconds": 0.9024276300006022
},
"C-second-order-external-input": {
"active_neurons": 97470,
"backend": "eager",
"baseline_status": "semantic test; no automatic selection",
"biological_interpretation": "histamine remains inhibitory; forced sensory spikes are an engineering interface, not phototransduction/receptor-potential biology",
"biological_realtime_speed": 0.11122902586664521,
"cpu_process_utilization_percent_of_one_core": 100.00260064594212,
"descending_active_neurons": 818,
"descending_spikes": 6589,
"downstream_active_neurons": 16446,
"duration_ms": 100.0,
"event_count": 0,
"event_sha256": null,
"final_g_sha256": "ddad763886abdc3de7935df7870357d7e1207141c1253e1d90f81a65f80cdaf2",
"final_voltage_sha256": "24da871d40b5e9d3365a9e368a0a7a6911e80db9c1918bac20bacd4dfa0abcba",
"interpretation": "engineering input interface moved to real second-order targets",
"mean_firing_rate_hz": 38.71775644871026,
"motor_active_neurons": 386,
"motor_spikes": 4073,
"peak_vram_bytes": 326726144,
"propagation_depth": 2,
"realtime_factor_wall_over_biological": 8.990459029992053,
"resource_sampling": {},
"spike_counts_sha256": "8b3c251a40dcd12c4449d95e1d363ac2b357e327306d2459f304b2d106ae5834",
"steps": 1000,
"steps_per_second": 1112.290258666452,
"stimulated_population_size": 81483,
"test": "C-second-order-external-input",
"total_spikes": 645425,
"wall_clock_seconds": 0.8990459029992053
},
"D-layer-central_brain": {
"active_neurons": 37577,
"backend": "eager",
"baseline_status": "semantic test; no automatic selection",
"biological_interpretation": "histamine remains inhibitory; forced sensory spikes are an engineering interface, not phototransduction/receptor-potential biology",
"biological_realtime_speed": 0.11127468031663883,
"cpu_process_utilization_percent_of_one_core": 100.0020539081283,
"descending_active_neurons": 706,
"descending_spikes": 4502,
"downstream_active_neurons": 12695,
"duration_ms": 100.0,
"event_count": 0,
"event_sha256": null,
"final_g_sha256": "4b065469ef6cbe7c1595c07a216c38237890ead667bf982fffe2ac61c958ad87",
"final_voltage_sha256": "15b5e5abb3146c115dc07bc4915fea38be7fb2daec92ad106cef5c6a8befc3a3",
"interpretation": "engineering external input at hierarchy layer central_brain",
"mean_firing_rate_hz": 20.423275344931014,
"motor_active_neurons": 588,
"motor_spikes": 5095,
"peak_vram_bytes": 265156096,
"propagation_depth": 3,
"realtime_factor_wall_over_biological": 8.986770369992882,
"resource_sampling": {},
"spike_counts_sha256": "7f357ddad35dd3c575d1f9a6b4a78ef730f27ef47f0f019925fbfff261e124b3",
"steps": 1000,
"steps_per_second": 1112.7468031663882,
"stimulated_population_size": 25000,
"test": "D-layer-central_brain",
"total_spikes": 340456,
"wall_clock_seconds": 0.8986770369992882
},
"D-layer-first_order": {
"active_neurons": 35163,
"backend": "eager",
"baseline_status": "semantic test; no automatic selection",
"biological_interpretation": "histamine remains inhibitory; forced sensory spikes are an engineering interface, not phototransduction/receptor-potential biology",
"biological_realtime_speed": 0.11122200464001968,
"cpu_process_utilization_percent_of_one_core": 99.99547927032961,
"descending_active_neurons": 263,
"descending_spikes": 977,
"downstream_active_neurons": 11607,
"duration_ms": 100.0,
"event_count": 0,
"event_sha256": null,
"final_g_sha256": "e78d00a4c54398c661326cedede07ace91fb2629e725ef7b59ca1cb549fb25f9",
"final_voltage_sha256": "285c6e0f183ef43e603e4eaff6be8c19063c3504f12e573e3d61927ce9be19e9",
"interpretation": "engineering external input at hierarchy layer first_order",
"mean_firing_rate_hz": 9.82141571685663,
"motor_active_neurons": 270,
"motor_spikes": 1003,
"peak_vram_bytes": 259666944,
"propagation_depth": 2,
"realtime_factor_wall_over_biological": 8.991026580006292,
"resource_sampling": {},
"spike_counts_sha256": "536187d8aefeca23374052cc8c99ab933d580bc4456a0f1683cb099ce9e05f6c",
"steps": 1000,
"steps_per_second": 1112.2200464001967,
"stimulated_population_size": 23707,
"test": "D-layer-first_order",
"total_spikes": 163723,
"wall_clock_seconds": 0.8991026580006292
},
"D-layer-higher_visual": {
"active_neurons": 22757,
"backend": "eager",
"baseline_status": "semantic test; no automatic selection",
"biological_interpretation": "histamine remains inhibitory; forced sensory spikes are an engineering interface, not phototransduction/receptor-potential biology",
"biological_realtime_speed": 0.11147910027655435,
"cpu_process_utilization_percent_of_one_core": 99.98559823781656,
"descending_active_neurons": 385,
"descending_spikes": 1926,
"downstream_active_neurons": 18379,
"duration_ms": 100.0,
"event_count": 0,
"event_sha256": null,
"final_g_sha256": "4debc0eed92a8a95a1559aa69bcf38cd07feb8aa6eee253507ef75942782d29e",
"final_voltage_sha256": "c86f4f66a3008090d4d010a9d0997dec64549032916f1029bfbef0bcd38fc4ef",
"interpretation": "engineering external input at hierarchy layer higher_visual",
"mean_firing_rate_hz": 6.957288542291542,
"motor_active_neurons": 271,
"motor_spikes": 1637,
"peak_vram_bytes": 241938944,
"propagation_depth": 3,
"realtime_factor_wall_over_biological": 8.970291270015878,
"resource_sampling": {},
"spike_counts_sha256": "4fbefa38ad67ee4f9a40fbda350262d78a0270848cc463729119d4b0b9b59aa4",
"steps": 1000,
"steps_per_second": 1114.7910027655435,
"stimulated_population_size": 4407,
"test": "D-layer-higher_visual",
"total_spikes": 115978,
"wall_clock_seconds": 0.8970291270015878
},
"D-layer-second_order": {
"active_neurons": 44118,
"backend": "eager",
"baseline_status": "semantic test; no automatic selection",
"biological_interpretation": "histamine remains inhibitory; forced sensory spikes are an engineering interface, not phototransduction/receptor-potential biology",
"biological_realtime_speed": 0.1109813688348964,
"cpu_process_utilization_percent_of_one_core": 100.01566235645227,
"descending_active_neurons": 480,
"descending_spikes": 3341,
"downstream_active_neurons": 19243,
"duration_ms": 100.0,
"event_count": 0,
"event_sha256": null,
"final_g_sha256": "f6faf5723224f232b41635ca430a4561f05220a498b722e36ecc70331c06c4bd",
"final_voltage_sha256": "01d72182879557796c359708fefe1a2c55d094ee93a892504bb52f7836bce4b1",
"interpretation": "engineering external input at hierarchy layer second_order",
"mean_firing_rate_hz": 20.529814037192562,
"motor_active_neurons": 303,
"motor_spikes": 2570,
"peak_vram_bytes": 265969152,
"propagation_depth": 2,
"realtime_factor_wall_over_biological": 9.010521410018555,
"resource_sampling": {},
"spike_counts_sha256": "f77e5f33f63f71bffbd1bc857816bde61fba2dde3f964c54e794ec68fb1ee175",
"steps": 1000,
"steps_per_second": 1109.813688348964,
"stimulated_population_size": 25000,
"test": "D-layer-second_order",
"total_spikes": 342232,
"wall_clock_seconds": 0.9010521410018555
},
"D-layer-visual_sensory": {
"active_neurons": 6054,
"backend": "eager",
"baseline_status": "semantic test; no automatic selection",
"biological_interpretation": "histamine remains inhibitory; forced sensory spikes are an engineering interface, not phototransduction/receptor-potential biology",
"biological_realtime_speed": 0.11150931720201608,
"cpu_process_utilization_percent_of_one_core": 99.95717083267715,
"descending_active_neurons": 0,
"descending_spikes": 0,
"downstream_active_neurons": 0,
"duration_ms": 100.0,
"event_count": 0,
"event_sha256": null,
"final_g_sha256": "f44ea8b33336f07deaa0383936d8ffd6ac5e2bf9995ae8799aefa338c9e4f987",
"final_voltage_sha256": "43a7df60c7932b27646573ef34e7e85b6e14aafff6c748d296158f5dad199a48",
"interpretation": "engineering external input at hierarchy layer visual_sensory",
"mean_firing_rate_hz": 1.6530293941211758,
"motor_active_neurons": 0,
"motor_spikes": 0,
"peak_vram_bytes": 241826304,
"propagation_depth": 0,
"realtime_factor_wall_over_biological": 8.967860489974555,
"resource_sampling": {},
"spike_counts_sha256": "a7aff89f187bc6589091d5f47d025c3162aff60d3b096a37767c59d7a0f5aa87",
"steps": 1000,
"steps_per_second": 1115.0931720201609,
"stimulated_population_size": 6091,
"test": "D-layer-visual_sensory",
"total_spikes": 27556,
"wall_clock_seconds": 0.8967860489974555
}
}
}