SPT: Difference between revisions

From BOINC Projects
Jump to navigation Jump to search
Al Piskun (talk | contribs)
Methods: add links
Al Piskun (talk | contribs)
update and add infobox
Line 1: Line 1:
{{Infobox software
| name                = SPT (Symmetric Prime Tuples)
| logo                = Spt.jpg
| logo caption        = SPT project logo
| status              = Active
| category            = Mathematics / Number Theory
| compute              = CPU
| developer            = Demis
| author              = Natalia Makarova
| sponsor              = Natalia Makarova, Alex Belyshev, Tomáš Brada
| maintainer          = Natalia Makarova, Alex Belyshev, Tomáš Brada
| released            = 2023
| programming language = C, C++
| operating system    = Windows, Linux
| stats as of          = 23 May 2026
| active users        = 0
| total users          = 192
| active hosts        = 0
| total hosts          = 1026
| website              = {{URL|https://boinc.termit.me/adsl/}}
}}
[[File:{{#setmainimage:Spt.jpg}}|alt=logo image|center|frameless]]
[[File:{{#setmainimage:Spt.jpg}}|alt=logo image|center|frameless]]
[https://boinc.termit.me/adsl/ '''''SPT'''''] is a BOINC based '''''[[wikipedia:Volunteer computing|volunteer computing]]''''' project that needs your help to research Symmetric Prime Tuples.
 
[https://boinc.termit.me/adsl/ '''''SPT'''''] is a [[wikipedia:BOINC|BOINC]]-based '''''[[wikipedia:Volunteer computing|volunteer computing]]''''' project dedicated to researching '''Symmetric Prime Tuples''', a topic in [[wikipedia:Number theory|number theory]]. Volunteers donate idle CPU time on their personal computers to help search for symmetric [[wikipedia:Prime k-tuple|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.<ref>{{cite web |url=https://boinc.tbrada.eu/old_news.php |title=News Archive - T.Brada Experimental Grid |access-date=2026-05-23}}</ref> 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. <ref>{{cite web |url=https://boincsynergy.ca/forum/viewtopic.php?p=28 |title=T. Brada Experimental Grid - BOINC Synergy |access-date=2026-05-23}}</ref> The TBEG Symmetric Prime Tuples subproject, available for both Linux and Windows, ran from approximately late 2019 until the project's closure in 2022.<ref>{{cite web |url=https://hardforum.com/threads/symmetric-prime-tuples-spt-test-project-aka-spt-home.2029790/ |title=Symmetric Prime Tuples (SPT Test Project aka SPT@home) - HardForum |date=2023-08-07 |access-date=2026-05-23}}</ref>
 
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 <code>boinc.termit.me/adsl/</code> and was configured by a developer known as Demis, who adapted the original source code from Tomáš Brada's repository for the new platform.<ref>{{cite web |url=https://boinc.termit.me/adsl/about.php |title=About SPT |publisher=boinc.termit.me |access-date=2026-05-23}}</ref> A parallel branch of the same research also runs within '''[[wikipedia:Gerasim@Home|Gerasim@Home]]''' under the application name "Get Symmetrical Tuples", which employs a different algorithm targeting only odd-length tuples.<ref>{{cite web |url=https://boinc.termit.me/adsl/about.php |title=About SPT |publisher=boinc.termit.me |access-date=2026-05-23}}</ref>


== Goal ==
== Goal ==
To continue the work of the '''''[https://boinc.tbrada.eu/ T. Brada Experimental Grid project].'''''


== Methods ==
The primary goal of SPT is to continue the work of the [https://boinc.tbrada.eu/ 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 [https://boinc.tbrada.eu/spt/explore.php Prime Tuple Database].<ref>{{cite web |url=https://boinc.termit.me/adsl/about.php |title=About SPT |publisher=boinc.termit.me |access-date=2026-05-23}}</ref>
Currently the SPT application takes up about 1.3 GB of RAM in the computer memory. 99% of this 1.3 GB is taken up by constructing a matrix of prime numbers.
 
== Mathematical Background ==
 
The SPT application is based on '''[http://www.primepuzzles.net/problems/prob_062.htm Problem 62. Symmetric k-tuples of consecutive primes]''', a mathematical puzzle presented by Natalia Makarova.<ref>{{cite web |url=http://www.primepuzzles.net/problems/prob_062.htm |title=Problem 62. Symmetric k-tuples of consecutive primes |publisher=primepuzzles.net |access-date=2026-05-23}}</ref>
 
=== Definition 1: Prime k-tuple ===


The matrix of prime numbers is made by the code primesieve. Specific code snippet: '''''https://github.com/kimwalisch/primesieve/tree/2b2c4a5c62f0cd9dfd9f56cca580ea47fa84dc2d'''''
A [[wikipedia:Prime k-tuple|prime k-tuple]] is a finite collection of values


Original sources from Tomash Brada: '''''https://github.com/tomasbrod/tbboinc/tree/primes/symprtu'''''
:<math>(p + a_1,\; p + a_2,\; p + a_3,\; \ldots,\; p + a_k)</math>


Adapted by Demis for SPT project: '''''https://github.com/DemIS-1/spt'''''
where <math>p,\; p + a_1,\; p + a_2,\; \ldots,\; p + a_k</math> are prime numbers, and <math>(a_1, a_2, a_3, \ldots, a_k)</math> form a pattern. Typically the first value in the pattern is 0 and the remaining values are distinct positive even numbers.<ref>{{cite web |url=https://en.wikipedia.org/wiki/Prime_k-tuple |title=Prime k-tuple |publisher=Wikipedia |access-date=2026-05-23}}</ref>


The search code itself (in SPT), according to the constructed matrix, takes up only 5-6MB in memory. And it doesn't increase.
In SPT, we further restrict ourselves to the case where <math>p + a_1,\; p + a_2,\; \ldots,\; p + a_k</math> are '''consecutive''' primes (i.e., there are no primes between any two adjacent elements of the tuple).


When the project started, the memory size for the matrix of one task was approximately 620MB. The memory size is now 1.3 GB and will slowly increase. The longer the numbers, the more memory they require in the primesieve matrix. One task takes, on average, from 45 minutes to 1.5 hours, although there are exceptions to this rule. There are cruncher computers that complete a work unit in 20 minutes and also computers that complete in 240 minutes.[https://boinc.termit.me/adsl/faq-en.php]
=== Definition 2: Symmetric k-tuple (even k) ===


The SPT application is based on '''''[http://www.primepuzzles.net/problems/prob_062.htm Problem 62. Symmetric k-tuples of consecutive primes]''''' presented by Natalia Makarova.
For even ''k'', a k-tuple


'''''Definition 1'''''
:<math>\bigl(p+a_1,\; p+a_2,\; \ldots,\; p+a_{k/2},\; p+a_{k/2+1},\; \ldots,\; p+a_{k-1},\; p+a_k\bigr)</math>


A prime k-tuple is a finite collection of values (p + a1, p + a2, p + a3, …, p + ak),
is called '''symmetric''' if the following condition is satisfied:


where p, p + a1, p + a2, p + a3, …, p + ak  are prime numbers, (a1, a2, a3, …, ak) are pattern. Typically the first value in the pattern is 0 and the rest are distinct positive even numbers. [https://en.wikipedia.org/wiki/Prime_k-tuple]
:<math>a_1 + a_k \;=\; a_2 + a_{k-1} \;=\; a_3 + a_{k-2} \;=\; \cdots \;=\; a_{k/2} + a_{k/2+1}</math>


We consider the k-tuple, where p + a1, p + a2, p + a3, ..., p + ak are consecutive primes.
In other words, the offsets mirror each other around the centre of the tuple.


'''''Definition 2'''''
'''Example: symmetric 8-tuple'''


k-tuple (p + a1, p + a2, p + a3, ..., p + a [k / 2], p + a [k / 2+1], ..., p + a [k-2], p + a [k-1], p + ak) for k even, is called symmetric, if the following condition is satisfied:
:<math>(17+0,\; 17+2,\; 17+6,\; 17+12,\; 17+14,\; 17+20,\; 17+24,\; 17+26)</math>


a1 + ak = a2 + a[k-1] =  a3 + a[k-2] = … = a[k/2] + a[k/2+1]
Written in shorthand as:


Example
: <code>17:  0, 2, 6, 12, 14, 20, 24, 26</code>


symmetric 8-tuple
=== Definition 3: Symmetric k-tuple (odd k) ===


(17 + 0, 17 + 2, 17 + 6, 17 + 12, 17 + 14, 17 + 20, 17 + 24, 17 + 26)
For odd ''k'', a k-tuple is called '''symmetric''' if:


Shortened we write this:
:<math>a_1 + a_k \;=\; a_2 + a_{k-1} \;=\; \cdots \;=\; a_{(k-1)/2} + a_{(k-1)/2+2} \;=\; 2\,a_{(k-1)/2+1}</math>


17: 0, 2, 6, 12, 14, 20, 24, 26
The middle element <math>a_{(k-1)/2+1}</math> is exactly the average of the flanking pair, making it the literal centre of symmetry.


'''''Definition 3'''''
'''Example: symmetric 5-tuple'''


k-tuple (p + a1, p + a2, p + a3, ..., p + a [(k-1) / 2], p + a [(k-1) / 2 + 1], p + a [(k-1) / 2 + 2], ..., p + a [k-2], p + a [k-1], p + ak) for k odd called symmetric, if the following condition is satisfied:
: <code>18713:  0, 6, 18, 30, 36</code>


a1 + ak = a2 + a[k-1] = a3 +a [k-2] == a[(k-1)/2] + a[(k-1)/2+2] = 2 a[(k-1)/2+1]
=== Definition 4: Diameter ===


Example
The '''diameter''' ''d'' of a k-tuple is the difference between its largest and smallest offsets.<ref>{{cite web |url=http://oeis.org/A055380 |title=OEIS A055380 |publisher=The OEIS Foundation |access-date=2026-05-23}}</ref>


symmetric 5-tuple
:<math>d \;=\; a_k - a_1</math>


18713: 0, 6, 18, 30, 36
For the 8-tuple example above, <math>d = 26 - 0 = 26</math>.


(See in [2])
Known solutions with minimal diameter and minimal starting prime ''p'' for <math>k = 2, 4, 6, 8</math> are catalogued in [[wikipedia:OEIS|OEIS]] sequence [http://oeis.org/A081235 A081235].


'''''Definition 4'''''
=== Open Questions ===
[[File:BOINC logo.png|right|frameless|150x150px|BOINC, the Berkeley Open Infrastructure for Network Computing, is the platform that powers SPT.]]
The project is working to answer two main questions posed by Makarova:<ref>{{cite web |url=http://www.primepuzzles.net/problems/prob_062.htm |title=Problem 62. Symmetric k-tuples of consecutive primes |publisher=primepuzzles.net |access-date=2026-05-23}}</ref>


The diameter d of k-tuple is the difference of its largest and smallest elements.[http://oeis.org/A055380]
# Find solutions with a minimal diameter and minimal starting prime ''p'' for <math>10 < k < 17</math>, and for <math>k = 18, 20, 22, 24</math>.
# Find solutions (minimal or otherwise) for the remaining even and odd values of ''k''.


Example
As of the project's current knowledge, no solutions have been found for <math>k = 17, 19, 21, 23</math>.


8-tuple
== Known Solutions ==


17: 0, 2, 6, 12, 14, 20, 24, 26
The table below summarises the best known solutions for various values of ''k'', as published on the project's reference page.<ref>{{cite web |url=http://www.primepuzzles.net/problems/prob_062.htm |title=Problem 62. Symmetric k-tuples of consecutive primes |publisher=primepuzzles.net |access-date=2026-05-23}}</ref> 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.


It has a diameter d = 26.
{| class="wikitable"
! 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
|}


Known solutions with a minimal diameter and a minimal value of p for k = 2, 4, 6, 8 see in [http://oeis.org/A081235]
Additionally, community contributor J. Wroblewski found a minimal-diameter solution for <math>k = 17</math> with starting prime <math>p = 258406392900394343851</math> 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: <math>p = 159067808851610411</math> with offsets 0, 42, 60, 96, 102, 186, 210, 240, 246, 252, 282, 306, 390, 396, 432, 450, 492.<ref>{{cite web |url=http://www.primepuzzles.net/problems/prob_062.htm |title=Problem 62. Symmetric k-tuples of consecutive primes |publisher=primepuzzles.net |access-date=2026-05-23}}</ref>


Further,
== Methods ==


k=5 ( d, p minimal)
[[File:Sieve of Eratosthenes animation.gif|thumb|right|220px|The [[wikipedia:Sieve of Eratosthenes|Sieve of Eratosthenes]], the classical prime-finding algorithm that underlies the modern primesieve library used by SPT.]]


18713: 0, 6, 18, 30, 36
=== Prime Matrix Construction ===


k=7 (d, p minimal)
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.<ref name="faq">{{cite web |url=https://boinc.termit.me/adsl/faq-en.php |title=FAQ SPT |publisher=boinc.termit.me |access-date=2026-05-23}}</ref> This prime matrix is built using [https://github.com/kimwalisch/primesieve '''primesieve'''], an open-source C/C++ library and command-line program by Kim Walisch that generates prime numbers using the segmented [[wikipedia:Sieve of Eratosthenes|Sieve of Eratosthenes]] with wheel factorization.<ref>{{cite web |url=https://github.com/kimwalisch/primesieve/blob/master/README.md |title=primesieve README |publisher=GitHub |access-date=2026-05-23}}</ref> 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.<ref>{{cite web |url=https://github.com/kimwalisch/primesieve/blob/master/README.md |title=primesieve README |publisher=GitHub |access-date=2026-05-23}}</ref>


12003179: 0, 12, 18, 30, 42, 48, 60
The specific version of primesieve used in SPT is pinned to a particular commit: [https://github.com/kimwalisch/primesieve/tree/2b2c4a5c62f0cd9dfd9f56cca580ea47fa84dc2d commit 2b2c4a5].


k=9 (d, p minimal)
=== Search Algorithm ===


1480028129: 0, 12, 24, 30, 42, 54, 60, 72, 84
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.<ref name="faq" /> The search algorithm was originally written by Tomáš Brada (available at [https://github.com/tomasbrod/tbboinc/tree/primes/symprtu his GitHub repository]) and subsequently adapted for the SPT BOINC project by Demis (at [https://github.com/DemIS-1/spt the SPT GitHub repository]).<ref name="faq" />


k=10 (d, p minimal)
=== Memory Growth Over Time ===


13: 0, 4, 6, 10, 16, 18, 24, 28, 30, 34
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.<ref name="faq" />


k=11 (possible minimal ?)
=== Work Unit Timing ===


660287401247651: 0, 6, 30, 42, 60, 66, 72, 90, 102, 126, 132
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.<ref name="faq" /> The project server allows up to '''6 days''' for a task to be returned before it is reassigned to another volunteer.<ref name="faq" />


k=12 (not minimal)
=== Resource Management Recommendations ===


137: 0, 2, 12, 14, 20, 26, 30, 36, 42, 44, 54, 56
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 <math>3 \times 1.3\,\text{GB} = 3.9\,\text{GB}</math> 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.<ref name="faq" />


k=13 (not minimal)
Advanced users may configure a local <code>app_config.xml</code> file placed in the project directory (<code>/projects/boinc.termit.me_adsl/</code>) to cap the number of simultaneously running tasks:


5348080416833699: 0, 12, 30, 42, 48, 72, 90, 108, 132, 138, 150, 168, 180
<syntaxhighlight lang="xml">
<app_config>
    <project_max_concurrent>8</project_max_concurrent>
</app_config>
</syntaxhighlight>


k=14 (not minimal)
Users should set the number to reflect their available RAM, where each task requires approximately 1.3 GB.<ref name="faq" />


19636011281690651: 0, 2, 8, 12, 18, 26, 30, 38, 42, 50, 56, 60, 66, 68
== Project Team ==


k=15 (not minimal)
SPT is maintained by a small international team of mathematicians and developers:<ref>{{cite web |url=https://boinc.termit.me/adsl/about.php |title=About SPT |publisher=boinc.termit.me |access-date=2026-05-23}}</ref>


5348080416833681: 0, 18, 30, 48, 60, 66, 90, 108, 126, 150, 156, 168, 186, 198, 216
* '''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


k=16 (not minimal)
== Scientific Results ==


19636011281690647: 0, 4, 6, 12, 16, 22, 30, 34, 42, 46, 54, 60, 64, 70, 72, 76
All results produced by the SPT project are made publicly available through the [https://boinc.tbrada.eu/spt/explore.php Prime Tuple Database], hosted on the T. Brada Experimental Grid website.<ref>{{cite web |url=https://boinc.termit.me/adsl/about.php |title=About SPT |publisher=boinc.termit.me |access-date=2026-05-23}}</ref> Raw result archives are also downloadable directly from the project server in several formats:


k=18 (not minimal)
* [https://boinc.termit.me/adsl/spt-archive.tar.gz Results as-is from the table]
* [https://boinc.termit.me/adsl/spt-table-converted_ofs.tar.gz Results with offsets converted from ofs to dn]
* [https://boinc.termit.me/adsl/spt-table-converted.tar.gz Results converted to an]


49549273441123: 0, 4, 24, 40, 46, 54, 58, 66, 70, 84, 88, 96, 100, 108, 114, 130, 150, 154
The project's findings contribute to [[wikipedia:OEIS|OEIS]] sequences related to prime k-tuples, including [http://oeis.org/A081235 A081235] (minimal symmetric tuples) and [http://oeis.org/A055380 A055380] (diameter of k-tuples).<ref>{{cite web |url=http://oeis.org/A081235 |title=OEIS A081235 |publisher=The OEIS Foundation |access-date=2026-05-23}}</ref>


k=20 (not minimal)
== Participating ==


11785542108641839: 0, 4, 10, 18, 24, 30, 52, 70, 72, 84, 118, 130, 132, 150, 172, 178, 184, 192, 198, 202
To join the SPT project, download and install the [https://boinc.berkeley.edu/ BOINC client] and attach to the project using the URL:


k=22 (not minimal)
: <code>https://boinc.termit.me/adsl/</code>


18620445306703861: 0, 10, 36, 46, 66, 76, 82, 96, 102, 130, 136, 162, 168, 196, 202, 216, 222, 232, 252, 262, 288, 298
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 [https://boinc.termit.me/adsl/faq-en.php project FAQ] before configuring their BOINC resource limits.


k=24 (not minimal)
== Project Statistics ==


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
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.<ref>{{cite web |url=https://boinc.termit.me/adsl/server_status.php |title=Project status - SPT |publisher=boinc.termit.me |access-date=2026-05-23}}</ref> The project is currently in a period of low activity with no tasks in progress as of the date of this writing.


(See [3])
== See Also ==


For k = 17, 19, 21, 23 solutions no found.  
* [[wikipedia:Prime k-tuple|Prime k-tuple]]
* [[wikipedia:Sieve of Eratosthenes|Sieve of Eratosthenes]]
* [[wikipedia:Volunteer computing|Volunteer computing]]
* [[wikipedia:BOINC|BOINC]]
* [[:T.Brada Experimental Grid]]
* [[:PrimeGrid]]
* [[:Gerasim@Home]]


'''''Questions'''''
== References ==


1. Find solutions with a minimal diameter and a minimal value of p for 10 < k < 17, k = 18, 20, 22, 24.
{{Reflist}}


2. Find solutions for the remaining k, minimal or not minimal.
== External Links ==


== Project team ==
* [https://boinc.termit.me/adsl/ SPT Official Website]
Demis. Natalia Makarova. Alex Belyshev. Tomáš Brada.
* [https://boinc.termit.me/adsl/faq-en.php SPT FAQ]
* [https://boinc.termit.me/adsl/server_status.php SPT Server Status]
* [https://boinc.tbrada.eu/spt/explore.php Prime Tuple Database]
* [http://www.primepuzzles.net/problems/prob_062.htm Problem 62 - Symmetric k-tuples of consecutive primes (primepuzzles.net)]
* [http://oeis.org/A081235 OEIS A081235 - Minimal symmetric prime tuples]
* [http://oeis.org/A055380 OEIS A055380 - Diameter of prime k-tuples]
* [https://github.com/DemIS-1/spt SPT source code (GitHub)]
* [https://github.com/tomasbrod/tbboinc/tree/primes/symprtu Original T. Brada source code (GitHub)]
* [https://github.com/kimwalisch/primesieve primesieve library (GitHub)]


== Scientific results ==
[[Category:BOINC projects]]
Results of this project are available in the '''''[https://boinc.tbrada.eu/spt/explore.php Prime Tuple Database].'''''
[[Category:Mathematics]]
[[Category:Number theory]]
[[Category:Volunteer computing]]
[[Category:Prime numbers]]

Revision as of 11:21, 23 May 2026




SPT (Symmetric Prime Tuples)
Project
StatusActive
CategoryMathematics / Number Theory
ComputeCPU
Development
DeveloperDemis
AuthorNatalia Makarova
SponsorNatalia Makarova, Alex Belyshev, Tomáš Brada
MaintainerNatalia Makarova, Alex Belyshev, Tomáš Brada
Initial release2023
Software
Written inC, C++
Operating systemWindows, Linux
BOINC statistics
Stats as of23 May 2026
Active users0
Total users192
Active hosts0
Total hosts1,026
Metadata
Websitehttps://boinc.termit.me/adsl/

[[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

(p+a1,p+a2,p+a3,,p+ak)

where p,p+a1,p+a2,,p+ak are prime numbers, and (a1,a2,a3,,ak) 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 p+a1,p+a2,,p+ak 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

(p+a1,p+a2,,p+ak/2,p+ak/2+1,,p+ak1,p+ak)

is called symmetric if the following condition is satisfied:

a1+ak=a2+ak1=a3+ak2==ak/2+ak/2+1

In other words, the offsets mirror each other around the centre of the tuple.

Example: symmetric 8-tuple

(17+0,17+2,17+6,17+12,17+14,17+20,17+24,17+26)

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:

a1+ak=a2+ak1==a(k1)/2+a(k1)/2+2=2a(k1)/2+1

The middle element a(k1)/2+1 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]

d=aka1

For the 8-tuple example above, d=260=26.

Known solutions with minimal diameter and minimal starting prime p for k=2,4,6,8 are catalogued in OEIS sequence A081235.

Open Questions

BOINC, the Berkeley Open Infrastructure for Network Computing, is the platform that powers SPT.
BOINC, the Berkeley Open Infrastructure for Network Computing, is the platform that powers SPT.

The project is working to answer two main questions posed by Makarova:[10]

  1. Find solutions with a minimal diameter and minimal starting prime p for 10<k<17, and for k=18,20,22,24.
  2. 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 k=17,19,21,23.

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 k=17 with starting prime p=258406392900394343851 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: p=159067808851610411 with offsets 0, 42, 60, 96, 102, 186, 210, 240, 246, 252, 282, 306, 390, 396, 432, 450, 492.[12]

Methods

The Sieve of Eratosthenes, the classical prime-finding algorithm that underlies the modern primesieve library used by SPT.

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 3×1.3GB=3.9GB 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:

https://boinc.termit.me/adsl/

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

References

  1. News Archive - T.Brada Experimental Grid. Retrieved 2026-05-23}.
  2. T. Brada Experimental Grid - BOINC Synergy. Retrieved 2026-05-23}.
  3. (2023-08-07}).Symmetric Prime Tuples (SPT Test Project aka SPT@home) - HardForum. Retrieved 2026-05-23}.
  4. About SPT. boinc.termit.me. Retrieved 2026-05-23}.
  5. About SPT. boinc.termit.me. Retrieved 2026-05-23}.
  6. About SPT. boinc.termit.me. Retrieved 2026-05-23}.
  7. Problem 62. Symmetric k-tuples of consecutive primes. primepuzzles.net. Retrieved 2026-05-23}.
  8. Prime k-tuple. Wikipedia. Retrieved 2026-05-23}.
  9. OEIS A055380. The OEIS Foundation. Retrieved 2026-05-23}.
  10. Problem 62. Symmetric k-tuples of consecutive primes. primepuzzles.net. Retrieved 2026-05-23}.
  11. Problem 62. Symmetric k-tuples of consecutive primes. primepuzzles.net. Retrieved 2026-05-23}.
  12. Problem 62. Symmetric k-tuples of consecutive primes. primepuzzles.net. Retrieved 2026-05-23}.
  13. 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}.
  14. primesieve README. GitHub. Retrieved 2026-05-23}.
  15. primesieve README. GitHub. Retrieved 2026-05-23}.
  16. About SPT. boinc.termit.me. Retrieved 2026-05-23}.
  17. About SPT. boinc.termit.me. Retrieved 2026-05-23}.
  18. OEIS A081235. The OEIS Foundation. Retrieved 2026-05-23}.
  19. Project status - SPT. boinc.termit.me. Retrieved 2026-05-23}.

External Links