# Mersenne Primes

Prime numbers are awesome! If you are not intrigued by prime numbers and how important they are in all of mathematics, you are missing out. However, this post is about a specific *type* of prime number, Mersenne primes. Mersenne primes are the type of prime numbers that you search for when you are trying to find a new world record for the largest known prime number. The reason we search for Mersenne primes and not general prime numbers is because there are faster algorithms for finding Mersenne primes compared to algorithms for general prime numbers. The Lucas-Lehmer test is the most popular algorithm used for searching for large Mersenne prime numbers.

So why am I searching for the next new world record for the largest known prime number? Two reasons:

- Math and being part history by finding the new world record largest prime number
- Money. See Electronic Frontier Foundation for more details

The odds of finding a new world record largest prime number are low but there is a collaborated search for them on the internet known as GIMPS, which stands for the Great Internet Mersenne Prime Search.

To give you an idea of how large the prime numbers we are searching for are, we will compare the size of these primes numbers to the approximate amount of atoms in the Universe. The number of atoms in the observable Universe has been stated to be approximately 10^{80} atoms. If we were to write this down on paper, that would be the number 1 followed by 80 zeros. Which seems like a big number but the primes that will win you the prize in the above contest is a prime number with 100 million decimal digits. If you were to write down this number on paper starting with a 1, like before, we would then need to follow it with 100 million other numbers, not just 80 zeros. The difference is enormous. This just goes to show how large these prime numbers are that we are searching for. They are much bigger than the approximated number of atoms in the observable Universe!

In order to search for these large numbers, obviously you need to be running algorithms that search for them such as the Lucas-Lehmer test mentioned above. On top of that, these types of algorithms are much faster on GPUs than your standard CPU. Below is a parts list of the hardware for the computer I built to search for Mersenne primes.

## Hardware Parts List

```
* HyperX Fury 16GB 2666MHz DDR4 CL 16 DIMM Black XMP Desktop Memory Single Stick HX426C16FB3/16
* ROSEWILL Gaming 80 Plus Gold 1600W Power Supply/PSU: HERCULES-1600S
* Intel Core i5-9400F Desktop Processor 6 Cores 4.1 GHz Turbo Without Graphics
* Plugable USB 2.0 Wireless N 802.11n 150 Mbps Nano WiFi Network Adapter (Realtek RTL8188EUS Chipset)
* Kingston 120GB A400 SATA 3 2.5" Internal SSD SA400S37/120G
* MSI Pro Series Intel Coffee Lake H310 LGA 1151 BTC ETH LTC Crypto Mining ATX Motherboard (H310-F PRO)
* Four - XFX AMD Radeon VII 16GB HBM2, 1750 MHz Boost, 1801 MHz Peak, 3xDP 1xHDMI Pci-E 3.0
* Ubit 6 Pack Latest PCI-E Riser Express Cable 16X to 1X (6pin / MOLEX/SATA) with Led Graphics Extension Ethereum ETH Mining Powered Riser Adapter Card+60cm USB 3.0 Cable
```

## Software

```
* Ubuntu 20.04.1 LTS Server
* [gpuowl](https://github.com/preda/gpuowl)
```