PrimeLister v2.9: Hybrid-Optimized Prime Generation via Segmented Marking
PrimeLister v2.9 documents a C++ implementation that generates all prime numbers up to a user-defined limit N. The work focuses on a hybrid, cache-friendly segmented marking approach (adaptive segmentation) combined with OpenMP parallelization across segments, and it includes full source code to support reproducibility. Internally, PrimeLister does not represent all integers; it enumerates only candidates of the form 6k ± 1 (with 2 and 3 handled explicitly). A 0-based index mapping is used, and composite candidates are marked directly in this index space. The core marking logic mirrors an earlier ImageJ macro prototype: three closed-form start-index expressions (e.g., 7i + 10, 3i² + 8i + 4, 3i² + 10i + 7) define where elimination sequences begin so that stepping by a candidate-dependent stride hits the correct multiples in the candidate index space. The C++ implementation translates these steps into segmented bit marking and processes segments in parallel using OpenMP. Reproducibility details (included in the paper): Source code: Appendix A (C++) and Appendix B (ImageJ macro) Repository: GitHub StrangestThings/PrimeLister-2.9-Multicore Build environment: Microsoft Visual Studio 2026 (MSVC toolset 14.44.35207, Release x64) with documented compiler/linker flags Inputs: limit N and cols (table column count) Output: PrimeList.txt License: The author dedicates the source code and benchmark data to the public domain under CC0 1.0 Universal.
Authors
- Tobias Jung
Publication Details
- Journal
- Zenodo (CERN European Organization for Nuclear Research)
- Published
- 2026-01-30
- DOI
- https://doi.org/10.5281/zenodo.18428535
- Primary Topic
- Parallel Computing and Optimization Techniques
- Type
- article
- Field-Weighted Citation Impact
- 0.00