Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
PRIMESIEVE(1)							   PRIMESIEVE(1)

NAME
     primesieve - generate prime numbers

SYNOPSIS
     primesieve [START] STOP [OPTION]...

DESCRIPTION
     Generate  the  prime numbers and/or prime k-tuplets inside [START, STOP] (<
     2^64) using the segmented sieve of Eratosthenes. primesieve includes a num-
     ber of extensions to the sieve of Eratosthenes which significantly  improve
     performance:  multiples  of small primes are pre-sieved, it uses wheel fac-
     torization to skip multiples with small  prime  factors  and  it  uses  the
     bucket sieve algorithm which improves cache efficiency when sieving > 2^32.
     primesieve  is  also multi-threaded, it uses all available CPU cores by de-
     fault for counting primes and for finding the nth prime.

     The segmented sieve of Eratosthenes has a runtime complexity of O(n log log
     n) operations and it uses O(n^(1/2))  bits  of  memory.  More  specifically
     primesieve  uses  8  bytes per sieving prime, hence its memory usage can be
     approximated by PrimePi(n^(1/2)) * 8 bytes (per thread).

OPTIONS
     -c[NUM+], --count[=NUM+]
	 Count primes and/or prime k-tuplets, 1 <= NUM <= 6. Count primes: -c or
	 --count, count twin primes: -c2 or --count=2, count prime triplets: -c3
	 or --count=3, ... You can also count primes and prime k-tuplets at  the
	 same time, e.g.  -c123 counts primes, twin primes and prime triplets.

     --cpu-info
	 Print	CPU  information:  CPU	name,  frequency, number of cores, cache
	 sizes, ...

     -d, --dist=DIST
	 Sieve the interval [START, START + DIST].

     -h, --help
	 Print this help menu.

     -n, --nth-prime
	 Find the nth prime, e.g. 100 -n finds the 100th prime. If 2  numbers  N
	 START are provided finds the nth prime > START, e.g. 2 100 -n finds the
	 2nd prime > 100.

     --no-status
	 Turn off the progressing status.

     -p[NUM], --print[=NUM]
	 Print primes or prime k-tuplets, 1 <= NUM <= 6. Print primes: -p, print
	 twin primes: -p2, print prime triplets: -p3, ...

     -q, --quiet
	 Quiet mode, prints less output.

     -R, --RiemannR
	 Approximate PrimePi(x) using the Riemann R function: R(x).

     --RiemannR-inverse
	 Approximate  the  nth	prime  using  the  inverse  Riemann  R function:
	 R^-1(x).

     -s, --size=SIZE
	 Set the size of the sieve array in KiB, 16 <= SIZE <= 8192. By  default
	 primesieve uses a sieve size that matches your CPU's L1 cache size (per
	 core)	or  is slightly smaller than your CPU's L2 cache size. This set-
	 ting is crucial for performance, on exotic  CPUs  primesieve  sometimes
	 fails	to  determine  the  CPU's cache sizes which usually causes a big
	 slowdown. In this case you can get a significant  speedup  by	manually
	 setting the sieve size to your CPU's L1 or L2 cache size (per core).

     -S, --stress-test[=MODE]
	 Run a stress test. The MODE can be either CPU (default) or RAM. The CPU
	 MODE  uses little memory (< 5 MiB per thread) and puts the highest load
	 on the CPU. The RAM MODE on the other hand uses much more  memory  than
	 the  CPU  MODE  (each	thread uses about 1.16 GiB), but the CPU usually
	 won't get as hot as in the CPU MODE. Stress testing  keeps  on  running
	 until	either	a miscalculation occurs (due to a hardware issue) or the
	 timeout expires. The default timeout is 24 hours, the	timeout  can  be
	 changed  using  the  --timeout=SECS  option. By default the stress test
	 uses a number of threads that matches the number of CPU cores, the num-
	 ber of threads can be changed using the --threads=NUM option.

     --test
	 Run various correctness tests (< 1 minute).

     -t, --threads=NUM
	 Set the number of threads, 1 <= NUM <= CPU cores. By default primesieve
	 uses all available CPU cores for counting primes and  for  finding  the
	 nth prime.

     --time
	 Print the time elapsed in seconds.

     --timeout=SECS
	 Set the stress test timeout in seconds. Units of time for seconds, min-
	 utes, hours, days and years are also supported with the suffix s, m, h,
	 d  or	y. E.g.  --timeout 10m sets a timeout of 10 minutes. The default
	 stress test timeout is 24 hours.

     -v, --version
	 Print version and license information.

EXAMPLES
     primesieve 1000
	 Count the primes <= 1000.

     primesieve 1e6 --print
	 Print the primes <= 10^6.

     primesieve 1e6 --print > primes.txt
	 Store the primes <= 10^6 in a text file.

     primesieve 2^32 --print=2
	 Print the twin primes <= 2^32.

     primesieve 1e16 --dist=1e10 --threads=1
	 Count the primes inside [10^16, 10^16 + 10^10] using a single thread.

HOMEPAGE
     https://github.com/kimwalisch/primesieve

AUTHOR
     Kim Walisch <kim.walisch@gmail.com>

				   02/17/2024			   PRIMESIEVE(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=primesieve&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help