Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/dhzdhd/parallel-boyer-moore

Boyer Moore's algorithm parallelized in CUDA, MPI and OpenMP
https://github.com/dhzdhd/parallel-boyer-moore

Last synced: about 7 hours ago
JSON representation

Boyer Moore's algorithm parallelized in CUDA, MPI and OpenMP

Awesome Lists containing this project

README

        

# Parallel Boyer Moore's algorithm

## Input

### Text (3500 chars)

AABAACAADAABAABAAABABKJAHDKAHSJDKJFHKSHHAHDGFJGHJKJSDLKJSDKHAKHFSPJSFKJSDHKLSDJHAKJHSKSJHDSHBAABAABAABAABAABABAABAABAABAABBABBAAABAAAAABAACAADAABAABAAABABKJAHDKAHSJDKJFHKSHHAHDGFJGHJKJSDLKJSDKHAKHFSPJSFKJSDHKLSDJHAKJHSKSJHDSHBAABAABAABAABAABABAABAABAABAABBABBAAABAAAAABAACAADAABAABAAABABKJAHDKAHSJDKJFHKSHHAHDGFJGHJKJSDLKJSDKHAKHFSPJSFKJSDHKLSDJHAKJHSKSJHDSHBAABAABAABAABAABABAABAABAABAABBABBAAABAAAAABAACAADAABAABAAABABKJAHDKAHSJDKJFHKSHHAHDGFJGHJKJSDLKJSDKHAKHFSPJSFKJSDHKLSDJHAKJHSKSJHDSHBAABAABAABAABAABABAABAABAABAABBABBAAABAAAAABAACAADAABAABAAABABKJAHDKAHSJDKJFHKSHHAHDGFJGHJKJSDLKJSDKHAKHFSPJSFKJSDHKLSDJHAKJHSKSJHDSHBAABAABAABAABAABABAABAABAABAABBABBAAABAAAAABAACAADAABAABAAABABKJAHDKAHSJDKJFHKSHHAHDGFJGHJKJSDLKJSDKHAKHFSPJSFKJSDHKLSDJHAKJHSKSJHDSHBAABAABAABAABAABABAABAABAABAABBABBAAABAAAAABAACAADAABAABAAABABKJAHDKAHSJDKJFHKSHHAHDGFJGHJKJSDLKJSDKHAKHFSPJSFKJSDHKLSDJHAKJHSKSJHDSHBAABAABAABAABAABABAABAABAABAABBABBAAABAAAAABAACAADAABAABAAABABKJAHDKAHSJDKJFHKSHHAHDGFJGHJKJSDLKJSDKHAKHFSPJSFKJSDHKLSDJHAKJHSKSJHDSHBAABAABAABAABAABABAABAABAABAABBABBAAABAAAAABAACAADAABAABAAABABKJAHDKAHSJDKJFHKSHHAHDGFJGHJKJSDLKJSDKHAKHFSPJSFKJSDHKLSDJHAKJHSKSJHDSHBAABAABAABAABAABABAABAABAABAABBABBAAABAAAAABAACAADAABAABAAABABKJAHDKAHSJDKJFHKSHHAHDGFJGHJKJSDLKJSDKHAKHFSPJSFKJSDHKLSDJHAKJHSKSJHDSHBAABAABAABAABAABABAABAABAABAABBABBAAABAAAAABAACAADAABAABAAABABKJAHDKAHSJDKJFHKSHHAHDGFJGHJKJSDLKJSDKHAKHFSPJSFKJSDHKLSDJHAKJHSKSJHDSHBAABAABAABAABAABABAABAABAABAABBABBAAABAAAAABAACAADAABAABAAABABKJAHDKAHSJDKJFHKSHHAHDGFJGHJKJSDLKJSDKHAKHFSPJSFKJSDHKLSDJHAKJHSKSJHDSHBAABAABAABAABAABABAABAABAABAABBABBAAABAAAAABAACAADAABAABAAABABKJAHDKAHSJDKJFHKSHHAHDGFJGHJKJSDLKJSDKHAKHFSPJSFKJSDHKLSDJHAKJHSKSJHDSHBAABAABAABAABAABABAABAABAABAABBABBAAABAAAAABAACAADAABAABAAABABKJAHDKAHSJDKJFHKSHHAHDGFJGHJKJSDLKJSDKHAKHFSPJSFKJSDHKLSDJHAKJHSKSJHDSHBAABAABAABAABAABABAABAABAABAABBABBAAABAAAAABAACAADAABAABAAABABKJAHDKAHSJDKJFHKSHHAHDGFJGHJKJSDLKJSDKHAKHFSPJSFKJSDHKLSDJHAKJHSKSJHDSHBAABAABAABAABAABABAABAABAABAABBABBAAABAAAAABAACAADAABAABAAABABKJAHDKAHSJDKJFHKSHHAHDGFJGHJKJSDLKJSDKHAKHFSPJSFKJSDHKLSDJHAKJHSKSJHDSHBAABAABAABAABAABABAABAABAABAABBABBAAABAAAAABAACAADAABAABAAABABKJAHDKAHSJDKJFHKSHHAHDGFJGHJKJSDLKJSDKHAKHFSPJSFKJSDHKLSDJHAKJHSKSJHDSHBAABAABAABAABAABABAABAABAABAABBABBAAABAAAAABAACAADAABAABAAABABKJAHDKAHSJDKJFHKSHHAHDGFJGHJKJSDLKJSDKHAKHFSPJSFKJSDHKLSDJHAKJHSKSJHDSHBAABAABAABAABAABABAABAABAABAABBABBAAABAAAAABAACAADAABAABAAABABKJAHDKAHSJDKJFHKSHHAHDGFJGHJKJSDLKJSDKHAKHFSPJSFKJSDHKLSDJHAKJHSKSJHDSHBAABAABAABAABAABABAABAABAABAABBABBAAABAAAAABAACAADAABAABAAABABKJAHDKAHSJDKJFHKSHHAHDGFJGHJKJSDLKJSDKHAKHFSPJSFKJSDHKLSDJHAKJHSKSJHDSHBAABAABAABAABAABABAABAABAABAABBABBAAABAAAAABAACAADAABAABAAABABKJAHDKAHSJDKJFHKSHHAHDGFJGHJKJSDLKJSDKHAKHFSPJSFKJSDHKLSDJHAKJHSKSJHDSHBAABAABAABAABAABABAABAABAABAABBABBAAABAAAAABAACAADAABAABAAABABKJAHDKAHSJDKJFHKSHHAHDGFJGHJKJSDLKJSDKHAKHFSPJSFKJSDHKLSDJHAKJHSKSJHDSHBAABAABAABAABAABABAABAABAABAABBABBAAABAAAAABAACAADAABAABAAABABKJAHDKAHSJDKJFHKSHHAHDGFJGHJKJSDLKJSDKHAKHFSPJSFKJSDHKLSDJHAKJHSKSJHDSHBAABAABAABAABAABABAABAABAABAABBABBAAABAAACAADAABAABAAABABKJAHDKAHSJDKJFHKSHHAHDGFJGHJKJSDLKJSDKHAKHFSPJSFKJSDHKLSDJHAKJHSKSJHDSHBAABAABAABAABAABABAABAABAABAABBABBAAABAAACAADAABAABAAABABKJAHDKAHSJDKJFHKSHHAHDGFJGHJKJSDLKJSDKHAKHFSPJSFKJSDHKLSDJHAKJHSKSJHDSHBAABAABAABAABAABABAABAABAABAABBABBAAABAAACAADAABAABAAABABKJAHDKAHSJDKJFHKSHHAHDGFJGHJKJSDLKJSDKHAKHFSPJSFKJSDHKLSDJHAKJHSKSJHDSHBAABAABAABAABAABABAABAABAABAABBABBAAABAAA

### Pattern

BAA

## Output

Pattern found at positions: 2 11 14 92 95 98 101 104 109 112 115 118 125 129 135 144 147 225 228 231 234 237 242 245 248 251 258 262 268 277 280 358 361 364 367 370 375 378 381 384 391 395 401 410 413 491 494 497 500 503 508 511 514 517 524 528 534 543 546 624 627 630 633 636 641 644 647 650 657 661 667 676 679 757 760 76346 1049 1056 1060 1066 1075 1078 1156 1159 1162 1165 1168 1173 1176 1179 1182 1189 1193 1199 1208 1211 1289 1292 1295 1298 1301 1306 1309 1312 1315 1322 1326 1332 1341 1344 1422 1425 1428 1431 1434 1439 1442 1445 1448 1455 1459 1465 1474 1477 1555 1558 1561 1564 1567 1572 1575 1578 1581 1588 1592 1598 1607 1610 1688 1691 1694 1697 1700 1705 1708 1711 1714 1721 1725 1731 1740 1743 1821 1824 1827 1830 1833 1838 1841 1844 1847 1854 1858 1864 1873 1876 1954 1957 1960 1963 1966 1971 1974 1977 1980 1987 1991 1997 2006 2009 2087 2090 2093 2096 2099 2104 2107 2110 2113 2120 2124 2130 2139 2142 2220 2223 2226 2229 2232 2237 2240 2243 2246 2253 2257 2263 2272 2275 2353 2356 2359 2362 2365 2370 2373 2376 2379 2386 2390 2396 2405 2408 2486 2489 2492 2495 2498 2503 2506 2509 2512 2519 2523 2529 2538 2541 2619 2622 2625 2628 2631 2636 2639 2642 2645 2652 2656 2662 2671 2674 2752 2755 2758 2761 2764 2769 2772 2775 2778 2785 2789 2795 2804 2807 2885 2888 2891 2894 2897 2902 2905 2908 2911 2918 2922 2928 2937 2940 3018 3021 3024 3027 3030 3035 3038 3041 3044 3051 3055 3065 3068 3146 3149 3152 3155 3158 3163 3166 3169 3172 3179 3183 3193 3196 3274 3277 3280 3283 3286 3291 3294 3297 3300 3307 3311 3321 3324 3402 3405 3408 3411 3414 3419 3422 3425 3428 3435 3439

## Time taken

Sequential - 0.686
MPI - 1.61 (scaled linearly) (0.046 for 100)
CUDA - 0.102
OpenMP  - 0.378