perf: A100 probe results; disable nsys CUDA event trace when supported
Build on RHEL8 / build (push) Successful in 3m51s
Build on RHEL9 / build (push) Successful in 4m6s
Run tests using data on local RHEL8 / build (push) Failing after 4m51s

- common.nsys_profile_flags(): shared nsys profile flags, adding
  --cuda-event-trace=false on nsys 2025.1+ (on by default there, it widens
  the host gaps between steps; kernel times are unchanged). nsys 2024.5
  rejects the flag, so it is detected from the help text.
- cf/run_probes.py: 3x3, 5x5, 7x7, 9x9 at 1, 4 and 8 streams.
- cf/results/A100/: Merlin7 A100 runs, f32 and f64 with lround, and f32
  with round (104e284) at 20k/2000 and 50k/3000. README lists them.
This commit is contained in:
Ferjaoui committed 2026-10-29 12:04:55 +01:00
1 parent 104e28447b
commit 3d79886178
13 files changed
+157 -5

No files matched your search

@@ -0,0 +1,13 @@
{
"timestamp": "2026-10-28 15:49:25",
"host": "gpu102",
"git_rev": "b4d302d",
"git_branch": "feature/cuda_pixelhistogram",
"git_dirty": true,
"aare_version": "2026.9.30",
"device_ped_type": "float",
"gpu": "NVIDIA A100-SXM4-80GB",
"driver": "610.57.04",
"nvcc": "Build cuda_12.9.r12.9/compiler.36037853_0",
"python": "3.14.10"
}
@@ -0,0 +1,5 @@
n_frames,window_ms,window_us_per_frame,kernel_n,kernel_sum_ms,kernel_busy_ms,kernel_overlap,kernel_duty_pct,kernel_us_per_frame,H2D_n,H2D_sum_ms,H2D_busy_ms,H2D_overlap,H2D_duty_pct,H2D_us_per_frame,D2H_n,D2H_sum_ms,D2H_busy_ms,D2H_overlap,D2H_duty_pct,D2H_us_per_frame,bottleneck,roofline_us_per_frame,roofline_fps,label,cluster_dim,cap,n_streams,batch,device_ped_type
20000,643.891349,32.19456745,20000,192.988136,190.334593,1.0139414646500964,29.56004818135862,9.51672965,19999,349.946562,349.946562,1.0,54.34869757816858,17.497328099999997,20000,162.802494,162.802494,1.0,25.284156131751352,8.1401247,H2D,17.497328099999997,57151.5830465567,3x3_s4,3,3000,4,2000,float
20000,1146.409624,57.3204812,20000,160.19295,160.19295,1.0,13.973447766520145,8.0096475,19999,279.906056,279.906056,1.0,24.415885050176446,13.9953028,20000,118.383043,118.383043,1.0,10.326417409768709,5.91915215,H2D,13.9953028,71452.54477809512,3x3_s1_uncontended,3,3000,1,2000,float
20000,1991.737902,99.5868951,20000,686.534959,618.29859,1.1103615148143877,31.043170357863684,30.9149295,19999,489.906258,489.906258,1.0,24.596923998286197,24.4953129,20000,553.600056,553.600056,1.0,27.79482458229587,27.6800028,kernel,30.9149295,32346.831002800765,9x9_s4,9,1700,4,2000,float
20000,2453.211627,122.66058134999999,20000,641.327303,641.327303,1.0,26.1423554307979,32.066365149999996,19999,284.587043,284.587043,1.0,11.60059082827753,14.22935215,20000,477.774029,477.774029,1.0,19.475451026793948,23.88870145,kernel,32.066365149999996,31185.324414607065,9x9_s1_uncontended,9,1700,1,2000,float
1 n_frames window_ms window_us_per_frame kernel_n kernel_sum_ms kernel_busy_ms kernel_overlap kernel_duty_pct kernel_us_per_frame H2D_n H2D_sum_ms H2D_busy_ms H2D_overlap H2D_duty_pct H2D_us_per_frame D2H_n D2H_sum_ms D2H_busy_ms D2H_overlap D2H_duty_pct D2H_us_per_frame bottleneck roofline_us_per_frame roofline_fps label cluster_dim cap n_streams batch device_ped_type
2 20000 643.891349 32.19456745 20000 192.988136 190.334593 1.0139414646500964 29.56004818135862 9.51672965 19999 349.946562 349.946562 1.0 54.34869757816858 17.497328099999997 20000 162.802494 162.802494 1.0 25.284156131751352 8.1401247 H2D 17.497328099999997 57151.5830465567 3x3_s4 3 3000 4 2000 float
3 20000 1146.409624 57.3204812 20000 160.19295 160.19295 1.0 13.973447766520145 8.0096475 19999 279.906056 279.906056 1.0 24.415885050176446 13.9953028 20000 118.383043 118.383043 1.0 10.326417409768709 5.91915215 H2D 13.9953028 71452.54477809512 3x3_s1_uncontended 3 3000 1 2000 float
4 20000 1991.737902 99.5868951 20000 686.534959 618.29859 1.1103615148143877 31.043170357863684 30.9149295 19999 489.906258 489.906258 1.0 24.596923998286197 24.4953129 20000 553.600056 553.600056 1.0 27.79482458229587 27.6800028 kernel 30.9149295 32346.831002800765 9x9_s4 9 1700 4 2000 float
5 20000 2453.211627 122.66058134999999 20000 641.327303 641.327303 1.0 26.1423554307979 32.066365149999996 19999 284.587043 284.587043 1.0 11.60059082827753 14.22935215 20000 477.774029 477.774029 1.0 19.475451026793948 23.88870145 kernel 32.066365149999996 31185.324414607065 9x9_s1_uncontended 9 1700 1 2000 float
@@ -0,0 +1,13 @@
{
"timestamp": "2026-10-28 14:53:53",
"host": "gpu105",
"git_rev": "b4d302d",
"git_branch": "feature/cuda_pixelhistogram",
"git_dirty": true,
"aare_version": "2026.9.30",
"device_ped_type": "float",
"gpu": "NVIDIA A100-SXM4-80GB",
"driver": "610.57.04",
"nvcc": "Build cuda_12.9.r12.9/compiler.36037853_0",
"python": "3.14.10"
}
@@ -0,0 +1,5 @@
n_frames,window_ms,window_us_per_frame,kernel_n,kernel_sum_ms,kernel_busy_ms,kernel_overlap,kernel_duty_pct,kernel_us_per_frame,H2D_n,H2D_sum_ms,H2D_busy_ms,H2D_overlap,H2D_duty_pct,H2D_us_per_frame,D2H_n,D2H_sum_ms,D2H_busy_ms,D2H_overlap,D2H_duty_pct,D2H_us_per_frame,bottleneck,roofline_us_per_frame,roofline_fps,label,cluster_dim,cap,n_streams,batch,device_ped_type
20000,712.152215,35.60761075,20000,192.405024,189.918432,1.013092947186927,26.668235806863283,9.4959216,19999,335.94684,335.94684,1.0,47.1734599603822,16.797342,20000,159.543909,159.543909,1.0,22.403062946311273,7.977195450000001,H2D,16.797342,59533.22853103783,3x3_s4,3,3000,4,2000,float
20000,1151.363903,57.568195149999994,20000,159.331526,159.331526,1.0,13.838502803921932,7.966576300000001,19999,279.076937,279.076937,1.0,24.238812444339764,13.95384685,20000,118.133377,118.133377,1.0,10.260298824046076,5.90666885,H2D,13.95384685,71664.82553160601,3x3_s1_uncontended,3,3000,1,2000,float
20000,2376.000656,118.8000328,20000,680.402812,616.187901,1.1042131968118603,25.93382705699051,30.80939505,19999,488.931373,488.931373,1.0,20.577914057612954,24.44656865,20000,554.867913,554.867913,1.0,23.353020193778935,27.743395649999997,kernel,30.80939505,32457.63178332838,9x9_s4,9,1700,4,2000,float
20000,2499.957377,124.99786884999999,20000,642.043636,642.043636,1.0,25.68218330067953,32.102181800000004,19999,282.576058,282.576058,1.0,11.303235031114692,14.1288029,20000,478.262973,478.262973,1.0,19.130845085604033,23.91314865,kernel,32.102181800000004,31150.530709411156,9x9_s1_uncontended,9,1700,1,2000,float
1 n_frames window_ms window_us_per_frame kernel_n kernel_sum_ms kernel_busy_ms kernel_overlap kernel_duty_pct kernel_us_per_frame H2D_n H2D_sum_ms H2D_busy_ms H2D_overlap H2D_duty_pct H2D_us_per_frame D2H_n D2H_sum_ms D2H_busy_ms D2H_overlap D2H_duty_pct D2H_us_per_frame bottleneck roofline_us_per_frame roofline_fps label cluster_dim cap n_streams batch device_ped_type
2 20000 712.152215 35.60761075 20000 192.405024 189.918432 1.013092947186927 26.668235806863283 9.4959216 19999 335.94684 335.94684 1.0 47.1734599603822 16.797342 20000 159.543909 159.543909 1.0 22.403062946311273 7.977195450000001 H2D 16.797342 59533.22853103783 3x3_s4 3 3000 4 2000 float
3 20000 1151.363903 57.568195149999994 20000 159.331526 159.331526 1.0 13.838502803921932 7.966576300000001 19999 279.076937 279.076937 1.0 24.238812444339764 13.95384685 20000 118.133377 118.133377 1.0 10.260298824046076 5.90666885 H2D 13.95384685 71664.82553160601 3x3_s1_uncontended 3 3000 1 2000 float
4 20000 2376.000656 118.8000328 20000 680.402812 616.187901 1.1042131968118603 25.93382705699051 30.80939505 19999 488.931373 488.931373 1.0 20.577914057612954 24.44656865 20000 554.867913 554.867913 1.0 23.353020193778935 27.743395649999997 kernel 30.80939505 32457.63178332838 9x9_s4 9 1700 4 2000 float
5 20000 2499.957377 124.99786884999999 20000 642.043636 642.043636 1.0 25.68218330067953 32.102181800000004 19999 282.576058 282.576058 1.0 11.303235031114692 14.1288029 20000 478.262973 478.262973 1.0 19.130845085604033 23.91314865 kernel 32.102181800000004 31150.530709411156 9x9_s1_uncontended 9 1700 1 2000 float
@@ -0,0 +1,13 @@
{
"timestamp": "2026-10-28 15:32:33",
"host": "gpu102",
"git_rev": "b4d302d",
"git_branch": "feature/cuda_pixelhistogram",
"git_dirty": true,
"aare_version": "2026.9.30",
"device_ped_type": "double",
"gpu": "NVIDIA A100-SXM4-80GB",
"driver": "610.57.04",
"nvcc": "Build cuda_12.9.r12.9/compiler.36037853_0",
"python": "3.14.10"
}
@@ -0,0 +1,5 @@
n_frames,window_ms,window_us_per_frame,kernel_n,kernel_sum_ms,kernel_busy_ms,kernel_overlap,kernel_duty_pct,kernel_us_per_frame,H2D_n,H2D_sum_ms,H2D_busy_ms,H2D_overlap,H2D_duty_pct,H2D_us_per_frame,D2H_n,D2H_sum_ms,D2H_busy_ms,D2H_overlap,D2H_duty_pct,D2H_us_per_frame,bottleneck,roofline_us_per_frame,roofline_fps,label,cluster_dim,cap,n_streams,batch,device_ped_type
20000,681.275896,34.0637948,20000,205.953165,203.624901,1.0114340829071784,29.88875757905869,10.181245050000001,19999,345.21322,345.21322,1.0,50.671574031440564,17.260661,20000,163.783599,163.783599,1.0,24.040715363867797,8.18917995,H2D,17.260661,57935.20885440019,3x3_s4,3,3000,4,2000,double
20000,1170.35509,58.5177545,20000,158.332121,158.332121,1.0,13.528554056188195,7.91660605,19999,280.175565,280.175565,1.0,23.939363992512735,14.00877825,20000,118.821603,118.821603,1.0,10.152611289963287,5.94108015,H2D,14.00877825,71383.81250342085,3x3_s1_uncontended,3,3000,1,2000,double
20000,2266.611556,113.3305778,20000,376.488668,365.770028,1.0293043146771994,16.137305354848372,18.2885014,19999,504.512867,504.512867,1.0,22.25846178470644,25.225643350000002,20000,559.423881,559.423881,1.0,24.681065422045346,27.97119405,D2H,27.97119405,35751.06583624734,9x9_s4,9,1700,4,2000,double
20000,2352.22485,117.6112425,20000,349.59613,349.59613,1.0,14.86236020336236,17.4798065,19999,285.855613,285.855613,1.0,12.152563263669288,14.292780650000001,20000,483.90927,483.90927,1.0,20.57240701287549,24.195463500000002,D2H,24.195463500000002,41330.06172830704,9x9_s1_uncontended,9,1700,1,2000,double
1 n_frames window_ms window_us_per_frame kernel_n kernel_sum_ms kernel_busy_ms kernel_overlap kernel_duty_pct kernel_us_per_frame H2D_n H2D_sum_ms H2D_busy_ms H2D_overlap H2D_duty_pct H2D_us_per_frame D2H_n D2H_sum_ms D2H_busy_ms D2H_overlap D2H_duty_pct D2H_us_per_frame bottleneck roofline_us_per_frame roofline_fps label cluster_dim cap n_streams batch device_ped_type
2 20000 681.275896 34.0637948 20000 205.953165 203.624901 1.0114340829071784 29.88875757905869 10.181245050000001 19999 345.21322 345.21322 1.0 50.671574031440564 17.260661 20000 163.783599 163.783599 1.0 24.040715363867797 8.18917995 H2D 17.260661 57935.20885440019 3x3_s4 3 3000 4 2000 double
3 20000 1170.35509 58.5177545 20000 158.332121 158.332121 1.0 13.528554056188195 7.91660605 19999 280.175565 280.175565 1.0 23.939363992512735 14.00877825 20000 118.821603 118.821603 1.0 10.152611289963287 5.94108015 H2D 14.00877825 71383.81250342085 3x3_s1_uncontended 3 3000 1 2000 double
4 20000 2266.611556 113.3305778 20000 376.488668 365.770028 1.0293043146771994 16.137305354848372 18.2885014 19999 504.512867 504.512867 1.0 22.25846178470644 25.225643350000002 20000 559.423881 559.423881 1.0 24.681065422045346 27.97119405 D2H 27.97119405 35751.06583624734 9x9_s4 9 1700 4 2000 double
5 20000 2352.22485 117.6112425 20000 349.59613 349.59613 1.0 14.86236020336236 17.4798065 19999 285.855613 285.855613 1.0 12.152563263669288 14.292780650000001 20000 483.90927 483.90927 1.0 20.57240701287549 24.195463500000002 D2H 24.195463500000002 41330.06172830704 9x9_s1_uncontended 9 1700 1 2000 double
@@ -0,0 +1,13 @@
{
"timestamp": "2026-10-29 11:19:39",
"host": "gpu105",
"git_rev": "104e284",
"git_branch": "feature/cuda_clusterfinder",
"git_dirty": true,
"aare_version": "2026.9.30",
"device_ped_type": "float",
"gpu": "NVIDIA A100-SXM4-80GB",
"driver": "610.57.04",
"nvcc": "Build cuda_12.9.r12.9/compiler.36037853_0",
"python": "3.14.10"
}
@@ -0,0 +1,13 @@
n_frames,window_ms,window_us_per_frame,kernel_n,kernel_sum_ms,kernel_busy_ms,kernel_overlap,kernel_duty_pct,kernel_us_per_frame,H2D_n,H2D_sum_ms,H2D_busy_ms,H2D_overlap,H2D_duty_pct,H2D_us_per_frame,D2H_n,D2H_sum_ms,D2H_busy_ms,D2H_overlap,D2H_duty_pct,D2H_us_per_frame,bottleneck,roofline_us_per_frame,roofline_fps,label,cluster_dim,cap,n_streams,batch,device_ped_type
20000,1173.468708,58.6734354,20000,133.601765,133.601765,1.0,11.385200482056655,6.680088250000001,19999,279.546079,279.546079,1.0,23.822201401215377,13.977303950000001,20000,118.733951,118.733951,1.0,10.118203424645559,5.93669755,H2D,13.977303950000001,71544.55562941378,3x3_s1_uncontended,3,3000,1,2000,float
20000,662.843817,33.14219085,20000,157.677679,155.787634,1.0121321888745034,23.502917279229898,7.7893817,19999,342.1502,342.1502,1.0,51.6185247904334,17.10751,20000,164.807934,164.807934,1.0,24.863765757959843,8.2403967,H2D,17.10751,58453.8603221626,3x3_s4,3,3000,4,2000,float
20000,657.959684,32.8979842,20000,169.854168,168.724024,1.0066981806929878,25.6435201278989,8.436201200000001,19999,349.87012,349.87012,1.0,53.17500882014528,17.493506,20000,170.160589,170.160589,1.0,25.861856453806674,8.50802945,H2D,17.493506,57164.06991257213,3x3_s8,3,3000,8,2000,float
20000,1450.355696,72.5177848,20000,170.110976,170.110976,1.0,11.728914256630741,8.5055488,19999,279.957736,279.957736,1.0,19.30269497145478,13.997886799999998,20000,213.748591,213.748591,1.0,14.737666876443253,10.68742955,H2D,13.997886799999998,71439.35468888062,5x5_s1_uncontended,5,2350,1,2000,float
20000,998.976254,49.9488127,20000,191.741624,190.10828,1.0085916510317172,19.03031020395005,9.505414,19999,393.673137,393.673137,1.0,39.407657131357595,19.68365685,20000,269.665626,269.665626,1.0,26.99419780202303,13.4832813,H2D,19.68365685,50803.56803720647,5x5_s4,5,2350,4,2000,float
20000,995.458631,49.77293155,20000,230.466823,228.149833,1.0101555629891694,22.91906724147937,11.40749165,19999,389.404519,389.404519,1.0,39.11810163409995,19.47022595,20000,277.415209,277.415209,1.0,27.868080135215585,13.870760449999999,H2D,19.47022595,51360.4722702255,5x5_s8,5,2350,8,2000,float
20000,1805.062161,90.25310805000001,20000,217.596819,217.596819,1.0,12.054810283068141,10.87984095,19999,284.393532,284.393532,1.0,15.755331763336432,14.2196766,20000,375.295808,375.295808,1.0,20.79129550818832,18.764790400000003,D2H,18.764790400000003,53291.29602215007,7x7_s1_uncontended,7,2170,1,2000,float
20000,1455.77395,72.7886975,20000,238.06754,234.794902,1.0139382838899968,16.12852750937053,11.7397451,19999,466.709503,466.709503,1.0,32.059201430277,23.33547515,20000,447.260819,447.260819,1.0,30.723232751898053,22.363040950000002,H2D,23.33547515,42853.209269235726,7x7_s4,7,2170,4,2000,float
20000,1534.937701,76.74688504999999,20000,254.608264,251.535528,1.0122159124972596,16.38734443985098,12.5767764,19999,487.785527,487.785527,1.0,31.778848528002897,24.38927635,20000,457.385111,457.385111,1.0,29.798285018474505,22.86925555,H2D,24.38927635,41001.626520173486,7x7_s8,7,2170,8,2000,float
20000,2146.615315,107.33076575,20000,293.12465,293.12465,1.0,13.65520165405137,14.656232500000002,19999,284.039721,284.039721,1.0,13.23198055167141,14.20198605,20000,484.764387,484.764387,1.0,22.582732155714634,24.238219349999998,D2H,24.238219349999998,41257.15612850909,9x9_s1_uncontended,9,1700,1,2000,float
20000,1924.272895,96.21364475,20000,313.452178,306.702235,1.0220081311112714,15.938603916156081,15.33511175,19999,522.802982,522.802982,1.0,27.16885860412226,26.140149100000002,20000,561.998593,561.998593,1.0,29.205763613897393,28.09992965,D2H,28.09992965,35587.27770693903,9x9_s4,9,1700,4,2000,float
20000,2020.810003,101.04050015,20000,344.108027,335.796507,1.0247516571100008,16.6169262078816,16.789825349999997,19999,533.548848,533.548848,1.0,26.402722037594742,26.6774424,20000,572.622922,572.622922,1.0,28.33630678539352,28.631146100000002,D2H,28.631146100000002,34926.99860869349,9x9_s8,9,1700,8,2000,float
1 n_frames window_ms window_us_per_frame kernel_n kernel_sum_ms kernel_busy_ms kernel_overlap kernel_duty_pct kernel_us_per_frame H2D_n H2D_sum_ms H2D_busy_ms H2D_overlap H2D_duty_pct H2D_us_per_frame D2H_n D2H_sum_ms D2H_busy_ms D2H_overlap D2H_duty_pct D2H_us_per_frame bottleneck roofline_us_per_frame roofline_fps label cluster_dim cap n_streams batch device_ped_type
2 20000 1173.468708 58.6734354 20000 133.601765 133.601765 1.0 11.385200482056655 6.680088250000001 19999 279.546079 279.546079 1.0 23.822201401215377 13.977303950000001 20000 118.733951 118.733951 1.0 10.118203424645559 5.93669755 H2D 13.977303950000001 71544.55562941378 3x3_s1_uncontended 3 3000 1 2000 float
3 20000 662.843817 33.14219085 20000 157.677679 155.787634 1.0121321888745034 23.502917279229898 7.7893817 19999 342.1502 342.1502 1.0 51.6185247904334 17.10751 20000 164.807934 164.807934 1.0 24.863765757959843 8.2403967 H2D 17.10751 58453.8603221626 3x3_s4 3 3000 4 2000 float
4 20000 657.959684 32.8979842 20000 169.854168 168.724024 1.0066981806929878 25.6435201278989 8.436201200000001 19999 349.87012 349.87012 1.0 53.17500882014528 17.493506 20000 170.160589 170.160589 1.0 25.861856453806674 8.50802945 H2D 17.493506 57164.06991257213 3x3_s8 3 3000 8 2000 float
5 20000 1450.355696 72.5177848 20000 170.110976 170.110976 1.0 11.728914256630741 8.5055488 19999 279.957736 279.957736 1.0 19.30269497145478 13.997886799999998 20000 213.748591 213.748591 1.0 14.737666876443253 10.68742955 H2D 13.997886799999998 71439.35468888062 5x5_s1_uncontended 5 2350 1 2000 float
6 20000 998.976254 49.9488127 20000 191.741624 190.10828 1.0085916510317172 19.03031020395005 9.505414 19999 393.673137 393.673137 1.0 39.407657131357595 19.68365685 20000 269.665626 269.665626 1.0 26.99419780202303 13.4832813 H2D 19.68365685 50803.56803720647 5x5_s4 5 2350 4 2000 float
7 20000 995.458631 49.77293155 20000 230.466823 228.149833 1.0101555629891694 22.91906724147937 11.40749165 19999 389.404519 389.404519 1.0 39.11810163409995 19.47022595 20000 277.415209 277.415209 1.0 27.868080135215585 13.870760449999999 H2D 19.47022595 51360.4722702255 5x5_s8 5 2350 8 2000 float
8 20000 1805.062161 90.25310805000001 20000 217.596819 217.596819 1.0 12.054810283068141 10.87984095 19999 284.393532 284.393532 1.0 15.755331763336432 14.2196766 20000 375.295808 375.295808 1.0 20.79129550818832 18.764790400000003 D2H 18.764790400000003 53291.29602215007 7x7_s1_uncontended 7 2170 1 2000 float
9 20000 1455.77395 72.7886975 20000 238.06754 234.794902 1.0139382838899968 16.12852750937053 11.7397451 19999 466.709503 466.709503 1.0 32.059201430277 23.33547515 20000 447.260819 447.260819 1.0 30.723232751898053 22.363040950000002 H2D 23.33547515 42853.209269235726 7x7_s4 7 2170 4 2000 float
10 20000 1534.937701 76.74688504999999 20000 254.608264 251.535528 1.0122159124972596 16.38734443985098 12.5767764 19999 487.785527 487.785527 1.0 31.778848528002897 24.38927635 20000 457.385111 457.385111 1.0 29.798285018474505 22.86925555 H2D 24.38927635 41001.626520173486 7x7_s8 7 2170 8 2000 float
11 20000 2146.615315 107.33076575 20000 293.12465 293.12465 1.0 13.65520165405137 14.656232500000002 19999 284.039721 284.039721 1.0 13.23198055167141 14.20198605 20000 484.764387 484.764387 1.0 22.582732155714634 24.238219349999998 D2H 24.238219349999998 41257.15612850909 9x9_s1_uncontended 9 1700 1 2000 float
12 20000 1924.272895 96.21364475 20000 313.452178 306.702235 1.0220081311112714 15.938603916156081 15.33511175 19999 522.802982 522.802982 1.0 27.16885860412226 26.140149100000002 20000 561.998593 561.998593 1.0 29.205763613897393 28.09992965 D2H 28.09992965 35587.27770693903 9x9_s4 9 1700 4 2000 float
13 20000 2020.810003 101.04050015 20000 344.108027 335.796507 1.0247516571100008 16.6169262078816 16.789825349999997 19999 533.548848 533.548848 1.0 26.402722037594742 26.6774424 20000 572.622922 572.622922 1.0 28.33630678539352 28.631146100000002 D2H 28.631146100000002 34926.99860869349 9x9_s8 9 1700 8 2000 float
@@ -0,0 +1,13 @@
{
"timestamp": "2026-10-29 11:10:41",
"host": "gpu105",
"git_rev": "104e284",
"git_branch": "feature/cuda_clusterfinder",
"git_dirty": true,
"aare_version": "2026.9.30",
"device_ped_type": "float",
"gpu": "NVIDIA A100-SXM4-80GB",
"driver": "610.57.04",
"nvcc": "Build cuda_12.9.r12.9/compiler.36037853_0",
"python": "3.14.10"
}
@@ -0,0 +1,13 @@
n_frames,window_ms,window_us_per_frame,kernel_n,kernel_sum_ms,kernel_busy_ms,kernel_overlap,kernel_duty_pct,kernel_us_per_frame,H2D_n,H2D_sum_ms,H2D_busy_ms,H2D_overlap,H2D_duty_pct,H2D_us_per_frame,D2H_n,D2H_sum_ms,D2H_busy_ms,D2H_overlap,D2H_duty_pct,D2H_us_per_frame,bottleneck,roofline_us_per_frame,roofline_fps,label,cluster_dim,cap,n_streams,batch,device_ped_type
50000,2793.77305,55.875460999999994,50000,323.196107,323.196107,1.0,11.568445296585562,6.46392214,49999,697.283022,697.283022,1.0,24.958470481344218,13.94566044,50000,293.479098,293.479098,1.0,10.504758001012286,5.86958196,H2D,13.94566044,71706.894363477,3x3_s1_uncontended,3,3000,1,3000,float
50000,1571.355703,31.42711406,50000,386.12095,382.211638,1.0102281343929145,24.323686691071245,7.6442327599999995,49999,872.765101,872.765101,1.0,55.542172872363324,17.45530202,50000,409.563912,409.563912,1.0,26.06436666237116,8.19127824,H2D,17.45530202,57289.18347297665,3x3_s4,3,3000,4,3000,float
50000,1503.190827,30.06381654,50000,410.304025,408.101596,1.005396766446363,27.149021180129914,8.16203192,49999,879.916105,879.916105,1.0,58.536553656071504,17.5983221,50000,414.203543,414.203543,1.0,27.55495413889989,8.28407086,H2D,17.5983221,56823.59910891732,3x3_s8,3,3000,8,3000,float
50000,3315.016749,66.30033498,50000,419.817667,419.817667,1.0,12.664119031273106,8.396353340000001,49999,701.427246,701.427246,1.0,21.159086035133633,14.028544920000002,50000,535.556489,535.556489,1.0,16.15546857075623,10.711129779999998,H2D,14.028544920000002,71283.2304207356,5x5_s1_uncontended,5,2350,1,3000,float
50000,2377.743978,47.55487956,50000,464.366056,461.233672,1.006791316831699,19.397953533582665,9.22467344,49999,1018.072896,1018.072896,1.0,42.816758465994944,20.36145792,50000,671.385408,671.385408,1.0,28.236236290028362,13.427708160000002,H2D,20.36145792,49112.39676102722,5x5_s4,5,2350,4,3000,float
50000,2297.384508,45.94769016,50000,559.001887,553.741472,1.009499767068196,24.103125535658048,11.074829439999998,49999,1040.452858,1040.452858,1.0,45.288581618658675,20.809057160000002,50000,702.175827,702.175827,1.0,30.564140419458248,14.04351654,H2D,20.809057160000002,48055.997554864705,5x5_s8,5,2350,8,3000,float
50000,4105.69513,82.1139026,50000,540.216808,540.216808,1.0,13.157742864361193,10.80433616,49999,712.202522,712.202522,1.0,17.346697683322628,14.24405044,50000,941.949467,941.949467,1.0,22.942508812143586,18.838989339999998,D2H,18.838989339999998,53081.40378192921,7x7_s1_uncontended,7,2170,1,3000,float
50000,3444.082992,68.88165984,50000,586.370154,576.931884,1.0163594182636646,16.75139319639252,11.538637679999999,49999,1197.256295,1197.256295,1.0,34.76270164746367,23.945125899999997,50000,1122.678549,1122.678549,1.0,32.597314048697,22.453570980000002,H2D,23.945125899999997,41762.152522238364,7x7_s4,7,2170,4,3000,float
50000,3419.960725,68.3992145,50000,631.268088,624.620283,1.0106429540969613,18.26396070674174,12.492405660000001,49999,1268.406306,1268.406306,1.0,37.08832960355122,25.368126120000003,50000,1149.292305,1149.292305,1.0,33.60542407983355,22.9858461,H2D,25.368126120000003,39419.545427583194,7x7_s8,7,2170,8,3000,float
50000,4813.511408,96.27022816,50000,724.144584,724.144584,1.0,15.043998499649968,14.48289168,49999,711.818092,711.818092,1.0,14.787917419640195,14.236361839999999,50000,1218.843676,1218.843676,1.0,25.321300246100922,24.37687352,D2H,24.37687352,41022.487940446925,9x9_s1_uncontended,9,1700,1,3000,float
50000,4491.355637,89.82711274,50000,777.528372,760.738041,1.0220711073918807,16.937826849715574,15.214760819999999,49999,1330.854104,1330.854104,1.0,29.63145677078789,26.61708208,50000,1407.727498,1407.727498,1.0,31.343042318962105,28.154549959999997,D2H,28.154549959999997,35518.237777578746,9x9_s4,9,1700,4,3000,float
50000,4422.456404,88.44912808000001,50000,820.82323,800.129222,1.0258633323605821,18.09241627065681,16.00258444,49999,1341.74831,1341.74831,1.0,30.33943554053857,26.8349662,50000,1416.045933,1416.045933,1.0,32.01944357708585,28.32091866,D2H,28.32091866,35309.58907107712,9x9_s8,9,1700,8,3000,float
1 n_frames window_ms window_us_per_frame kernel_n kernel_sum_ms kernel_busy_ms kernel_overlap kernel_duty_pct kernel_us_per_frame H2D_n H2D_sum_ms H2D_busy_ms H2D_overlap H2D_duty_pct H2D_us_per_frame D2H_n D2H_sum_ms D2H_busy_ms D2H_overlap D2H_duty_pct D2H_us_per_frame bottleneck roofline_us_per_frame roofline_fps label cluster_dim cap n_streams batch device_ped_type
2 50000 2793.77305 55.875460999999994 50000 323.196107 323.196107 1.0 11.568445296585562 6.46392214 49999 697.283022 697.283022 1.0 24.958470481344218 13.94566044 50000 293.479098 293.479098 1.0 10.504758001012286 5.86958196 H2D 13.94566044 71706.894363477 3x3_s1_uncontended 3 3000 1 3000 float
3 50000 1571.355703 31.42711406 50000 386.12095 382.211638 1.0102281343929145 24.323686691071245 7.6442327599999995 49999 872.765101 872.765101 1.0 55.542172872363324 17.45530202 50000 409.563912 409.563912 1.0 26.06436666237116 8.19127824 H2D 17.45530202 57289.18347297665 3x3_s4 3 3000 4 3000 float
4 50000 1503.190827 30.06381654 50000 410.304025 408.101596 1.005396766446363 27.149021180129914 8.16203192 49999 879.916105 879.916105 1.0 58.536553656071504 17.5983221 50000 414.203543 414.203543 1.0 27.55495413889989 8.28407086 H2D 17.5983221 56823.59910891732 3x3_s8 3 3000 8 3000 float
5 50000 3315.016749 66.30033498 50000 419.817667 419.817667 1.0 12.664119031273106 8.396353340000001 49999 701.427246 701.427246 1.0 21.159086035133633 14.028544920000002 50000 535.556489 535.556489 1.0 16.15546857075623 10.711129779999998 H2D 14.028544920000002 71283.2304207356 5x5_s1_uncontended 5 2350 1 3000 float
6 50000 2377.743978 47.55487956 50000 464.366056 461.233672 1.006791316831699 19.397953533582665 9.22467344 49999 1018.072896 1018.072896 1.0 42.816758465994944 20.36145792 50000 671.385408 671.385408 1.0 28.236236290028362 13.427708160000002 H2D 20.36145792 49112.39676102722 5x5_s4 5 2350 4 3000 float
7 50000 2297.384508 45.94769016 50000 559.001887 553.741472 1.009499767068196 24.103125535658048 11.074829439999998 49999 1040.452858 1040.452858 1.0 45.288581618658675 20.809057160000002 50000 702.175827 702.175827 1.0 30.564140419458248 14.04351654 H2D 20.809057160000002 48055.997554864705 5x5_s8 5 2350 8 3000 float
8 50000 4105.69513 82.1139026 50000 540.216808 540.216808 1.0 13.157742864361193 10.80433616 49999 712.202522 712.202522 1.0 17.346697683322628 14.24405044 50000 941.949467 941.949467 1.0 22.942508812143586 18.838989339999998 D2H 18.838989339999998 53081.40378192921 7x7_s1_uncontended 7 2170 1 3000 float
9 50000 3444.082992 68.88165984 50000 586.370154 576.931884 1.0163594182636646 16.75139319639252 11.538637679999999 49999 1197.256295 1197.256295 1.0 34.76270164746367 23.945125899999997 50000 1122.678549 1122.678549 1.0 32.597314048697 22.453570980000002 H2D 23.945125899999997 41762.152522238364 7x7_s4 7 2170 4 3000 float
10 50000 3419.960725 68.3992145 50000 631.268088 624.620283 1.0106429540969613 18.26396070674174 12.492405660000001 49999 1268.406306 1268.406306 1.0 37.08832960355122 25.368126120000003 50000 1149.292305 1149.292305 1.0 33.60542407983355 22.9858461 H2D 25.368126120000003 39419.545427583194 7x7_s8 7 2170 8 3000 float
11 50000 4813.511408 96.27022816 50000 724.144584 724.144584 1.0 15.043998499649968 14.48289168 49999 711.818092 711.818092 1.0 14.787917419640195 14.236361839999999 50000 1218.843676 1218.843676 1.0 25.321300246100922 24.37687352 D2H 24.37687352 41022.487940446925 9x9_s1_uncontended 9 1700 1 3000 float
12 50000 4491.355637 89.82711274 50000 777.528372 760.738041 1.0220711073918807 16.937826849715574 15.214760819999999 49999 1330.854104 1330.854104 1.0 29.63145677078789 26.61708208 50000 1407.727498 1407.727498 1.0 31.343042318962105 28.154549959999997 D2H 28.154549959999997 35518.237777578746 9x9_s4 9 1700 4 3000 float
13 50000 4422.456404 88.44912808000001 50000 820.82323 800.129222 1.0258633323605821 18.09241627065681 16.00258444 49999 1341.74831 1341.74831 1.0 30.33943554053857 26.8349662 50000 1416.045933 1416.045933 1.0 32.01944357708585 28.32091866 D2H 28.32091866 35309.58907107712 9x9_s8 9 1700 8 3000 float
@@ -0,0 +1,24 @@
# A100 probe results (Merlin7)
NVIDIA A100 on Merlin7 (gmerlin7, a100 partitions), CUDA 12.9.1, gcc 13.3.0,
nsys 2025.1.3. CUDA event trace is off (`--cuda-event-trace=false`) unless the
folder name says `evtrace-on`. Driver and git state of each run are in its
`env.json`.
| folder | precision | copy-out rounding | frames / batch | configs |
|---|---|---|---|---|
| `2026-10-28_f32_lround_evtrace-on` | f32 | `lround` | 20 000 / 2000 | 3x3, 9x9 at s1, s4 |
| `2026-10-28_f32_lround` | f32 | `lround` | 20 000 / 2000 | 3x3, 9x9 at s1, s4 |
| `2026-10-28_f64_lround` | f64 | `lround` | 20 000 / 2000 | 3x3, 9x9 at s1, s4 |
| `2026-10-29_f32_round_b2000_f20K` | f32 | `round` | 20 000 / 2000 | 3x3 to 9x9 at s1, s4, s8 |
| `2026-10-29_f32_round_b3000_f50K` | f32 | `round` | 50 000 / 3000 | 3x3 to 9x9 at s1, s4, s8 |
`lround(float)` is emulated in software on the device and made the f32 9x9
kernel 1.8x slower than f64. It was replaced by `round` in 104e284. The
2026-10-28 runs used local, uncommitted edits to `clusterfinder_kernel.cuh`
(the precision aliases), so `env.json` shows `git_dirty: true` and does not
record the rounding.
Event trace on and off give the same kernel times; with it on, the idle gaps
between steps are 10-16 % wider.
+14 -5
View File
@@ -33,21 +33,30 @@ HERE = Path(__file__).resolve().parent
# The cap sets the D2H bar (the slot is copied whole regardless of fill), so a
# probe at a different cap is a different measurement.
CONFIGS = [
(3, 3000, 4, "3x3_s4"),
(3, 3000, 1, "3x3_s1_uncontended"),
(9, 1700, 4, "9x9_s4"),
(3, 3000, 4, "3x3_s4"),
(3, 3000, 8, "3x3_s8"),
(5, 2350, 1, "5x5_s1_uncontended"),
(5, 2350, 4, "5x5_s4"),
(5, 2350, 8, "5x5_s8"),
(7, 2170, 1, "7x7_s1_uncontended"),
(7, 2170, 4, "7x7_s4"),
(7, 2170, 8, "7x7_s8"),
(9, 1700, 1, "9x9_s1_uncontended"),
(9, 1700, 4, "9x9_s4"),
(9, 1700, 8, "9x9_s8"),
]
def run_one(cdim, cap, streams, label, n_frames, batch, outdir) -> dict | None:
rep = outdir / f"probe_{label}_cap{cap}"
print(f"\n--- {label}: {cdim}x{cdim} cap={cap} streams={streams} N={n_frames} ---")
prof = [common.NSYS, "profile", "--trace=cuda", "--sample=none",
"--cpuctxsw=none", "--force-overwrite=true", "-o", str(rep),
prof = [common.NSYS, "profile", *common.nsys_profile_flags(),
"-o", str(rep),
sys.executable, str(HERE / "nsys_kernel_probe.py"),
str(streams), str(n_frames), str(cdim), str(cap), str(batch)]
p = subprocess.run(prof, capture_output=True, text=True)
for line in p.stdout.splitlines():
if line.strip().startswith(("n_streams", "H2D/frame", "wall")):
+13
View File
@@ -37,6 +37,19 @@ def _sh(cmd: str, default: str = "unknown") -> str:
except Exception:
return default
def nsys_profile_flags() -> list[str]:
"""`nsys profile` flags shared by every probe.
nsys 2025.1 traces CUDA events by default, which widens the host gaps
between steps (kernel times are unchanged). Older nsys rejects
--cuda-event-trace, so it is added only when the help text lists it.
"""
flags = ["--trace=cuda", "--sample=none", "--cpuctxsw=none",
"--force-overwrite=true"]
if "--cuda-event-trace" in _sh(f"{NSYS} profile --help 2>&1", default=""):
flags.append("--cuda-event-trace=false")
return flags
def assert_build_fresh(headers: list[str]) -> None:
"""Abort if any header (repo-relative path) is newer than the extension."""