SPT
[[File:{{#setmainimage:Spt.jpg}}|alt=logo image|center|frameless]]
SPT is a BOINC-based volunteer computing project dedicated to researching Symmetric Prime Tuples, a topic in number theory. Volunteers donate idle CPU time on their personal computers to help search for symmetric prime k-tuples of consecutive primes, advancing an open mathematical problem first formally presented by mathematician Natalia Makarova.
Background and History
The search for symmetric prime tuples has a rich history within the volunteer computing community. The research lineage traces back to Stop@Home, an early BOINC project that searched for symmetric prime sequences.[1] When Stop@Home was retired, the work was taken up as a subproject by T.Brada Experimental Grid (TBEG), a multi-application BOINC project run by Tomáš Brada. [2] The TBEG Symmetric Prime Tuples subproject, available for both Linux and Windows, ran from approximately late 2019 until the project's closure in 2022.[3]
After TBEG went offline, Natalia Makarova and her colleagues established the standalone SPT project in 2023 to continue this line of research without interruption. The project is hosted at boinc.termit.me/adsl/ and was configured by a developer known as Demis, who adapted the original source code from Tomáš Brada's repository for the new platform.[4] A parallel branch of the same research also runs within Gerasim@Home under the application name "Get Symmetrical Tuples", which employs a different algorithm targeting only odd-length tuples.[5]
Goal
The primary goal of SPT is to continue the work of the T. Brada Experimental Grid project by systematically searching for symmetric prime k-tuples of consecutive primes. The project seeks to find solutions with minimal diameter and minimal value of the starting prime p for various values of k, and to discover solutions for values of k for which none have yet been found. All results are published publicly in the Prime Tuple Database.[6]
Mathematical Background
The SPT application is based on Problem 62. Symmetric k-tuples of consecutive primes, a mathematical puzzle presented by Natalia Makarova.[7]
Definition 1: Prime k-tuple
A prime k-tuple is a finite collection of values
where are prime numbers, and form a pattern. Typically the first value in the pattern is 0 and the remaining values are distinct positive even numbers.[8]
In SPT, we further restrict ourselves to the case where are consecutive primes (i.e., there are no primes between any two adjacent elements of the tuple).
Definition 2: Symmetric k-tuple (even k)
For even k, a k-tuple
is called symmetric if the following condition is satisfied:
In other words, the offsets mirror each other around the centre of the tuple.
Example: symmetric 8-tuple
Written in shorthand as:
17: 0, 2, 6, 12, 14, 20, 24, 26
Definition 3: Symmetric k-tuple (odd k)
For odd k, a k-tuple is called symmetric if:
The middle element is exactly the average of the flanking pair, making it the literal centre of symmetry.
Example: symmetric 5-tuple
18713: 0, 6, 18, 30, 36
Definition 4: Diameter
The diameter d of a k-tuple is the difference between its largest and smallest offsets.[9]
For the 8-tuple example above, .
Known solutions with minimal diameter and minimal starting prime p for are catalogued in OEIS sequence A081235.
Open Questions

The project is working to answer two main questions posed by Makarova:[10]
- Find solutions with a minimal diameter and minimal starting prime p for , and for .
- Find solutions (minimal or otherwise) for the remaining even and odd values of k.
As of the project's current knowledge, no solutions have been found for .
Known Solutions
The table below summarises the best known solutions for various values of k, as published on the project's reference page.[11] Solutions marked "(not minimal)" indicate that a smaller starting prime p or smaller diameter may still exist. Results discovered in TBEG, Stop@Home, and manual computation efforts by contributors such as J. Wroblewski are included.
| k | Status | Starting prime p | Offsets |
|---|---|---|---|
| 5 | minimal d, p | 18713 | 0, 6, 18, 30, 36 |
| 7 | minimal d, p | 12003179 | 0, 12, 18, 30, 42, 48, 60 |
| 9 | minimal d, p | 1480028129 | 0, 12, 24, 30, 42, 54, 60, 72, 84 |
| 10 | minimal d, p | 13 | 0, 4, 6, 10, 16, 18, 24, 28, 30, 34 |
| 11 | possible minimal | 660287401247651 | 0, 6, 30, 42, 60, 66, 72, 90, 102, 126, 132 |
| 12 | not minimal | 137 | 0, 2, 12, 14, 20, 26, 30, 36, 42, 44, 54, 56 |
| 13 | not minimal | 5348080416833699 | 0, 12, 30, 42, 48, 72, 90, 108, 132, 138, 150, 168, 180 |
| 14 | not minimal | 19636011281690651 | 0, 2, 8, 12, 18, 26, 30, 38, 42, 50, 56, 60, 66, 68 |
| 15 | not minimal | 5348080416833681 | 0, 18, 30, 48, 60, 66, 90, 108, 126, 150, 156, 168, 186, 198, 216 |
| 16 | not minimal | 19636011281690647 | 0, 4, 6, 12, 16, 22, 30, 34, 42, 46, 54, 60, 64, 70, 72, 76 |
| 18 | not minimal | 49549273441123 | 0, 4, 24, 40, 46, 54, 58, 66, 70, 84, 88, 96, 100, 108, 114, 130, 150, 154 |
| 20 | not minimal | 11785542108641839 | 0, 4, 10, 18, 24, 30, 52, 70, 72, 84, 118, 130, 132, 150, 172, 178, 184, 192, 198, 202 |
| 22 | not minimal | 18620445306703861 | 0, 10, 36, 46, 66, 76, 82, 96, 102, 130, 136, 162, 168, 196, 202, 216, 222, 232, 252, 262, 288, 298 |
| 24 | not minimal | 22930603692243271 | 0, 70, 76, 118, 136, 156, 160, 178, 202, 222, 238, 250, 378, 390, 406, 426, 450, 468, 472, 492, 510, 552, 558, 628 |
Additionally, community contributor J. Wroblewski found a minimal-diameter solution for with starting prime and offsets 0, 12, 30, 42, 60, 72, 78, 102, 120, 138, 162, 168, 180, 198, 210, 228, 240. A separate minimal 17-tuple was also found in the Stop@Home BOINC project in April 2017: with offsets 0, 42, 60, 96, 102, 186, 210, 240, 246, 252, 282, 306, 390, 396, 432, 450, 492.[12]
Methods

Prime Matrix Construction
The SPT application is computationally demanding by design. Each work unit requires approximately 1.3 GB of RAM, nearly all of which is consumed during the construction of a matrix of prime numbers.[13] This prime matrix is built using primesieve, an open-source C/C++ library and command-line program by Kim Walisch that generates prime numbers using the segmented Sieve of Eratosthenes with wheel factorization.[14] The library is highly cache-efficient, detects the CPU's L1 and L2 cache sizes, and allocates its data structures accordingly, making it well-suited to the large prime searches required by SPT.[15]
The specific version of primesieve used in SPT is pinned to a particular commit: commit 2b2c4a5.
Search Algorithm
Once the prime matrix is constructed, the actual tuple-search code operates on only 5 to 6 MB of memory and does not grow during execution.[13] The search algorithm was originally written by Tomáš Brada (available at his GitHub repository) and subsequently adapted for the SPT BOINC project by Demis (at the SPT GitHub repository).[13]
Memory Growth Over Time
As the project searches progressively larger prime numbers, the prime matrix must grow to cover the expanded search range. When SPT first launched, the matrix for a single task was approximately 620 MB; it has since grown to 1.3 GB and will continue to grow slowly as the numbers under investigation become larger.[13]
Work Unit Timing
A single work unit takes on average between 45 minutes and 1.5 hours to complete, though significant variation exists. Some particularly fast "cruncher" machines complete tasks in as little as 20 minutes, while slower or memory-constrained machines may take up to 240 minutes.[13] The project server allows up to 6 days for a task to be returned before it is reassigned to another volunteer.[13]
Resource Management Recommendations
Because SPT tasks are memory-intensive, the project FAQ provides guidance for users on setting appropriate resource limits. For a machine with 4 GB of RAM and 4 logical cores (2 physical with hyperthreading), one core should be reserved for the operating system, leaving 3 cores available. However, running 3 simultaneous SPT tasks would require of RAM, which may force the system to use swap memory and cause severe slowdown. The project therefore recommends limiting concurrent tasks to 2 on such hardware, corresponding to a 50% CPU limit in BOINC Manager.[13]
Advanced users may configure a local app_config.xml file placed in the project directory (/projects/boinc.termit.me_adsl/) to cap the number of simultaneously running tasks:
<syntaxhighlight lang="xml"> <app_config>
<project_max_concurrent>8</project_max_concurrent>
</app_config> </syntaxhighlight>
Users should set the number to reflect their available RAM, where each task requires approximately 1.3 GB.[13]
Project Team
SPT is maintained by a small international team of mathematicians and developers:[16]
- Demis - developer who configured the SPT BOINC server and adapted the application code for the project
- Natalia Makarova - project scientist and originator of the mathematical problem underlying SPT; author of the problem formulation on primepuzzles.net
- Alex Belyshev - project co-maintainer
- Tomáš Brada - author of the original symmetric prime tuple search code used as the basis for SPT, and former operator of the T. Brada Experimental Grid
Scientific Results
All results produced by the SPT project are made publicly available through the Prime Tuple Database, hosted on the T. Brada Experimental Grid website.[17] Raw result archives are also downloadable directly from the project server in several formats:
The project's findings contribute to OEIS sequences related to prime k-tuples, including A081235 (minimal symmetric tuples) and A055380 (diameter of k-tuples).[18]
Participating
To join the SPT project, download and install the BOINC client and attach to the project using the URL:
The project supports Windows and Linux operating systems, and tasks run on CPU only (no GPU support). Given the 1.3 GB RAM requirement per task, users with limited memory are encouraged to consult the project FAQ before configuring their BOINC resource limits.
Project Statistics
As of 23 May 2026, the SPT server status reports 192 registered users with credit, 1,026 registered hosts, and the server infrastructure (download server, upload server, scheduler, feeder, transitioner, and file deleter) all running normally.[19] The project is currently in a period of low activity with no tasks in progress as of the date of this writing.
See Also
- Prime k-tuple
- Sieve of Eratosthenes
- Volunteer computing
- BOINC
- T.Brada Experimental Grid
- PrimeGrid
- Gerasim@Home
References
- ↑ News Archive - T.Brada Experimental Grid. Retrieved 2026-05-23}.
- ↑ T. Brada Experimental Grid - BOINC Synergy. Retrieved 2026-05-23}.
- ↑ (2023-08-07}).Symmetric Prime Tuples (SPT Test Project aka SPT@home) - HardForum. Retrieved 2026-05-23}.
- ↑ About SPT. boinc.termit.me. Retrieved 2026-05-23}.
- ↑ About SPT. boinc.termit.me. Retrieved 2026-05-23}.
- ↑ About SPT. boinc.termit.me. Retrieved 2026-05-23}.
- ↑ Problem 62. Symmetric k-tuples of consecutive primes. primepuzzles.net. Retrieved 2026-05-23}.
- ↑ Prime k-tuple. Wikipedia. Retrieved 2026-05-23}.
- ↑ OEIS A055380. The OEIS Foundation. Retrieved 2026-05-23}.
- ↑ Problem 62. Symmetric k-tuples of consecutive primes. primepuzzles.net. Retrieved 2026-05-23}.
- ↑ Problem 62. Symmetric k-tuples of consecutive primes. primepuzzles.net. Retrieved 2026-05-23}.
- ↑ Problem 62. Symmetric k-tuples of consecutive primes. primepuzzles.net. Retrieved 2026-05-23}.
- ↑ 13.0 13.1 13.2 13.3 13.4 13.5 13.6 13.7 FAQ SPT. boinc.termit.me. Retrieved 2026-05-23}.
- ↑ primesieve README. GitHub. Retrieved 2026-05-23}.
- ↑ primesieve README. GitHub. Retrieved 2026-05-23}.
- ↑ About SPT. boinc.termit.me. Retrieved 2026-05-23}.
- ↑ About SPT. boinc.termit.me. Retrieved 2026-05-23}.
- ↑ OEIS A081235. The OEIS Foundation. Retrieved 2026-05-23}.
- ↑ Project status - SPT. boinc.termit.me. Retrieved 2026-05-23}.
External Links
- SPT Official Website
- SPT FAQ
- SPT Server Status
- Prime Tuple Database
- Problem 62 - Symmetric k-tuples of consecutive primes (primepuzzles.net)
- OEIS A081235 - Minimal symmetric prime tuples
- OEIS A055380 - Diameter of prime k-tuples
- SPT source code (GitHub)
- Original T. Brada source code (GitHub)
- primesieve library (GitHub)
