Popular x64 Tags
- autocad x64 download
- solidworks x64 download
- cad x64 download
- hpgl x64 download
- vrml x64 download
- architectural x64 download
- intellicad x64 download
- design x64 download
- architect x64 download
- home x64 download
- progecad x64 download
- dwg x64 download
- dxf x64 download
- fence x64 download
- cam x64 download
- landscape x64 download
- dwg to pdf x64 download
- convert x64 download
- animation x64 download
- backyard x64 download
- visualization x64 download
- viz x64 download
- batch x64 download
- landscaping x64 download
- gardening x64 download
- deck x64 download
- garden x64 download
- strength check x64 download
- gear x64 download
- yard x64 download
primesieve x64 3.6
Sponsored links:
license: Open Source
downloads: 35
size: 3.70 MB
updated: 2012-05-14
tags: x64 Eratosthenes sieve, x64 prime number sieve, x64 filter prime number, x64 Eratosthenes, x64 prime number, x64 sieve
Add to Basket
Kim Walisch
primesieve x64 uses the segmented sieve of Eratosthenes with wheel factorization, this algorithm has a complexity of operations and uses space.
Segmentation is currently the best known practical improvement to the sieve of Eratosthenes. Instead of sieving the interval [2, n] at once one subdivides the sieve interval into a number of equal sized segments that are then sieved consecutively. Segmentation drops the memory requirement of the sieve of Eratosthenes from to . The segment size is usually chosen to fit into the CPU's fast L1 or L2 cache memory which significantly speeds up sieving. A segmented version of the sieve of Eratosthenes was first published by Singleton in 1969 [1], Bays and Hudson in [2] describe the algorithm in more detail.
Wheel factorization is used to skip multiples of small primes. If a kth wheel is added to the sieve of Eratosthenes then only those multiples are crossed off that are coprime to the first k primes, i.e. multiples that are divisible by any of the first k primes are skipped. The 1st wheel considers only odd numbers, the 2nd wheel (modulo 6) skips multiples of 2 and 3, the 3rd wheel (modulo 30) skips multiples of 2, 3, 5 and so on. Pritchard has shown in [3] that the running time of the sieve of Eratosthenes can be reduced by a factor of if the wheel size is but for cache reasons the sieve of Eratosthenes usually performs best with a modulo 30 or 210 wheel. Sorenson explains wheels in [4].
Additionally primesieve uses Tomás Oliveira e Silva's cache-friendly bucket list algorithm if needed [5]. This algorithm is relatively new it has been devised by Tomás Oliveira e Silva in 2001 in order to speed up the segmented sieve of Eratosthenes for prime numbers past 32 bits. The idea is to store the sieving primes into lists of buckets with each list being associated with a segment. A list of sieving primes related to a specific segment contains only those primes that have multiple occurrence(s) in that segment. Whilst sieving a segment only the primes of the related list are used for sieving and each prime is reassigned to the list responsible for its next multiple when processed. The benefit of this approach is that it is now possible to use segments (i.e. sieve arrays) smaller than without deteriorating efficiency, this is important as only small segments that fit into the CPU's L1 or L2 cache provide fast memory access.
primesieve x64 is written entirely in C++ and does not depend on external libraries [6], it compiles with every standard compliant C++ compiler. Its speed is mainly due to the segmentation of the sieve of Eratosthenes which prevents cache misses when crossing off multiples in the sieve array and the use of a bit array instead of the more widely used byte (boolean) array. These are the optimizations I use in my implementation:
Uses a bit array with 30 numbers per byte for sieving
Pre-sieves multiples of small primes ? 19
Starts crossing off multiples at the square
Uses a modolo 210 wheel that skips multiples of 2, 3, 5 and 7
Uses specialized algorithms for small, medium and big sieving primes
Processes multiple sieving primes per loop iteration to increase instruction-level parallelism
Parallelized (multi-threaded) using OpenMP
To browse the latest primesieve source code online visit the 'Source' tab.
Segmentation is currently the best known practical improvement to the sieve of Eratosthenes. Instead of sieving the interval [2, n] at once one subdivides the sieve interval into a number of equal sized segments that are then sieved consecutively. Segmentation drops the memory requirement of the sieve of Eratosthenes from to . The segment size is usually chosen to fit into the CPU's fast L1 or L2 cache memory which significantly speeds up sieving. A segmented version of the sieve of Eratosthenes was first published by Singleton in 1969 [1], Bays and Hudson in [2] describe the algorithm in more detail.
Wheel factorization is used to skip multiples of small primes. If a kth wheel is added to the sieve of Eratosthenes then only those multiples are crossed off that are coprime to the first k primes, i.e. multiples that are divisible by any of the first k primes are skipped. The 1st wheel considers only odd numbers, the 2nd wheel (modulo 6) skips multiples of 2 and 3, the 3rd wheel (modulo 30) skips multiples of 2, 3, 5 and so on. Pritchard has shown in [3] that the running time of the sieve of Eratosthenes can be reduced by a factor of if the wheel size is but for cache reasons the sieve of Eratosthenes usually performs best with a modulo 30 or 210 wheel. Sorenson explains wheels in [4].
Additionally primesieve uses Tomás Oliveira e Silva's cache-friendly bucket list algorithm if needed [5]. This algorithm is relatively new it has been devised by Tomás Oliveira e Silva in 2001 in order to speed up the segmented sieve of Eratosthenes for prime numbers past 32 bits. The idea is to store the sieving primes into lists of buckets with each list being associated with a segment. A list of sieving primes related to a specific segment contains only those primes that have multiple occurrence(s) in that segment. Whilst sieving a segment only the primes of the related list are used for sieving and each prime is reassigned to the list responsible for its next multiple when processed. The benefit of this approach is that it is now possible to use segments (i.e. sieve arrays) smaller than without deteriorating efficiency, this is important as only small segments that fit into the CPU's L1 or L2 cache provide fast memory access.
primesieve x64 is written entirely in C++ and does not depend on external libraries [6], it compiles with every standard compliant C++ compiler. Its speed is mainly due to the segmentation of the sieve of Eratosthenes which prevents cache misses when crossing off multiples in the sieve array and the use of a bit array instead of the more widely used byte (boolean) array. These are the optimizations I use in my implementation:
Uses a bit array with 30 numbers per byte for sieving
Pre-sieves multiples of small primes ? 19
Starts crossing off multiples at the square
Uses a modolo 210 wheel that skips multiples of 2, 3, 5 and 7
Uses specialized algorithms for small, medium and big sieving primes
Processes multiple sieving primes per loop iteration to increase instruction-level parallelism
Parallelized (multi-threaded) using OpenMP
To browse the latest primesieve source code online visit the 'Source' tab.
OS: Windows Vista x64, Windows 7 x64, Windows 8 x64
Requirements:
Add Your Review or 64-bit Compatibily Report
Top CAD 64-bit downloads
Lucid Electronics Workbench 1.02.0010
Calculate Component Vales for a variety of Electronic Circuits
Trialware | $14.95
AutoCAD 2008
AutoCAD 2008 software adds features to help make everyday tasks easier.
Shareware | $3 995.00
AutoCAD DWG Viewer 3.4.1
FREE AutoCAD utility to view and print DWG, DWF and DXF and create PDFs.
Freeware
LumenRT 4
3D technology for the interactive visualization of architectural projects
Demo
tags: LumenRT, Lumen, realtime, real-time, sketchUp, architecture, archviz, radiosity, e-onsoftware, eon, e-on, google, 3Dwarehouse, photo-real, visualization, render, animation, graphics
AutoCAD 2008
AutoCAD 2008 software adds features to help make everyday tasks easier.
Shareware | $3 995.00
Autodesk 123D Catch 1.0.0.23 Beta
Take ordinary photos and turn them into extraordinary 3D models
Freeware
Members area
Top 64-bit Downloads
-
DWG TrueView 64-bit 2013 19.0.66.0
x64 freeware download -
Gimp for x64 Windows 2.8.4
x64 open source download -
Archicad 64bit 16
x64 freeware download -
ImageMagick for Windows
(x64 bit) 6.8.5-6
x64 freeware download -
VueScan x64 9.2.19
x64 shareware download -
FastPictureViewer x64 1.9.297.0
x64 freeware download -
AcroPDF 6.1
x64 shareware download -
Autopano Pro x64 3.0.5
x64 demo download -
Ximagic Denoiser for
Windows (x64 bit) 4.6.5
x64 freeware download -
ImageJ x64 2.1.4.7 ra1
x64 freeware download
Top Downloads
-
PDF Creator for Windows
7 7.00
shareware download -
PhotoScape 3.6.3
freeware download -
PDF Creator for Windows
8 8.00
shareware download -
DWG TrueView 64-bit 2013 19.0.66.0
freeware download -
AutoCAD 2010
trialware download -
Google Picasa 3.9.136.20
freeware download -
TinyPDF 2.00
freeware download -
IrfanView ALL plugins 4.25
freeware download -
Irfan View 4.35
freeware download -
Lucid Electronics
Workbench 1.02.0010
trialware download -
Google SketchUp 8.0.4811
freeware download -
Inkscape 0.48.4
open source download -
CorelDRAW X5 15.2.0.686
trialware download -
AutoCAD 2008
shareware download -
DraftSight V1R3.1
freeware download












