Methods and references

About the search

GMNet coordinates computation. PrMers performs the GPU arithmetic and writes the result JSON files.

Definition

The GM / GQ conjugate pair

For every odd prime exponent p, GMNet tracks both conjugate factors of the Gaussian Mersenne norm:

GMp = 2p - (2/p)2(p+1)/2 + 1
GQp = 2p + (2/p)2(p+1)/2 + 1

Work and results carry an explicit target_family value: GM, GQ, or BOTH. PrMers reuses the exact GPU lift to 2^(4p)-1 and classifies every reported divisor on the server.

Algorithms

Five complementary methods

GPU Trial Factoring

GMTF sieves factors in a bit range. A BOTH assignment shares the exponent work and reports every GM and GQ divisor found.

P-1

Fast search for factors whose q-1 is smooth. Bounds increase progressively.

ECM

Searches factors using multiple Montgomery curves after the P-1 tiers.

PRP

Screens candidates as probable primes and requires an independent matching run.

Exact Proth

Runs the deterministic Proth primality test for positive candidates.

Integrity

Verification workflow

  • Every submitted GM or GQ factor is checked by exact modular division on the server.
  • GPU TF coverage records the family and tested bit interval, including no-factor completion.
  • No-factor results advance only the assigned algorithm tier.
  • PRP and exact tests are coordinated across distinct contributors.
  • Known historical primes are stored separately from GMNet discoveries.

Work profiles

Screening and mixed campaigns

Deep P-1 Stage 1

Uses a larger B1 with B2 equal to B1. Stage 2 is disabled, making it suitable for fast screening across large ranges.

Mixed P-1 plus ECM factoring

Runs P-1 Stage 1 and Stage 2 first, then continues with ECM only when P-1 found no factor, and stops after factoring without running Proth.

GMRelay can keep either profile filled automatically while PrMers writes and GMRelay submits the normal result JSON files.

PrMers integration

Native worktodo formats

GMTF=p,from_bits,to_bits[,sieve_prime[,chunk_candidates[,target_family]]]
GMPMINUS1=p,B1,B2[,base[,sieve_limit[,chunk_bits]]]
GMECM=p,B1,B2,curves[,sigma[,sieve_limit[,chunk_bits]]]
GMCHAIN=p,pm1_B1,pm1_B2,ecm_B1,ecm_B2,curves[,sieve_limit[,chunk_bits]]
GMPRP=p[,sieve_limit]
GMPROTH=p[,sieve_limit]

Open the complete installation and command guide.

External sources

Project references