Skip to content

[WIP] ComputeBoundingSphere SIMD implementation #398

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

adriengivry
Copy link
Member

@adriengivry adriengivry commented Mar 1, 2025

Description

Optimization of the Mesh::ComputeBoundingSphere, to leverage SIMD intrinsics.

To-Do

Results

Clock cycles, sampled with __rdtsc()

Debug

[SIMD] Generated bounding sphere for 24 vertices in 56848 cycles (2368 cycles per vertex)
[NORM] Generated bounding sphere for 24 vertices in 40546 cycles (1689 cycles per vertex)
[SIMD] Generated bounding sphere for 84 vertices in 9500 cycles (113 cycles per vertex)
[NORM] Generated bounding sphere for 84 vertices in 19950 cycles (237 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 6308 cycles (1577 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 17898 cycles (4474 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 7030 cycles (1757 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 8778 cycles (2194 cycles per vertex)
[SIMD] Generated bounding sphere for 42 vertices in 6688 cycles (159 cycles per vertex)
[NORM] Generated bounding sphere for 42 vertices in 12730 cycles (303 cycles per vertex)
[SIMD] Generated bounding sphere for 439 vertices in 29678 cycles (67 cycles per vertex)
[NORM] Generated bounding sphere for 439 vertices in 68476 cycles (155 cycles per vertex)
[SIMD] Generated bounding sphere for 88 vertices in 9956 cycles (113 cycles per vertex)
[NORM] Generated bounding sphere for 88 vertices in 22154 cycles (251 cycles per vertex)
[SIMD] Generated bounding sphere for 2015 vertices in 125172 cycles (62 cycles per vertex)
[NORM] Generated bounding sphere for 2015 vertices in 292638 cycles (145 cycles per vertex)
[SIMD] Generated bounding sphere for 65 vertices in 11552 cycles (177 cycles per vertex)
[NORM] Generated bounding sphere for 65 vertices in 20292 cycles (312 cycles per vertex)
[SIMD] Generated bounding sphere for 48 vertices in 11742 cycles (244 cycles per vertex)
[NORM] Generated bounding sphere for 48 vertices in 19228 cycles (400 cycles per vertex)
[SIMD] Generated bounding sphere for 9066 vertices in 549784 cycles (60 cycles per vertex)
[NORM] Generated bounding sphere for 9066 vertices in 1352648 cycles (149 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 6802 cycles (1700 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 7448 cycles (1862 cycles per vertex)
[SIMD] Generated bounding sphere for 2 vertices in 7866 cycles (3933 cycles per vertex)
[NORM] Generated bounding sphere for 2 vertices in 6080 cycles (3040 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 6992 cycles (1748 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 7486 cycles (1871 cycles per vertex)
[SIMD] Generated bounding sphere for 2 vertices in 3268 cycles (1634 cycles per vertex)
[NORM] Generated bounding sphere for 2 vertices in 4560 cycles (2280 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 4750 cycles (1187 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 5396 cycles (1349 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 10488 cycles (2622 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 19684 cycles (4921 cycles per vertex)
[SIMD] Generated bounding sphere for 235269 vertices in 14534696 cycles (61 cycles per vertex)
[NORM] Generated bounding sphere for 235269 vertices in 34425568 cycles (146 cycles per vertex)
[SIMD] Generated bounding sphere for 109225 vertices in 6692788 cycles (61 cycles per vertex)
[NORM] Generated bounding sphere for 109225 vertices in 15559594 cycles (142 cycles per vertex)
[SIMD] Generated bounding sphere for 8 vertices in 8284 cycles (1035 cycles per vertex)
[NORM] Generated bounding sphere for 8 vertices in 10412 cycles (1301 cycles per vertex)
[SIMD] Generated bounding sphere for 12258 vertices in 729600 cycles (59 cycles per vertex)
[NORM] Generated bounding sphere for 12258 vertices in 2242912 cycles (182 cycles per vertex)
[SIMD] Generated bounding sphere for 2575 vertices in 157130 cycles (61 cycles per vertex)
[NORM] Generated bounding sphere for 2575 vertices in 371602 cycles (144 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 2774 cycles (693 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 4826 cycles (1206 cycles per vertex)
[SIMD] Generated bounding sphere for 1404 vertices in 88350 cycles (62 cycles per vertex)
[NORM] Generated bounding sphere for 1404 vertices in 212496 cycles (151 cycles per vertex)
[SIMD] Generated bounding sphere for 1648 vertices in 103816 cycles (62 cycles per vertex)
[NORM] Generated bounding sphere for 1648 vertices in 237348 cycles (144 cycles per vertex)
[SIMD] Generated bounding sphere for 92 vertices in 10450 cycles (113 cycles per vertex)
[NORM] Generated bounding sphere for 92 vertices in 30438 cycles (330 cycles per vertex)
[SIMD] Generated bounding sphere for 509586 vertices in 30769854 cycles (60 cycles per vertex)
[NORM] Generated bounding sphere for 509586 vertices in 73152774 cycles (143 cycles per vertex)
[SIMD] Generated bounding sphere for 14463 vertices in 857280 cycles (59 cycles per vertex)
[NORM] Generated bounding sphere for 14463 vertices in 2117436 cycles (146 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 2660 cycles (665 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 4104 cycles (1026 cycles per vertex)
[SIMD] Generated bounding sphere for 17419 vertices in 1028052 cycles (59 cycles per vertex)
[NORM] Generated bounding sphere for 17419 vertices in 2545240 cycles (146 cycles per vertex)
[SIMD] Generated bounding sphere for 493 vertices in 31388 cycles (63 cycles per vertex)
[NORM] Generated bounding sphere for 493 vertices in 96786 cycles (196 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 2850 cycles (712 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 4484 cycles (1121 cycles per vertex)
[SIMD] Generated bounding sphere for 79772 vertices in 4772344 cycles (59 cycles per vertex)
[NORM] Generated bounding sphere for 79772 vertices in 11918434 cycles (149 cycles per vertex)
[SIMD] Generated bounding sphere for 1202 vertices in 89528 cycles (74 cycles per vertex)
[NORM] Generated bounding sphere for 1202 vertices in 184680 cycles (153 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 8702 cycles (2175 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 6460 cycles (1615 cycles per vertex)
[SIMD] Generated bounding sphere for 1758 vertices in 110086 cycles (62 cycles per vertex)
[NORM] Generated bounding sphere for 1758 vertices in 259806 cycles (147 cycles per vertex)
[SIMD] Generated bounding sphere for 188 vertices in 13946 cycles (74 cycles per vertex)
[NORM] Generated bounding sphere for 188 vertices in 32642 cycles (173 cycles per vertex)
[SIMD] Generated bounding sphere for 50 vertices in 5168 cycles (103 cycles per vertex)
[NORM] Generated bounding sphere for 50 vertices in 12958 cycles (259 cycles per vertex)
[SIMD] Generated bounding sphere for 3811 vertices in 233130 cycles (61 cycles per vertex)
[NORM] Generated bounding sphere for 3811 vertices in 552900 cycles (145 cycles per vertex)
[SIMD] Generated bounding sphere for 7690 vertices in 452276 cycles (58 cycles per vertex)
[NORM] Generated bounding sphere for 7690 vertices in 1105762 cycles (143 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 2432 cycles (608 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 4218 cycles (1054 cycles per vertex)
[SIMD] Generated bounding sphere for 26170 vertices in 1586766 cycles (60 cycles per vertex)
[NORM] Generated bounding sphere for 26170 vertices in 3855746 cycles (147 cycles per vertex)
[SIMD] Generated bounding sphere for 958 vertices in 58672 cycles (61 cycles per vertex)
[NORM] Generated bounding sphere for 958 vertices in 146110 cycles (152 cycles per vertex)
[SIMD] Generated bounding sphere for 8 vertices in 2774 cycles (346 cycles per vertex)
[NORM] Generated bounding sphere for 8 vertices in 4978 cycles (622 cycles per vertex)
[SIMD] Generated bounding sphere for 9684 vertices in 572052 cycles (59 cycles per vertex)
[NORM] Generated bounding sphere for 9684 vertices in 1363098 cycles (140 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 2394 cycles (598 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 5510 cycles (1377 cycles per vertex)
[SIMD] Generated bounding sphere for 55963 vertices in 3499078 cycles (62 cycles per vertex)
[NORM] Generated bounding sphere for 55963 vertices in 8018722 cycles (143 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 7790 cycles (1947 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 10070 cycles (2517 cycles per vertex)
[SIMD] Generated bounding sphere for 8778 vertices in 537890 cycles (61 cycles per vertex)
[NORM] Generated bounding sphere for 8778 vertices in 1230934 cycles (140 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 2546 cycles (636 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 4332 cycles (1083 cycles per vertex)
[SIMD] Generated bounding sphere for 352 vertices in 23294 cycles (66 cycles per vertex)
[NORM] Generated bounding sphere for 352 vertices in 55594 cycles (157 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 2432 cycles (608 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 4104 cycles (1026 cycles per vertex)
[SIMD] Generated bounding sphere for 48123 vertices in 2916994 cycles (60 cycles per vertex)
[NORM] Generated bounding sphere for 48123 vertices in 6897912 cycles (143 cycles per vertex)
[SIMD] Generated bounding sphere for 972 vertices in 61636 cycles (63 cycles per vertex)
[NORM] Generated bounding sphere for 972 vertices in 149758 cycles (154 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 2242 cycles (560 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 5054 cycles (1263 cycles per vertex)
[SIMD] Generated bounding sphere for 164 vertices in 12046 cycles (73 cycles per vertex)
[NORM] Generated bounding sphere for 164 vertices in 28348 cycles (172 cycles per vertex)
[SIMD] Generated bounding sphere for 40 vertices in 4446 cycles (111 cycles per vertex)
[NORM] Generated bounding sphere for 40 vertices in 10640 cycles (266 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 2166 cycles (541 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 3952 cycles (988 cycles per vertex)
[SIMD] Generated bounding sphere for 30719 vertices in 2134954 cycles (69 cycles per vertex)
[NORM] Generated bounding sphere for 30719 vertices in 4472258 cycles (145 cycles per vertex)
[SIMD] Generated bounding sphere for 7047 vertices in 448742 cycles (63 cycles per vertex)
[NORM] Generated bounding sphere for 7047 vertices in 1010838 cycles (143 cycles per vertex)
[SIMD] Generated bounding sphere for 12 vertices in 8170 cycles (680 cycles per vertex)
[NORM] Generated bounding sphere for 12 vertices in 7372 cycles (614 cycles per vertex)
[SIMD] Generated bounding sphere for 1662 vertices in 99712 cycles (59 cycles per vertex)
[NORM] Generated bounding sphere for 1662 vertices in 240426 cycles (144 cycles per vertex)
[SIMD] Generated bounding sphere for 1238 vertices in 74936 cycles (60 cycles per vertex)
[NORM] Generated bounding sphere for 1238 vertices in 196384 cycles (158 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 2280 cycles (570 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 4028 cycles (1007 cycles per vertex)
[SIMD] Generated bounding sphere for 47327 vertices in 2885226 cycles (60 cycles per vertex)
[NORM] Generated bounding sphere for 47327 vertices in 6796034 cycles (143 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 8930 cycles (2232 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 11248 cycles (2812 cycles per vertex)
[SIMD] Generated bounding sphere for 37665 vertices in 2940972 cycles (78 cycles per vertex)
[NORM] Generated bounding sphere for 37665 vertices in 5355454 cycles (142 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 2926 cycles (731 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 3990 cycles (997 cycles per vertex)
[SIMD] Generated bounding sphere for 136 vertices in 9918 cycles (72 cycles per vertex)
[NORM] Generated bounding sphere for 136 vertices in 23636 cycles (173 cycles per vertex)
[SIMD] Generated bounding sphere for 1663 vertices in 122512 cycles (73 cycles per vertex)
[NORM] Generated bounding sphere for 1663 vertices in 237158 cycles (142 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 2242 cycles (560 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 3990 cycles (997 cycles per vertex)
[SIMD] Generated bounding sphere for 43470 vertices in 2622684 cycles (60 cycles per vertex)
[NORM] Generated bounding sphere for 43470 vertices in 6157330 cycles (141 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 8208 cycles (2052 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 5092 cycles (1273 cycles per vertex)
[SIMD] Generated bounding sphere for 4567 vertices in 270864 cycles (59 cycles per vertex)
[NORM] Generated bounding sphere for 4567 vertices in 667736 cycles (146 cycles per vertex)
[SIMD] Generated bounding sphere for 2541 vertices in 150442 cycles (59 cycles per vertex)
[NORM] Generated bounding sphere for 2541 vertices in 370538 cycles (145 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 2470 cycles (617 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 3838 cycles (959 cycles per vertex)
[SIMD] Generated bounding sphere for 256773 vertices in 15867432 cycles (61 cycles per vertex)
[NORM] Generated bounding sphere for 256773 vertices in 37202684 cycles (144 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 5776 cycles (1444 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 9386 cycles (2346 cycles per vertex)
[SIMD] Generated bounding sphere for 8066 vertices in 476824 cycles (59 cycles per vertex)
[NORM] Generated bounding sphere for 8066 vertices in 1172832 cycles (145 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 2584 cycles (646 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 4788 cycles (1197 cycles per vertex)
[SIMD] Generated bounding sphere for 214354 vertices in 13258542 cycles (61 cycles per vertex)
[NORM] Generated bounding sphere for 214354 vertices in 30845018 cycles (143 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 7182 cycles (1795 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 8284 cycles (2071 cycles per vertex)
[SIMD] Generated bounding sphere for 15440 vertices in 911392 cycles (59 cycles per vertex)
[NORM] Generated bounding sphere for 15440 vertices in 2227712 cycles (144 cycles per vertex)
[SIMD] Generated bounding sphere for 41600 vertices in 2518868 cycles (60 cycles per vertex)
[NORM] Generated bounding sphere for 41600 vertices in 5840410 cycles (140 cycles per vertex)
[SIMD] Generated bounding sphere for 207484 vertices in 13743009 cycles (66 cycles per vertex)
[NORM] Generated bounding sphere for 207484 vertices in 29918882 cycles (144 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 8930 cycles (2232 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 11514 cycles (2878 cycles per vertex)
[SIMD] Generated bounding sphere for 36333 vertices in 2189256 cycles (60 cycles per vertex)
[NORM] Generated bounding sphere for 36333 vertices in 5289030 cycles (145 cycles per vertex)
[SIMD] Generated bounding sphere for 24 vertices in 8208 cycles (342 cycles per vertex)
[NORM] Generated bounding sphere for 24 vertices in 12616 cycles (525 cycles per vertex)
[SIMD] Generated bounding sphere for 29128 vertices in 1782466 cycles (61 cycles per vertex)
[NORM] Generated bounding sphere for 29128 vertices in 4314596 cycles (148 cycles per vertex)
[SIMD] Generated bounding sphere for 37296 vertices in 2273084 cycles (60 cycles per vertex)
[NORM] Generated bounding sphere for 37296 vertices in 5427312 cycles (145 cycles per vertex)
[SIMD] Generated bounding sphere for 725893 vertices in 52549288 cycles (72 cycles per vertex)
[NORM] Generated bounding sphere for 725893 vertices in 115500430 cycles (159 cycles per vertex)
[SIMD] Generated bounding sphere for 235254 vertices in 14613964 cycles (62 cycles per vertex)
[NORM] Generated bounding sphere for 235254 vertices in 34064492 cycles (144 cycles per vertex)
[SIMD] Generated bounding sphere for 76652 vertices in 5029224 cycles (65 cycles per vertex)
[NORM] Generated bounding sphere for 76652 vertices in 10975236 cycles (143 cycles per vertex)
[SIMD] Generated bounding sphere for 3618584 vertices in 245738424 cycles (67 cycles per vertex)
[NORM] Generated bounding sphere for 3618584 vertices in 538840783 cycles (148 cycles per vertex)
[SIMD] Generated bounding sphere for 196507 vertices in 11816632 cycles (60 cycles per vertex)
[NORM] Generated bounding sphere for 196507 vertices in 28128968 cycles (143 cycles per vertex)
[SIMD] Generated bounding sphere for 347152 vertices in 21813102 cycles (62 cycles per vertex)
[NORM] Generated bounding sphere for 347152 vertices in 51832304 cycles (149 cycles per vertex)
[SIMD] Generated bounding sphere for 1368961 vertices in 93661564 cycles (68 cycles per vertex)
[NORM] Generated bounding sphere for 1368961 vertices in 199120570 cycles (145 cycles per vertex)
[SIMD] Generated bounding sphere for 191378 vertices in 11662466 cycles (60 cycles per vertex)
[NORM] Generated bounding sphere for 191378 vertices in 27678174 cycles (144 cycles per vertex)

Release

[SIMD] Generated bounding sphere for 24 vertices in 1026 cycles (42 cycles per vertex)
[NORM] Generated bounding sphere for 24 vertices in 1672 cycles (69 cycles per vertex)
[SIMD] Generated bounding sphere for 84 vertices in 874 cycles (10 cycles per vertex)
[NORM] Generated bounding sphere for 84 vertices in 1748 cycles (20 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 418 cycles (104 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 722 cycles (180 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 418 cycles (104 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 760 cycles (190 cycles per vertex)
[SIMD] Generated bounding sphere for 42 vertices in 646 cycles (15 cycles per vertex)
[NORM] Generated bounding sphere for 42 vertices in 1178 cycles (28 cycles per vertex)
[SIMD] Generated bounding sphere for 439 vertices in 2926 cycles (6 cycles per vertex)
[NORM] Generated bounding sphere for 439 vertices in 6080 cycles (13 cycles per vertex)
[SIMD] Generated bounding sphere for 88 vertices in 1064 cycles (12 cycles per vertex)
[NORM] Generated bounding sphere for 88 vertices in 2014 cycles (22 cycles per vertex)
[SIMD] Generated bounding sphere for 2015 vertices in 12426 cycles (6 cycles per vertex)
[NORM] Generated bounding sphere for 2015 vertices in 26486 cycles (13 cycles per vertex)
[SIMD] Generated bounding sphere for 65 vertices in 1140 cycles (17 cycles per vertex)
[NORM] Generated bounding sphere for 65 vertices in 3686 cycles (56 cycles per vertex)
[SIMD] Generated bounding sphere for 48 vertices in 836 cycles (17 cycles per vertex)
[NORM] Generated bounding sphere for 48 vertices in 1482 cycles (30 cycles per vertex)
[SIMD] Generated bounding sphere for 9066 vertices in 57532 cycles (6 cycles per vertex)
[NORM] Generated bounding sphere for 9066 vertices in 112746 cycles (12 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 760 cycles (190 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 684 cycles (171 cycles per vertex)
[SIMD] Generated bounding sphere for 2 vertices in 304 cycles (152 cycles per vertex)
[NORM] Generated bounding sphere for 2 vertices in 760 cycles (380 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 304 cycles (76 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 760 cycles (190 cycles per vertex)
[SIMD] Generated bounding sphere for 2 vertices in 304 cycles (152 cycles per vertex)
[NORM] Generated bounding sphere for 2 vertices in 798 cycles (399 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 380 cycles (95 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 722 cycles (180 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 950 cycles (237 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 1254 cycles (313 cycles per vertex)
[SIMD] Generated bounding sphere for 235269 vertices in 3305430 cycles (14 cycles per vertex)
[NORM] Generated bounding sphere for 235269 vertices in 2898754 cycles (12 cycles per vertex)
[SIMD] Generated bounding sphere for 109225 vertices in 679402 cycles (6 cycles per vertex)
[NORM] Generated bounding sphere for 109225 vertices in 1333686 cycles (12 cycles per vertex)
[SIMD] Generated bounding sphere for 8 vertices in 304 cycles (38 cycles per vertex)
[NORM] Generated bounding sphere for 8 vertices in 532 cycles (66 cycles per vertex)
[SIMD] Generated bounding sphere for 12258 vertices in 76608 cycles (6 cycles per vertex)
[NORM] Generated bounding sphere for 12258 vertices in 150214 cycles (12 cycles per vertex)
[SIMD] Generated bounding sphere for 2575 vertices in 19190 cycles (7 cycles per vertex)
[NORM] Generated bounding sphere for 2575 vertices in 42370 cycles (16 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 228 cycles (57 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 418 cycles (104 cycles per vertex)
[SIMD] Generated bounding sphere for 1404 vertices in 8360 cycles (5 cycles per vertex)
[NORM] Generated bounding sphere for 1404 vertices in 17670 cycles (12 cycles per vertex)
[SIMD] Generated bounding sphere for 1648 vertices in 9652 cycles (5 cycles per vertex)
[NORM] Generated bounding sphere for 1648 vertices in 20558 cycles (12 cycles per vertex)
[SIMD] Generated bounding sphere for 92 vertices in 684 cycles (7 cycles per vertex)
[NORM] Generated bounding sphere for 92 vertices in 1596 cycles (17 cycles per vertex)
[SIMD] Generated bounding sphere for 509586 vertices in 8564326 cycles (16 cycles per vertex)
[NORM] Generated bounding sphere for 509586 vertices in 9991530 cycles (19 cycles per vertex)
[SIMD] Generated bounding sphere for 14463 vertices in 92036 cycles (6 cycles per vertex)
[NORM] Generated bounding sphere for 14463 vertices in 182134 cycles (12 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 190 cycles (47 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 380 cycles (95 cycles per vertex)
[SIMD] Generated bounding sphere for 17419 vertices in 109934 cycles (6 cycles per vertex)
[NORM] Generated bounding sphere for 17419 vertices in 227962 cycles (13 cycles per vertex)
[SIMD] Generated bounding sphere for 493 vertices in 2926 cycles (5 cycles per vertex)
[NORM] Generated bounding sphere for 493 vertices in 6726 cycles (13 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 190 cycles (47 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 494 cycles (123 cycles per vertex)
[SIMD] Generated bounding sphere for 79772 vertices in 499016 cycles (6 cycles per vertex)
[NORM] Generated bounding sphere for 79772 vertices in 986594 cycles (12 cycles per vertex)
[SIMD] Generated bounding sphere for 1202 vertices in 7030 cycles (5 cycles per vertex)
[NORM] Generated bounding sphere for 1202 vertices in 15466 cycles (12 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 152 cycles (38 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 456 cycles (114 cycles per vertex)
[SIMD] Generated bounding sphere for 1758 vertices in 10336 cycles (5 cycles per vertex)
[NORM] Generated bounding sphere for 1758 vertices in 21812 cycles (12 cycles per vertex)
[SIMD] Generated bounding sphere for 188 vertices in 1482 cycles (7 cycles per vertex)
[NORM] Generated bounding sphere for 188 vertices in 2964 cycles (15 cycles per vertex)
[SIMD] Generated bounding sphere for 50 vertices in 456 cycles (9 cycles per vertex)
[NORM] Generated bounding sphere for 50 vertices in 1558 cycles (31 cycles per vertex)
[SIMD] Generated bounding sphere for 3811 vertices in 24852 cycles (6 cycles per vertex)
[NORM] Generated bounding sphere for 3811 vertices in 78318 cycles (20 cycles per vertex)
[SIMD] Generated bounding sphere for 7690 vertices in 48792 cycles (6 cycles per vertex)
[NORM] Generated bounding sphere for 7690 vertices in 96178 cycles (12 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 190 cycles (47 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 494 cycles (123 cycles per vertex)
[SIMD] Generated bounding sphere for 26170 vertices in 164426 cycles (6 cycles per vertex)
[NORM] Generated bounding sphere for 26170 vertices in 322164 cycles (12 cycles per vertex)
[SIMD] Generated bounding sphere for 958 vertices in 5662 cycles (5 cycles per vertex)
[NORM] Generated bounding sphere for 958 vertices in 12350 cycles (12 cycles per vertex)
[SIMD] Generated bounding sphere for 8 vertices in 228 cycles (28 cycles per vertex)
[NORM] Generated bounding sphere for 8 vertices in 380 cycles (47 cycles per vertex)
[SIMD] Generated bounding sphere for 9684 vertices in 60952 cycles (6 cycles per vertex)
[NORM] Generated bounding sphere for 9684 vertices in 119092 cycles (12 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 152 cycles (38 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 418 cycles (104 cycles per vertex)
[SIMD] Generated bounding sphere for 55963 vertices in 353552 cycles (6 cycles per vertex)
[NORM] Generated bounding sphere for 55963 vertices in 700758 cycles (12 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 228 cycles (57 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 380 cycles (95 cycles per vertex)
[SIMD] Generated bounding sphere for 8778 vertices in 56012 cycles (6 cycles per vertex)
[NORM] Generated bounding sphere for 8778 vertices in 109288 cycles (12 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 190 cycles (47 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 418 cycles (104 cycles per vertex)
[SIMD] Generated bounding sphere for 352 vertices in 2242 cycles (6 cycles per vertex)
[NORM] Generated bounding sphere for 352 vertices in 5016 cycles (14 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 152 cycles (38 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 380 cycles (95 cycles per vertex)
[SIMD] Generated bounding sphere for 48123 vertices in 300124 cycles (6 cycles per vertex)
[NORM] Generated bounding sphere for 48123 vertices in 587404 cycles (12 cycles per vertex)
[SIMD] Generated bounding sphere for 972 vertices in 5814 cycles (5 cycles per vertex)
[NORM] Generated bounding sphere for 972 vertices in 12464 cycles (12 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 190 cycles (47 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 418 cycles (104 cycles per vertex)
[SIMD] Generated bounding sphere for 164 vertices in 1102 cycles (6 cycles per vertex)
[NORM] Generated bounding sphere for 164 vertices in 2584 cycles (15 cycles per vertex)
[SIMD] Generated bounding sphere for 40 vertices in 456 cycles (11 cycles per vertex)
[NORM] Generated bounding sphere for 40 vertices in 988 cycles (24 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 152 cycles (38 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 418 cycles (104 cycles per vertex)
[SIMD] Generated bounding sphere for 30719 vertices in 192622 cycles (6 cycles per vertex)
[NORM] Generated bounding sphere for 30719 vertices in 381482 cycles (12 cycles per vertex)
[SIMD] Generated bounding sphere for 7047 vertices in 45752 cycles (6 cycles per vertex)
[NORM] Generated bounding sphere for 7047 vertices in 143032 cycles (20 cycles per vertex)
[SIMD] Generated bounding sphere for 12 vertices in 380 cycles (31 cycles per vertex)
[NORM] Generated bounding sphere for 12 vertices in 684 cycles (57 cycles per vertex)
[SIMD] Generated bounding sphere for 1662 vertices in 10032 cycles (6 cycles per vertex)
[NORM] Generated bounding sphere for 1662 vertices in 21128 cycles (12 cycles per vertex)
[SIMD] Generated bounding sphere for 1238 vertices in 7182 cycles (5 cycles per vertex)
[NORM] Generated bounding sphere for 1238 vertices in 15732 cycles (12 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 152 cycles (38 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 418 cycles (104 cycles per vertex)
[SIMD] Generated bounding sphere for 47327 vertices in 294766 cycles (6 cycles per vertex)
[NORM] Generated bounding sphere for 47327 vertices in 577828 cycles (12 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 228 cycles (57 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 494 cycles (123 cycles per vertex)
[SIMD] Generated bounding sphere for 37665 vertices in 280060 cycles (7 cycles per vertex)
[NORM] Generated bounding sphere for 37665 vertices in 804992 cycles (21 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 456 cycles (114 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 608 cycles (152 cycles per vertex)
[SIMD] Generated bounding sphere for 136 vertices in 950 cycles (6 cycles per vertex)
[NORM] Generated bounding sphere for 136 vertices in 2318 cycles (17 cycles per vertex)
[SIMD] Generated bounding sphere for 1663 vertices in 9956 cycles (5 cycles per vertex)
[NORM] Generated bounding sphere for 1663 vertices in 21090 cycles (12 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 190 cycles (47 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 418 cycles (104 cycles per vertex)
[SIMD] Generated bounding sphere for 43470 vertices in 709726 cycles (16 cycles per vertex)
[NORM] Generated bounding sphere for 43470 vertices in 537586 cycles (12 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 304 cycles (76 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 570 cycles (142 cycles per vertex)
[SIMD] Generated bounding sphere for 4567 vertices in 28576 cycles (6 cycles per vertex)
[NORM] Generated bounding sphere for 4567 vertices in 56354 cycles (12 cycles per vertex)
[SIMD] Generated bounding sphere for 2541 vertices in 14858 cycles (5 cycles per vertex)
[NORM] Generated bounding sphere for 2541 vertices in 32718 cycles (12 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 228 cycles (57 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 380 cycles (95 cycles per vertex)
[SIMD] Generated bounding sphere for 256773 vertices in 3482396 cycles (13 cycles per vertex)
[NORM] Generated bounding sphere for 256773 vertices in 4579456 cycles (17 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 456 cycles (114 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 1026 cycles (256 cycles per vertex)
[SIMD] Generated bounding sphere for 8066 vertices in 50692 cycles (6 cycles per vertex)
[NORM] Generated bounding sphere for 8066 vertices in 99522 cycles (12 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 190 cycles (47 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 380 cycles (95 cycles per vertex)
[SIMD] Generated bounding sphere for 214354 vertices in 2781638 cycles (12 cycles per vertex)
[NORM] Generated bounding sphere for 214354 vertices in 2637124 cycles (12 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 304 cycles (76 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 608 cycles (152 cycles per vertex)
[SIMD] Generated bounding sphere for 15440 vertices in 97812 cycles (6 cycles per vertex)
[NORM] Generated bounding sphere for 15440 vertices in 190228 cycles (12 cycles per vertex)
[SIMD] Generated bounding sphere for 41600 vertices in 273980 cycles (6 cycles per vertex)
[NORM] Generated bounding sphere for 41600 vertices in 814606 cycles (19 cycles per vertex)
[SIMD] Generated bounding sphere for 207484 vertices in 2541592 cycles (12 cycles per vertex)
[NORM] Generated bounding sphere for 207484 vertices in 2544556 cycles (12 cycles per vertex)
[SIMD] Generated bounding sphere for 4 vertices in 152 cycles (38 cycles per vertex)
[NORM] Generated bounding sphere for 4 vertices in 456 cycles (114 cycles per vertex)
[SIMD] Generated bounding sphere for 36333 vertices in 253346 cycles (6 cycles per vertex)
[NORM] Generated bounding sphere for 36333 vertices in 445360 cycles (12 cycles per vertex)
[SIMD] Generated bounding sphere for 24 vertices in 1140 cycles (47 cycles per vertex)
[NORM] Generated bounding sphere for 24 vertices in 1064 cycles (44 cycles per vertex)
[SIMD] Generated bounding sphere for 29128 vertices in 182742 cycles (6 cycles per vertex)
[NORM] Generated bounding sphere for 29128 vertices in 449578 cycles (15 cycles per vertex)
[SIMD] Generated bounding sphere for 37296 vertices in 231040 cycles (6 cycles per vertex)
[NORM] Generated bounding sphere for 37296 vertices in 454632 cycles (12 cycles per vertex)
[SIMD] Generated bounding sphere for 725893 vertices in 12278940 cycles (16 cycles per vertex)
[NORM] Generated bounding sphere for 725893 vertices in 14521016 cycles (20 cycles per vertex)
[SIMD] Generated bounding sphere for 235254 vertices in 3578498 cycles (15 cycles per vertex)
[NORM] Generated bounding sphere for 235254 vertices in 3680718 cycles (15 cycles per vertex)
[SIMD] Generated bounding sphere for 76652 vertices in 479028 cycles (6 cycles per vertex)
[NORM] Generated bounding sphere for 76652 vertices in 935940 cycles (12 cycles per vertex)
[SIMD] Generated bounding sphere for 3618584 vertices in 61859782 cycles (17 cycles per vertex)
[NORM] Generated bounding sphere for 3618584 vertices in 72833574 cycles (20 cycles per vertex)
[SIMD] Generated bounding sphere for 196507 vertices in 1516504 cycles (7 cycles per vertex)
[NORM] Generated bounding sphere for 196507 vertices in 2434090 cycles (12 cycles per vertex)
[SIMD] Generated bounding sphere for 347152 vertices in 5689170 cycles (16 cycles per vertex)
[NORM] Generated bounding sphere for 347152 vertices in 7699408 cycles (22 cycles per vertex)
[SIMD] Generated bounding sphere for 1368961 vertices in 30355540 cycles (22 cycles per vertex)
[NORM] Generated bounding sphere for 1368961 vertices in 33804268 cycles (24 cycles per vertex)
[SIMD] Generated bounding sphere for 191378 vertices in 2273958 cycles (11 cycles per vertex)
[NORM] Generated bounding sphere for 191378 vertices in 2491964 cycles (13 cycles per vertex)

@adriengivry adriengivry self-assigned this Mar 1, 2025
@adriengivry adriengivry added Optimization Optimization related stuff Graphics Graphical feature labels Mar 1, 2025
Base automatically changed from feature/fully_agnostic_renderer to main March 31, 2025 22:09
@adriengivry adriengivry force-pushed the feature/simd_bounding_sphere branch from b3be75f to ade1387 Compare May 8, 2025 21:01
@adriengivry adriengivry changed the title ComputeBoundingSphere SIMD implementation [WIP] ComputeBoundingSphere SIMD implementation May 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Graphics Graphical feature Optimization Optimization related stuff
Development

Successfully merging this pull request may close these issues.

1 participant