Lucas Lehmer Test im Parralellauf

GIMPS, Riesel, SOB, PrimeGrid, etc.
Nachricht
Autor
PatrickR
Fingerzähler
Fingerzähler
Beiträge: 1
Registriert: 20.07.2007 09:14

Lucas Lehmer Test im Parralellauf

#1 Ungelesener Beitrag von PatrickR » 20.07.2007 09:38

Hallo,

bin noch ganz neu hier im Forum und stelle gleich mal meine 1. Frage.

Ich beschäftige mich schon seit mehreren Wochen mit einer Java Software
die Mittels Lucal Lehmer Test Primzahlen überprüft. Das ganze funktioniert
auch fehlerfrei. Nur läuft die Berechnung auf nur einem Prozessorkern,
für die Programmierer unter euch: nur in einem Thread. :)

Das ganze läuft nach folgender Algorithmik:

Lucas-Lehmer-Test
-----------------
M5 = 5^2?1 = 31
S() ist 5-1

S(1) = 4
S(2) = ( 4² - 2) mod 31 = 14
S(3) = (14² - 2) mod 31 = 8
S(4) = ( 8² - 2) mod 31 = 0 Wenn 0 dann Primzahl

Jetzt zu meiner Frage, ich berechne zur Zeit jedes S() nacheinander. Das kann
ja auch von mir aus so bleiben, aber kennt jemand von euch ein Verfahren
dass die Berechnungsschritte irgendwie aufteilt? Suche nur nach einer
Möglichkeit die Berechnung irgendwie aufzusplitten.

Ich hoffe ihr kennt da eine Möglichkeit.

Gruß
-Patrick

Benutzeravatar
Patrick Keller
Vereinsmitglied
Vereinsmitglied
Beiträge: 1202
Registriert: 25.03.2003 15:06
Wohnort: Mainz

#2 Ungelesener Beitrag von Patrick Keller » 20.07.2007 10:15

Ganz einfach, gibts nicht :D
Lucas-Lehmer-Test ist der effektivste um Primalität bestimmter Zahlen zu untersuchen und NICHT parallelisierbar, da eben viele kleine sequentielle Rechenschritte vorkommen.

Da hilft nur zwei Tests gleichzeitig laufen zu lassen :D

Benutzeravatar
Thommy3
Projekt-Fetischist
Projekt-Fetischist
Beiträge: 639
Registriert: 25.08.2003 10:29

#3 Ungelesener Beitrag von Thommy3 » 20.07.2007 10:32

http://www.mersennewiki.org/index.php/F ... provements

Da steht wirklich, dass es schon möglich ist. Es ist zwar schneller 2 Tests gleichzeitig laufen zu lassen. Aber dennoch schon und bald auch mit der prime95 software von GIMPS möglcih mehrere Prozessoren an einem Test rechnen zu lassen. Das ist dann auch tatsächlich schneller als auf einem Prozessor.

Die Implementierung dürfte allerdings sehr schwierig sein, denke nicht, dass du das in Java so einfach hinbekommst. Der Quellcode ist allerdings frei... könntest also mal einen Blick reinwerfen.

Benutzeravatar
SpeedKing
TuX-omane
TuX-omane
Beiträge: 2943
Registriert: 12.09.2003 17:14

#4 Ungelesener Beitrag von SpeedKing » 20.07.2007 10:59

Auf zwei Prozessoren zwei Tests gleichzeitig laufen lassen ist auf jeden Fall schneller als einen Test parallelisieren und davon zwei hintereinander laufen zu lassen, also warum der Aufwand?

Zurück zu „Primzahlsuche“