# Prime95

Prime95 est une application freeware écrite par George Woltman qui est utilisée par GIMPS, un projet de calcul distribué destiné à la recherche de nouveaux nombres premiers de Mersenne. Plus précisément, Prime95 se réfère aux versions Windows et Mac OS X du logiciel.
MPrime est la version de l'interface en ligne de commande Linux de Prime95, pour être exécutée dans un terminal ou dans une fenêtre d'émulateur de terminal en tant que client shell à distance. Elle est identique à Prime95, il lui manque juste une interface graphique.
Bien que le code source du logiciel GIMPS soit en partie accessible au public, il n'est techniquement pas un logiciel libre étant donné que les utilisateurs l'utilisant doivent se conformer aux conditions de distribution du projet si le logiciel est utilisé pour découvrir un nombre premier avec au moins 100 000 000 chiffres et gagne 150 000 $ de récompense offerte par l'EFF. Ainsi, un utilisateur qui utilise Prime95 pour découvrir un nombre premier ne serait pas en mesure de réclamer le prix directement (50 000 $ iront à la personne qui trouve le nombre premier). Un logiciel libre ne poserait pas cette restriction.
Le code qui est utilisé pour générer des sommes de contrôle n'est pas disponible au public pour des raisons de sécurité. L'assembleur a été réécrit dans la version actuelle stable 28, entraînant par ailleurs une augmentation de performance énorme.
Prime95 ne supporte actuellement pas de GPU, bien que Woltman ait indiqué qu'il est en cours d'élaboration. Cependant, il y a des programmes tiers, tels que CUDALucas, qui font usage de la puissance de traitement des GPU.

## Découverte de nombres premiers de Mersenne par calcul distribué

Depuis 2014, 14 nouveaux nombres premiers de Mersenne ont été trouvés grâce à ce réseau de participants, et un nouveau premier de Mersenne a été découvert environ chaque année jusqu'en 2009; le dernier a été trouvé quatre ans plus tard.

### Puissance de traitement

Une table de repères sélectionnés est fourni ci-dessous. La liste complète peut être consultée sur le site officiel du GIMPS.
| Comparaison de la puissance de base de CPU | Fréquence | Cœurs | FFT | FFT | Divisions successives | TDP |
| Prime95$^,$ | (par cœur) | | 2048k | 4096k | 64-bit | |
| Plate-forme du modèle de processeur | MHz | | ms | ms | ms | Watts |
| Intel Atom 330 | 1600 | 2 | 621 | 1166 | 46 | 8 |
| Intel Atom D510 | 1664 | 2 | 586 | 1954 | 25.7 | 13 |
| Intel Pentium III | 1151 | 1 | 438 | 923 | 50.6 | 30 |
| AMD Athlon | 1054 | 1 | 457 | 774 | 56.0 | 68 |
| AMD Fusion E-350 | 1596 | 2 | 222 | 491 | 15.2 | 18 |
| AMD Athlon XP 2000+ | 1640 | 1 | 201 | 448 | 32.8 | ~60 |
| Intel Pentium 4 | 3078 | 1 | 72.4 | 162 | 14.9 | 86 |
| AMD Phenom II X4 | 3414 | 4 | 34.9 | 76.3 | 4.59 | 125 |
| Intel Core 2 Duo E8600 | 3334 | 2 | 34.2 | 73.1 | 4.89 | 65 |
| Sandy Bridge Pentium G620T | 2159 | 2 | 41.1 | 72.5 | 4.99 | 35 |
| AMD Phenom II X6 1100T | 3310 | 6 | 32.7 | 69.5 | 3.85 | 125 |
| Intel Core i5-2500K | 3330 | 4 | 23.9 | 53.2 | 3.49 | 95 |
| Intel Core i5-2500K | 4400 | 4 | 3.3 | 7.1 | 2.61 | 95 |
| Intel Core i7-2600K | 3463 | 4 | 21.8 | 45.4 | 3.67 | 95 |
| Intel Core i7-3770K | 4222 | 4 | 3.978 | 9.450 | 3.788 | 77 |

## Utilisation pour des tests de résistance

Au fil des ans, Prime95 est devenu extrêmement populaire parmi les amateurs de PC et d'overclocking comme un utilitaire de test de stabilité. Il comprend un mode « Test de Torture » conçu spécifiquement pour tester les sous-systèmes de PC pour les erreurs afin d'aider à assurer le bon fonctionnement de Prime95 sur ce système. Ceci est important parce que chaque itération de Lucas-Lehmer dépend de la précédente; si une itération est incorrecte, le test de primalité sera donc faussé dans son entièreté.
La fonctionnalité du test de résistance Prime95 peut être configurée pour mieux tester différents composants de l'ordinateur en changeant la taille de la transformation de Fourier rapide (TFR). Trois configurations prédéfinies sont disponibles : Petits TFR, TFR en place, et Blend. Les modes de tests petits et en place testent principalement le FPU et les caches de la CPU, alors que le mode Blend teste tout, y compris la mémoire.
Avec un système absolument stable, Prime95 tournerait indéfiniment. Si une erreur se produit, cela indiquerait que le système est peut-être instable.

## Limites

Les versions qui ont précédé la 25 (version 24, 23...) de Prime95 ne pouvaient pas tester les nombres de Mersenne au-delà de $2^{79300000}-1$. Ce chiffre est légèrement plus petit qu'un nombre ayant 24 millions de chiffres. Les nouvelles versions de Prime95 (versions 25, 26, 27 et 28) peuvent manipuler des nombres de Mersenne jusqu'à la limite $2^{596000000}-1$. Cependant, ils peuvent effectuer une factorisation sur des nombres de Mersenne allant jusqu'à $2^{2147483647}-1$.

## Historique des versions

Plus de détails se trouvent dans le fichier whatsnew.txt.
| Couleur | Signification |
| Rouge | Ancienne version |
| Rose | Ancienne version de test |
| Vert | Version stable actuelle |
| Or | Version de test actuelle |
| Bleu | Future version |
| Version | Date de sortie | Changements |
| 1 | 3 janvier 1996 |
| 8 | 12 avril 1996 | Vitesses du Trail Factoring améliorées |
| 10 | | Auto-essai ajouté, divers changements du menu |
| 12 | 22 mai 1996 | Augmentation de la vitesse, diminution de l'utilisation de la mémoire, plus auto-tests et des contrôles d'erreur ajoutés, limite d'exposant augmenté à 2 630 000 |
| 12.1 | | Arguments de ligne de commande ajoutés |
| 12.2 | | |
| 12.3 | | Les fichiers de sauvegarde sont maintenant générés toutes les 30 minutes |
| 12.4 | | Les améliorations dans le trial factoring et de génération de fichier de sauvegarde |
| 13.0 | 1er novembre 1996 | Le code assembleur Lucas-Lehmer a été presque complètement réécrit pour augmenter la modularité et la lisibilité. |
| 13.1 | | Plus de TFR ajoutés |
| 13.2 | | |
| 14.0 | 3 mars 1997 | Limite d'exposant augmenté à 5 250 000 |
| 14.1 | | Code Pentium amélioré |
| 14.2 | | Trial factoring amélioré |
| 14.3 | | Optimisations Pentium Pro ajoutées |
| 15.0 | 2 février 1998 | Système de fichier de configuration retravaillé |
| 15.1 | | |
| 15.2 | | Nouveau protocole HTTP |
| 15.3 | | |
| 15.4 | | Plus de soutien pour les pare-feu et proxy |
| 16.1 | 22 mai 1998 | Limite d'exposant augmenté à 20 500 000, limite de la factorisation augmenté à 64 bits |
| 16.2 | | |
| 16.3 | | Contrôle de sécurité ajouté pour empêcher le transfert de crédit accidentelle |
| 16.4 | | Prime95 montre maintenant le progrès des tâches en pourcentage |
| 16.5 | | Code réseau mis à jour |
| 17.0 | | Prise en charge du double contrôle |
| 17.1 | | ECM pour les nombres de la forme 2$^n$ + 1 |
| 17.2 | | Vitesse de l'EMC améliorée pour la forme 2$^n$ + 1 |
| 18.0 | 3 avril 1999 | |
| 18.1 | 13 avril 1999 | Changement ajouté pour permettre au serveur de distinguer les versions |
| 19.0 | 10 octobre 1999 | Limite d'exposant augmentée jusqu'à 79 300 000, factorisation P-1 ajoutée, enregistrement des fichiers pour la factorisation ECM |
| 19.1 | | Optimisations AMD K6 |
| 19.2 | 17 décembre 1999 | |
| 20.0 | | Améliorations de l'ECM et P-1 |
| 20.1 | | Améliorations P-1 |
| 20.1 | | Améliorations P-1 |
| 20.2 | | |
| 20.3 | | |
| 20.4 | | |
| 20.5 | | |
| 20.6 | 16 juin 2000 | |
| 21.2 | | support de SSE2 |
| 21.3 | | Possibilité de sauter redondante de factorisation P-1 |
| 21.4 | 23 septembre 2001 | Test de torture amélioré |
| 22.1 | | Code serveur et réseau amélioré |
| 22.2 | | Optimisations |
| 22.3 | | |
| 22.4 | | |
| 22.5 | | |
| 22.6 | | Support de Windows |
| 22.7 | | |
| 22.8 | 15 août 2002 | |
| 22.9 | 7 septembre 2002 | Améliorations de l'interface utilisateur de Windows |
| 22.10 | 8 octobre 2002 | Plus de soutien pour le démarrage automatique au démarrage |
| 22.11 | | |
| 22.12 | 9 novembre 2002 | |
| 22.13 | 29 décembre 2002 | |
| 23.1 | 10 février 2003 | Optimisations SSE2 |
| 23.2 | 20 février 2003 | Optimisations SSE2 |
| 23.3 | 29 avril 2003 | Optimisations SSE2 |
| 23.4 | | Optimisations SSE2 |
| 23.5 | 3 juillet 2003 | Plus de contrôle d'erreur |
| 23.6 | 15 juillet 2003 | |
| 23.7 | 6 septembre 2003 | Changements dans les paramètres de mémoire |
| 23.8 | 17 février 2004 | |
| 23.9 | 16 septembre 2003 | Réduction de mémoire requise dans les tests de torture |
| 24.6 | 7 décembre 2004 | Optimisations CPU pour AMD Athlon |
| 24.9 | | |
| 24.10 | | Support de Windows 64-bit |
| 24.11 | 30 mars 2005 | Optimisations du CPU AMD |
| 24.12 | 8 juin 2005 | Optimisations SSE2 |
| 24.13 | 5 juillet 2005 | Différentes implémentations de TFR pour certains processeurs |
| 24.14 | 5 août 2005 | |
| 24.15 | | |
| 25.3 | 16 juin 2007 | Véritable support multi-core, ajout de tests PRP, divers autres changements |
| 25.4 | 10 août 2007 | |
| 25.5 | 24 septembre 2007 | |
| 25.6 | 22 décembre 2007 | |
| 25.7 | 7 octobre 2008 | |
| 25.8 | 14 décembre 2008 | |
| 25.9 | 16 mars 2009 | Amélioration de la vitesse |
| 25.10 | 3 mai 2009 | Support du GUI Mac OS X et FreeBSD |
| 25.11 | 14 juillet 2009 | Tests plus rapides de TFR |
| 25.12 | 29 juillet 2009 | |
| 25.13 | 6 octobre 2009 | |
| 25.14 | 22 mars 2010 | |
| 26.2 | 14 septembre 2010 | Code de TFR optimisé pour de nombreuses architectures |
| 26.3 | 13 octobre 2010 | |
| 26.4 | 15 novembre 2010 | |
| 26.5 | 23 février 2011 | |
| 26.6 | 8 avril 2011 | |
| 27.1 alpha | 5 décembre 2011 | Support de Intel AVX (32 bit seulement) |
| 27.2 alpha | 19 décembre 2011 | |
| 27.3 beta | 16 février 2012 | Support de AVX 64 bit |
| 27.4 beta | 9 mars 2012 | |
| 27.6 beta | 24 avril 2012 | Bug fixes; (v27.5 a été sautée ; les bibliothèques mathématiques sous-jacentes ont subi une révision) |
| 27.7 beta | 3 mai 2012 | Plus de fixations de bugs |
| 27.7 | 15 mai 2012 | Support stable de AVX, additionnant une augmentation des performances d'environ 30 % par rapport à la version 26 |
| 27.9 | 12 décembre 2012 | Fixations de bugs mineurs |
| 28.5 | 30 mai 2014 | Support de AVX2 et de FMA3 (Cœur i3/i5/i7), optimisations de la mémoire cache pour les processeurs basés sur Sandy Bridge et Ivy Bridge. |
| TBD | TBD | Support du GPU (cependant, il existe des programmes distincts créés par des bénévoles communautaires qui utilisent les GPU) |
Note : TBD signifie to be defined, soit « pas encore défini ».