Binary search

machineauthorcommitcommit dateplatformtimechecksumcheckrel timebonus
mpi-homoasgn36eaa15"2025-05-05 20:40:38 +0200"avx512(64,65536,4)all(1024,262144,16)23191.62194e-090MISMATCH5.73213e-10739.335
mpi-homoasgn36eaa15"2025-05-05 20:40:38 +0200"avx(64,65536,4)all(1024,262144,16)23192.83906e-090MISMATCH7.49109e-10730.036
mpi-homobaibatca4dedfdb"2025-02-25 19:57:30 +0100"avx512(64,65536,4)all(1024,262144,16)23191.63966e-090MISMATCH5.79476e-10738.957
mpi-homobaibatca4dedfdb"2025-02-25 19:57:30 +0100"avx(64,65536,4)all(1024,262144,16)23192.89177e-090MISMATCH7.63016e-10729.397
mpi-homobalekdac62f3c1"2025-04-08 23:49:56 +0200"avx(64,65536,4)all(1024,262144,16)23192.373246081560639948308758OK0.62619816.2631
mpi-homobalekdac62f3c1"2025-04-08 23:49:56 +0200"avx512(64,65536,4)all(1024,262144,16)23192.477316081560639948308758OK0.8755144.61895
mpi-homobellusm1ae21b4"2025-04-07 16:23:17 +0200"avx(64,65536,4)all(1024,262144,16)23191.88486081560639948308758OK0.49731924.2692
mpi-homobellusm1ae21b4"2025-04-07 16:23:17 +0200"avx512(64,65536,4)all(1024,262144,16)23191.475696081560639948308758OK0.52152822.6178
mpi-homoberkalb1acb8c"2025-05-05 19:52:44 +0200"avx(64,65536,4)all(1024,262144,16)23192.004086081560639948308758OK0.52879322.1371
mpi-homoberkalb1acb8c"2025-05-05 19:52:44 +0200"avx512(64,65536,4)all(1024,262144,16)23192.007216081560639948308758OK0.70937311.93
mpi-homobodatc52c0f8"2025-04-27 18:29:29 +0200"avx(64,65536,4)all(1024,262144,16)23193.498616081560639948308758OK0.9231372.77869
mpi-homobodatc52c0f8"2025-04-27 18:29:29 +0200"avx512(64,65536,4)all(1024,262144,16)23193.80166081560639948308758OK1.34354-10.2599
mpi-homoborovskv4dedfdb"2025-02-25 19:57:30 +0100"avx512(64,65536,4)all(1024,262144,16)23191.69424e-090MISMATCH5.98766e-10737.819
mpi-homoborovskv4dedfdb"2025-02-25 19:57:30 +0100"avx(64,65536,4)all(1024,262144,16)23192.86018e-090MISMATCH7.54681e-10729.779
mpi-homobubakf4dedfdb"2025-02-25 19:57:30 +0100"avx512(64,65536,4)all(1024,262144,16)23191.65188e-090MISMATCH5.83797e-10738.699
mpi-homobubakf4dedfdb"2025-02-25 19:57:30 +0100"avx(64,65536,4)all(1024,262144,16)23192.80211e-090MISMATCH7.39361e-10730.491
mpi-homobuiquo896a96f"2025-04-24 21:45:19 +0200"avx(64,65536,4)all(1024,262144,16)23195.239596081560639948308758OK1.38251-11.2534
mpi-homobuiquo896a96f"2025-04-24 21:45:19 +0200"avx512(64,65536,4)all(1024,262144,16)23195.257476081560639948308758OK1.85806-21.5247
mpi-homocarvasjdfaca52"2025-05-05 14:41:39 +0200"avx(64,65536,4)all(1024,262144,16)23195.146666081560639948308758OK1.35799-10.6316
mpi-homocarvasjdfaca52"2025-05-05 14:41:39 +0200"avx512(64,65536,4)all(1024,262144,16)23195.155436081560639948308758OK1.822-20.8438
mpi-homocelovskje74d108"2025-04-17 18:06:39 +0200"avx512(64,65536,4)all(1024,262144,16)23191.64537e-090MISMATCH5.81496e-10738.836
mpi-homocelovskje74d108"2025-04-17 18:06:39 +0200"avx(64,65536,4)all(1024,262144,16)23192.79247e-090MISMATCH7.36815e-10730.611
mpi-homocernohj3ceb11cb"2025-04-17 03:28:11 +0200"avx512(64,65536,4)all(1024,262144,16)23191.63968e-090MISMATCH5.79485e-10738.957
mpi-homocernohj3ceb11cb"2025-04-17 03:28:11 +0200"avx(64,65536,4)all(1024,262144,16)23192.82842e-090MISMATCH7.46301e-10730.167
mpi-homocimermmi8a1b2bf"2025-05-05 20:16:48 +0200"avx(64,65536,4)all(1024,262144,16)23192.246146081560639948308758OK0.59266218.1754
mpi-homocimermmi8a1b2bf"2025-05-05 20:16:48 +0200"avx512(64,65536,4)all(1024,262144,16)23191.682416081560639948308758OK0.59458418.0629
mpi-homodoskocj14dedfdb"2025-02-25 19:57:30 +0100"avx512(64,65536,4)all(1024,262144,16)23191.69058e-090MISMATCH5.97473e-10737.895
mpi-homodoskocj14dedfdb"2025-02-25 19:57:30 +0100"avx(64,65536,4)all(1024,262144,16)23192.81462e-090MISMATCH7.4266e-10730.337
mpi-homodvoraj484dedfdb"2025-02-25 19:57:30 +0100"avx512(64,65536,4)all(1024,262144,16)23191.70466e-090MISMATCH6.0245e-10737.606
mpi-homodvoraj484dedfdb"2025-02-25 19:57:30 +0100"avx(64,65536,4)all(1024,262144,16)23192.82015e-090MISMATCH7.44118e-10730.269
mpi-homofarkasau05b86cf"2025-05-05 20:26:10 +0200"avx512(64,65536,4)all(1024,262144,16)23193.865976081560639948308758OK1.36629-10.8433
mpi-homofarkasau05b86cf"2025-05-05 20:26:10 +0200"avx(64,65536,4)all(1024,262144,16)23196.178126081560639948308758OK1.63015-16.9782
mpi-homofarkasm24dedfdb"2025-02-25 19:57:30 +0100"avx512(64,65536,4)all(1024,262144,16)23191.64649e-090MISMATCH5.8189e-10738.813
mpi-homofarkasm24dedfdb"2025-02-25 19:57:30 +0100"avx(64,65536,4)all(1024,262144,16)23192.8262e-090MISMATCH7.45715e-10730.194
mpi-homogutvaldv9adc5bf"2025-04-17 14:13:44 +0200"avx(64,65536,4)all(1024,262144,16)23195.52836081560639948308758OK1.45869-13.1169
mpi-homogutvaldv9adc5bf"2025-04-17 14:13:44 +0200"avx512(64,65536,4)all(1024,262144,16)23195.582576081560639948308758OK1.97295-23.6094
mpi-homohrdinap1b50ec89"2025-05-05 14:23:33 +0200"avx(64,65536,4)all(1024,262144,16)23196.948986081560639948308758OK1.83355-21.0633
mpi-homohrdinap1b50ec89"2025-05-05 14:23:33 +0200"avx512(64,65536,4)all(1024,262144,16)23195.890446081560639948308758OK2.08176-25.4744
mpi-homohrubyja257ec4fb"2025-05-04 21:32:22 +0200"avx(64,65536,4)all(1024,262144,16)23196.265056081560639948308758OK1.65308-17.4636
mpi-homohrubyja257ec4fb"2025-05-04 21:32:22 +0200"avx512(64,65536,4)all(1024,262144,16)23196.211036081560639948308758OK2.19506-27.3157
mpi-homojevcakj4dedfdb"2025-02-25 19:57:30 +0100"avx512(64,65536,4)all(1024,262144,16)23191.6196e-090MISMATCH5.72386e-10739.385
mpi-homojevcakj4dedfdb"2025-02-25 19:57:30 +0100"avx(64,65536,4)all(1024,262144,16)23192.80131e-090MISMATCH7.39149e-10730.501
mpi-homokapylouma4dedfdb"2025-02-25 19:57:30 +0100"avx512(64,65536,4)all(1024,262144,16)23191.7353e-090MISMATCH6.13276e-10736.988
mpi-homokapylouma4dedfdb"2025-02-25 19:57:30 +0100"avx(64,65536,4)all(1024,262144,16)23192.81429e-090MISMATCH7.42574e-10730.341
mpi-homokoliandl53eb946"2025-05-01 19:35:45 +0200"avx(64,65536,4)all(1024,262144,16)23191.964616081560639948308758OK0.51837722.8283
mpi-homokoliandl53eb946"2025-05-01 19:35:45 +0200"avx512(64,65536,4)all(1024,262144,16)23192.351026081560639948308758OK0.8308826.43684
mpi-homokolnika4dedfdb"2025-02-25 19:57:30 +0100"avx512(64,65536,4)all(1024,262144,16)23191.64493e-090MISMATCH5.8134e-10738.846
mpi-homokolnika4dedfdb"2025-02-25 19:57:30 +0100"avx(64,65536,4)all(1024,262144,16)23192.8014e-090MISMATCH7.39173e-10730.5
mpi-homokouckyj1eae3959"2025-04-05 11:49:50 +0200"avx(64,65536,4)all(1024,262144,16)23193.96726081560639948308758OK1.04678-1.58833
mpi-homokouckyj1eae3959"2025-04-05 11:49:50 +0200"avx512(64,65536,4)all(1024,262144,16)23193.65296081560639948308758OK1.29098-8.87361
mpi-homokraldav11f9ce5a"2025-04-26 23:54:56 +0200"avx(64,65536,4)all(1024,262144,16)23195.438446081560639948308758OK1.43498-12.5476
mpi-homokraldav11f9ce5a"2025-04-26 23:54:56 +0200"avx512(64,65536,4)all(1024,262144,16)23195.473316081560639948308758OK1.93434-22.9226
mpi-homokrenmar4dedfdb"2025-02-25 19:57:30 +0100"avx512(64,65536,4)all(1024,262144,16)23191.64105e-090MISMATCH5.79968e-10738.928
mpi-homokrenmar4dedfdb"2025-02-25 19:57:30 +0100"avx(64,65536,4)all(1024,262144,16)23192.8105e-090MISMATCH7.41574e-10730.388
mpi-homokroupad14aa681e"2025-04-27 11:56:33 +0200"avx(64,65536,4)all(1024,262144,16)23192.783286081560639948308758OK0.7343910.7258
mpi-homokroupad14aa681e"2025-04-27 11:56:33 +0200"avx512(64,65536,4)all(1024,262144,16)23192.911136081560639948308758OK1.02883-0.987533
mpi-homolagoo9ef13b9"2025-05-04 22:05:52 +0200"avx(64,65536,4)all(1024,262144,16)23194.275756081560639948308758OK1.12819-4.19065
mpi-homolagoo9ef13b9"2025-05-04 22:05:52 +0200"avx512(64,65536,4)all(1024,262144,16)23193.237096081560639948308758OK1.14403-4.67494
mpi-homolejkom4dedfdb"2025-02-25 19:57:30 +0100"avx512(64,65536,4)all(1024,262144,16)23191.65003e-090MISMATCH5.83142e-10738.738
mpi-homolejkom4dedfdb"2025-02-25 19:57:30 +0100"avx(64,65536,4)all(1024,262144,16)23192.7974e-090MISMATCH7.38118e-10730.55
mpi-homolopatad4dedfdb"2025-02-25 19:57:30 +0100"avx512(64,65536,4)all(1024,262144,16)23191.68818e-090MISMATCH5.96624e-10737.944
mpi-homolopatad4dedfdb"2025-02-25 19:57:30 +0100"avx(64,65536,4)all(1024,262144,16)23192.82752e-090MISMATCH7.46063e-10730.178
mpi-homolovisekd36fd24a"2025-05-01 22:25:43 +0200"avx512(64,65536,4)all(1024,262144,16)23191.64684e-090MISMATCH5.82015e-10738.805
mpi-homolovisekd36fd24a"2025-05-01 22:25:43 +0200"avx(64,65536,4)all(1024,262144,16)23192.81733e-090MISMATCH7.43375e-10730.303
mpi-homomaliarm4dedfdb"2025-02-25 19:57:30 +0100"avx512(64,65536,4)all(1024,262144,16)23191.61838e-090MISMATCH5.71958e-10739.411
mpi-homomaliarm4dedfdb"2025-02-25 19:57:30 +0100"avx(64,65536,4)all(1024,262144,16)23192.82002e-090MISMATCH7.44084e-10730.27
mpi-homomojikm4dedfdb"2025-02-25 19:57:30 +0100"avx512(64,65536,4)all(1024,262144,16)23191.67261e-090MISMATCH5.91122e-10738.266
mpi-homomojikm4dedfdb"2025-02-25 19:57:30 +0100"avx(64,65536,4)all(1024,262144,16)23192.82843e-090MISMATCH7.46304e-10730.167
mpi-homopajonkf4dedfdb"2025-02-25 19:57:30 +0100"avx512(64,65536,4)all(1024,262144,16)23191.66013e-090MISMATCH5.86712e-10738.526
mpi-homopajonkf4dedfdb"2025-02-25 19:57:30 +0100"avx(64,65536,4)all(1024,262144,16)23192.84938e-090MISMATCH7.51832e-10729.91
mpi-homopelikam3c596ef4"2025-04-17 23:47:40 +0200"avx512(64,65536,4)all(1024,262144,16)23191.6616e-090MISMATCH5.87231e-10738.495
mpi-homopelikam3c596ef4"2025-04-17 23:47:40 +0200"avx(64,65536,4)all(1024,262144,16)23192.80653e-090MISMATCH7.40526e-10730.437
mpi-homopernick9e7abf2"2025-05-04 15:03:53 +0200"avx(64,65536,4)all(1024,262144,16)23197.552836081560639948308758OK1.99288-23.9584
mpi-homopernick9e7abf2"2025-05-04 15:03:53 +0200"avx512(64,65536,4)all(1024,262144,16)23198.533456081560639948308758OK3.01583-38.3526
mpi-homopetrunyoa8f78aa"2025-04-13 15:40:34 +0200"avx(64,65536,4)all(1024,262144,16)231912.91676081560639948308758OK3.40819-42.6019
mpi-homopetrunyoa8f78aa"2025-04-13 15:40:34 +0200"avx512(64,65536,4)all(1024,262144,16)231912.65246081560639948308758OK4.47151-52.0364
mpi-homopohljin099beb1"2025-04-28 20:26:06 +0200"avx(64,65536,4)all(1024,262144,16)23194.363336081560639948308758OK1.1513-4.89508
mpi-homopohljin099beb1"2025-04-28 20:26:06 +0200"avx512(64,65536,4)all(1024,262144,16)23194.300956081560639948308758OK1.52001-14.5477
mpi-homoref8b26f3e"2025-05-05 20:49:16 +0200"avx(64,65536,4)all(1024,262144,16)23193.771786081560639948308758OK0.9952140.166676
mpi-homoref8b26f3e"2025-05-05 20:49:16 +0200"avx512(64,65536,4)all(1024,262144,16)23192.969276081560639948308758OK1.04938-1.67462
mpi-homorehorcc705343"2025-04-24 12:30:57 +0200"avx(64,65536,4)all(1024,262144,16)23192.378086081560639948308758OK0.62747716.1922
mpi-homorehorcc705343"2025-04-24 12:30:57 +0200"avx512(64,65536,4)all(1024,262144,16)23191.851716081560639948308758OK0.65441814.7316
mpi-homosevcikm8fc123f1"2025-04-11 19:37:24 +0200"avx(64,65536,4)all(1024,262144,16)23192.907936081560639948308758OK0.7672829.2036
mpi-homosezemskj4dedfdb"2025-02-25 19:57:30 +0100"avx512(64,65536,4)all(1024,262144,16)23191.67433e-090MISMATCH5.91729e-10738.23
mpi-homosezemskj4dedfdb"2025-02-25 19:57:30 +0100"avx(64,65536,4)all(1024,262144,16)23192.85125e-090MISMATCH7.52324e-10729.888
mpi-homosindelm6e22612e"2025-04-17 17:14:22 +0200"avx512(64,65536,4)all(1024,262144,16)23191.65171e-090MISMATCH5.83734e-10738.703
mpi-homosindelm6e22612e"2025-04-17 17:14:22 +0200"avx(64,65536,4)all(1024,262144,16)23192.83971e-090MISMATCH7.49281e-10730.028
mpi-homosmykj2f39214"2025-04-27 20:47:36 +0200"avx(64,65536,4)all(1024,262144,16)23194.932916081560639948308758OK1.30159-9.15788
mpi-homosmykj2f39214"2025-04-27 20:47:36 +0200"avx512(64,65536,4)all(1024,262144,16)23195.490816081560639948308758OK1.94052-23.0335
mpi-homostrecans4dedfdb"2025-02-25 19:57:30 +0100"avx512(64,65536,4)all(1024,262144,16)23191.65457e-090MISMATCH5.84747e-10738.643
mpi-homostrecans4dedfdb"2025-02-25 19:57:30 +0100"avx(64,65536,4)all(1024,262144,16)23192.82978e-090MISMATCH7.46662e-10730.15
mpi-homosykorjos4dedfdb"2025-02-25 19:57:30 +0100"avx512(64,65536,4)all(1024,262144,16)23191.63855e-090MISMATCH5.79084e-10738.981
mpi-homosykorjos4dedfdb"2025-02-25 19:57:30 +0100"avx(64,65536,4)all(1024,262144,16)23192.81671e-090MISMATCH7.43211e-10730.311
mpi-homotomiskat36b5493"2025-04-25 21:50:21 +0200"avx(64,65536,4)all(1024,262144,16)23192.163696081560639948308758OK0.57090619.4748
mpi-homotomiskat36b5493"2025-04-25 21:50:21 +0200"avx512(64,65536,4)all(1024,262144,16)23192.159386081560639948308758OK0.7631529.39113
mpi-homotomisz4dedfdb"2025-02-25 19:57:30 +0100"avx512(64,65536,4)all(1024,262144,16)23191.65528e-090MISMATCH5.84996e-10738.628
mpi-homotomisz4dedfdb"2025-02-25 19:57:30 +0100"avx(64,65536,4)all(1024,262144,16)23192.78965e-090MISMATCH7.36073e-10730.646
mpi-homotothmatu5a47ecf"2025-04-07 20:06:00 +0200"avx512(64,65536,4)all(1024,262144,16)23191.702686081560639948308758OK0.60174917.6468
mpi-homotothmatu5a47ecf"2025-04-07 20:06:00 +0200"avx(64,65536,4)all(1024,262144,16)23196.832356081560639948308758OK1.80277-20.4752
mpi-homotvrdekpb070818"2025-04-18 19:09:43 +0200"avx512(64,65536,4)all(1024,262144,16)23191.735466081560639948308758OK0.61333516.9842
mpi-homotvrdekpb070818"2025-04-18 19:09:43 +0200"avx(64,65536,4)all(1024,262144,16)23192.365156081560639948308758OK0.62406516.3816
mpi-homovaganove8e43f36"2025-04-16 11:12:26 +0200"avx512(64,65536,4)all(1024,262144,16)23191.63953e-090MISMATCH5.79431e-10738.96
mpi-homovaganove8e43f36"2025-04-16 11:12:26 +0200"avx(64,65536,4)all(1024,262144,16)23192.83468e-090MISMATCH7.47953e-10730.09
mpi-homovermesa9a978bb"2025-05-04 00:45:21 +0200"avx(64,65536,4)all(1024,262144,16)23192.862466081560639948308758OK0.7552849.75119
mpi-homovermesa9a978bb"2025-05-04 00:45:21 +0200"avx512(64,65536,4)all(1024,262144,16)23192.364996081560639948308758OK0.8358196.23102
mpi-homovilimev71c9afa"2025-04-15 23:27:21 +0200"avx512(64,65536,4)all(1024,262144,16)23191.66559e-090MISMATCH5.88639e-10738.412
mpi-homovilimev71c9afa"2025-04-15 23:27:21 +0200"avx(64,65536,4)all(1024,262144,16)23192.76834e-090MISMATCH7.30448e-10730.913
mpi-homovireakt4dedfdb"2025-02-25 19:57:30 +0100"avx512(64,65536,4)all(1024,262144,16)23191.62153e-090MISMATCH5.73071e-10739.343
mpi-homovireakt4dedfdb"2025-02-25 19:57:30 +0100"avx(64,65536,4)all(1024,262144,16)23192.82632e-090MISMATCH7.45747e-10730.193
mpi-homovomelolu4dedfdb"2025-02-25 19:57:30 +0100"avx512(64,65536,4)all(1024,262144,16)23191.70475e-090MISMATCH6.02479e-10737.605
mpi-homovomelolu4dedfdb"2025-02-25 19:57:30 +0100"avx(64,65536,4)all(1024,262144,16)23192.83861e-090MISMATCH7.48991e-10730.042
mpi-homozavodsv4dedfdb"2025-02-25 19:57:30 +0100"avx512(64,65536,4)all(1024,262144,16)23191.63015e-090MISMATCH5.76118e-10739.159
mpi-homozavodsv4dedfdb"2025-02-25 19:57:30 +0100"avx(64,65536,4)all(1024,262144,16)23192.8394e-090MISMATCH7.49199e-10730.032
mpi-homozellervbb34430"2025-04-15 17:59:08 +0200"avx512(64,65536,4)all(1024,262144,16)23191.708e-090MISMATCH6.03631e-10737.538
mpi-homozellervbb34430"2025-04-15 17:59:08 +0200"avx(64,65536,4)all(1024,262144,16)23192.96806e-090MISMATCH7.83145e-10728.493

The input consists of an ordered sequence idata with isize elements and an unordered sequence odata with osize elements. The assignment is to distribute the odata into (isize+1) buckets, whose border values are defined by idata. In the bucket number k, elements are greater or equal to idata[k-1] and less than idata[k].

        typedef std::int32_t data_element;
        
        template< typename policy>
        class bsearch_inner {
        public:
            bsearch_inner( const data_element * idata, std::size_t isize);
        };
    
        template< typename policy>
        class bsearch_outer { 
        public:
            bsearch_outer( const bsearch_inner< policy> & inner, std::size_t osize);
    
            void bucketize( const data_element * odata);
            
            typedef std::pair< const data_element *, std::size_t> bucket_rv;
    
            bucket_rv bucket( std::size_t k) const;
        };
    

For relevant performance measurement at parlab, the program shall be run as:

            srun -p mpi-homo-short -n 1 -c 64 <build-folder>/bsearch --direct-print=no --threads=32
        

Test parameters

isize and osize parameters are explained above. isize is iterated through the set { 64, 256, 1024, 4096, 16384, 65536, 262144, 1048576 }, osize through the set { 1024, 16384, 262144 }, resulting in 24 test configurations on each platform. In Debug mode, only 6 of them are used.

repeats is an auto-adjusted parameter, used to increase running time by repeatedly calling compute. The range of the parameter is set so that the expected run time ranges from fractions of a second to seconds (stopped by the auto-adjustment mechanism after exceeding a second).