recherche code multi thread java pour test de primalite
16 réponses
remy
bonjour
vous ne connaitriez pas un bout de code multi thread
java qui ferait un test de primalit=E9
histoire de me servir de tous les coeurs de la machine
c'est pour booster un peu le code
http://cjoint.com/data/mwlRFNicX7.htm
vu que la m=EAme impl=E9mentation en c
http://cjoint.com/data/mwlL3wfBsX.htm
c'est av=E9r=E9e moins rapide
=E0 titre perso je ne m'attendais pas =E0 un =E9cart aussi grand
Le 22-12-2009, ? propos de Re: recherche code multi thread java pour test de primalite, Yliur ?crivait dans fr.comp.lang.java :
>> Et pour le test, comment le fais-tu ? Ça ne devrait pas être >> difficile à distribuer. >> > > disons que j'ai actuellement la flemme de coder mon propre test de > primalité donc j'utilise celui qui est fourni de base > dans gmp et biginteger ce qui si j'en crois mes lectures ils > utilisent tous les 2 un test de primalité Miller-Rabin > > http://fr.wikipedia.org/wiki/Test_de_primalit%C3%A9_de_Miller-Rabin
Je t'ai déjà dit aussi qu'avec le même algorithme de base, on peut coder des choses qui ont des performances parfaitement divergentes.
JKB
La deuxième partie de son message ne concernait pas les performances, il cherchait comment paralléliser son calcul pour utiliser tous les coeurs de sa machine.
Un test de primalité de Miller-Rabin, c'est une façon de faire, un algorithme. Après, tu peux l'implanter intelligemment ou de façon particulièrement bête (sans toucher l'algorithme de base, juste en réordonnançant les instructions ou en utilisant des variables temporaires ou toutes autres choses) et les performances réelles en seront affectées, et souvent assez sensiblement. Dire qu'on utilise un tel test dans un programme écrit en C et dans un truc écrit en Java ne présuppose absolument rien de l'optimalité des deux routines. Tu peux avoir un code C optimisé aux petits oignons et un code Java écrit par un programmeur aux pieds tendres. Tu peux aussi avoir le contraire. C'est même tellement sensible que les implantations efficaces d'une truc comme Lapack sont _différentes_ d'un processeur cible à l'autre !
Cordialement,
JKB
-- Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre masse corporelle, mais disperse à lui seul 25% de l'énergie que nous consommons tous les jours.
Le 22-12-2009, ? propos de
Re: recherche code multi thread java pour test de primalite,
Yliur ?crivait dans fr.comp.lang.java :
>> Et pour le test, comment le fais-tu ? Ça ne devrait pas être
>> difficile à distribuer.
>>
>
> disons que j'ai actuellement la flemme de coder mon propre test de
> primalité donc j'utilise celui qui est fourni de base
> dans gmp et biginteger ce qui si j'en crois mes lectures ils
> utilisent tous les 2 un test de primalité Miller-Rabin
>
> http://fr.wikipedia.org/wiki/Test_de_primalit%C3%A9_de_Miller-Rabin
Je t'ai déjà dit aussi qu'avec le même algorithme de base, on
peut coder des choses qui ont des performances parfaitement
divergentes.
JKB
La deuxième partie de son message ne concernait pas les performances,
il cherchait comment paralléliser son calcul pour utiliser tous les
coeurs de sa machine.
Un test de primalité de Miller-Rabin, c'est une façon de faire, un
algorithme. Après, tu peux l'implanter intelligemment ou de façon
particulièrement bête (sans toucher l'algorithme de base, juste en
réordonnançant les instructions ou en utilisant des variables
temporaires ou toutes autres choses) et les performances réelles en
seront affectées, et souvent assez sensiblement. Dire qu'on utilise
un tel test dans un programme écrit en C et dans un truc écrit en
Java ne présuppose absolument rien de l'optimalité des deux
routines. Tu peux avoir un code C optimisé aux petits oignons et un
code Java écrit par un programmeur aux pieds tendres. Tu peux aussi
avoir le contraire. C'est même tellement sensible que les
implantations efficaces d'une truc comme Lapack sont _différentes_
d'un processeur cible à l'autre !
Cordialement,
JKB
--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
Le 22-12-2009, ? propos de Re: recherche code multi thread java pour test de primalite, Yliur ?crivait dans fr.comp.lang.java :
>> Et pour le test, comment le fais-tu ? Ça ne devrait pas être >> difficile à distribuer. >> > > disons que j'ai actuellement la flemme de coder mon propre test de > primalité donc j'utilise celui qui est fourni de base > dans gmp et biginteger ce qui si j'en crois mes lectures ils > utilisent tous les 2 un test de primalité Miller-Rabin > > http://fr.wikipedia.org/wiki/Test_de_primalit%C3%A9_de_Miller-Rabin
Je t'ai déjà dit aussi qu'avec le même algorithme de base, on peut coder des choses qui ont des performances parfaitement divergentes.
JKB
La deuxième partie de son message ne concernait pas les performances, il cherchait comment paralléliser son calcul pour utiliser tous les coeurs de sa machine.
Un test de primalité de Miller-Rabin, c'est une façon de faire, un algorithme. Après, tu peux l'implanter intelligemment ou de façon particulièrement bête (sans toucher l'algorithme de base, juste en réordonnançant les instructions ou en utilisant des variables temporaires ou toutes autres choses) et les performances réelles en seront affectées, et souvent assez sensiblement. Dire qu'on utilise un tel test dans un programme écrit en C et dans un truc écrit en Java ne présuppose absolument rien de l'optimalité des deux routines. Tu peux avoir un code C optimisé aux petits oignons et un code Java écrit par un programmeur aux pieds tendres. Tu peux aussi avoir le contraire. C'est même tellement sensible que les implantations efficaces d'une truc comme Lapack sont _différentes_ d'un processeur cible à l'autre !
Cordialement,
JKB
-- Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre masse corporelle, mais disperse à lui seul 25% de l'énergie que nous consommons tous les jours.
Yliur
Le Tue, 22 Dec 2009 19:33:54 +0000 (UTC) JKB a écrit :
Le 22-12-2009, ? propos de Re: recherche code multi thread java pour test de primalite, Yliur ?crivait dans fr.comp.lang.java : > >> >> Et pour le test, comment le fais-tu ? Ça ne devrait pas être >> >> difficile à distribuer. >> >> >> > >> > disons que j'ai actuellement la flemme de coder mon propre test >> > de primalité donc j'utilise celui qui est fourni de base >> > dans gmp et biginteger ce qui si j'en crois mes lectures ils >> > utilisent tous les 2 un test de primalité Miller-Rabin >> > >> > http://fr.wikipedia.org/wiki/Test_de_primalit%C3%A9_de_Miller-Rabin >> >> Je t'ai déjà dit aussi qu'avec le même algorithme de base, >> on peut coder des choses qui ont des performances parfaitement >> divergentes. >> >> JKB >> > > La deuxième partie de son message ne concernait pas les > performances, il cherchait comment paralléliser son calcul pour > utiliser tous les coeurs de sa machine.
Un test de primalité de Miller-Rabin, c'est une façon de faire, un algorithme. Après, tu peux l'implanter intelligemment ou de façon particulièrement bête (sans toucher l'algorithme de base, juste en réordonnançant les instructions ou en utilisant des variables temporaires ou toutes autres choses) et les performances réelles en seront affectées, et souvent assez sensiblement. Dire qu'on utilise un tel test dans un programme écrit en C et dans un truc écrit en Java ne présuppose absolument rien de l'optimalité des deux routines. Tu peux avoir un code C optimisé aux petits oignons et un code Java écrit par un programmeur aux pieds tendres. Tu peux aussi avoir le contraire. C'est même tellement sensible que les implantations efficaces d'une truc comme Lapack sont _différentes_ d'un processeur cible à l'autre !
Cordialement,
JKB
Ben ok, mais je ne vois toujours pas le lien avec cette partie de la choucroute.
Le Tue, 22 Dec 2009 19:33:54 +0000 (UTC)
JKB <knatschke@koenigsberg.fr> a écrit :
Le 22-12-2009, ? propos de
Re: recherche code multi thread java pour test de primalite,
Yliur ?crivait dans fr.comp.lang.java :
>
>> >> Et pour le test, comment le fais-tu ? Ça ne devrait pas être
>> >> difficile à distribuer.
>> >>
>> >
>> > disons que j'ai actuellement la flemme de coder mon propre test
>> > de primalité donc j'utilise celui qui est fourni de base
>> > dans gmp et biginteger ce qui si j'en crois mes lectures ils
>> > utilisent tous les 2 un test de primalité Miller-Rabin
>> >
>> > http://fr.wikipedia.org/wiki/Test_de_primalit%C3%A9_de_Miller-Rabin
>>
>> Je t'ai déjà dit aussi qu'avec le même algorithme de base,
>> on peut coder des choses qui ont des performances parfaitement
>> divergentes.
>>
>> JKB
>>
>
> La deuxième partie de son message ne concernait pas les
> performances, il cherchait comment paralléliser son calcul pour
> utiliser tous les coeurs de sa machine.
Un test de primalité de Miller-Rabin, c'est une façon de
faire, un algorithme. Après, tu peux l'implanter intelligemment ou
de façon particulièrement bête (sans toucher l'algorithme de base,
juste en réordonnançant les instructions ou en utilisant des variables
temporaires ou toutes autres choses) et les performances
réelles en seront affectées, et souvent assez sensiblement. Dire
qu'on utilise un tel test dans un programme écrit en C et dans un
truc écrit en Java ne présuppose absolument rien de l'optimalité des
deux routines. Tu peux avoir un code C optimisé aux petits oignons et
un code Java écrit par un programmeur aux pieds tendres. Tu peux aussi
avoir le contraire. C'est même tellement sensible que les
implantations efficaces d'une truc comme Lapack sont
_différentes_ d'un processeur cible à l'autre !
Cordialement,
JKB
Ben ok, mais je ne vois toujours pas le lien avec cette partie de la
choucroute.
Le Tue, 22 Dec 2009 19:33:54 +0000 (UTC) JKB a écrit :
Le 22-12-2009, ? propos de Re: recherche code multi thread java pour test de primalite, Yliur ?crivait dans fr.comp.lang.java : > >> >> Et pour le test, comment le fais-tu ? Ça ne devrait pas être >> >> difficile à distribuer. >> >> >> > >> > disons que j'ai actuellement la flemme de coder mon propre test >> > de primalité donc j'utilise celui qui est fourni de base >> > dans gmp et biginteger ce qui si j'en crois mes lectures ils >> > utilisent tous les 2 un test de primalité Miller-Rabin >> > >> > http://fr.wikipedia.org/wiki/Test_de_primalit%C3%A9_de_Miller-Rabin >> >> Je t'ai déjà dit aussi qu'avec le même algorithme de base, >> on peut coder des choses qui ont des performances parfaitement >> divergentes. >> >> JKB >> > > La deuxième partie de son message ne concernait pas les > performances, il cherchait comment paralléliser son calcul pour > utiliser tous les coeurs de sa machine.
Un test de primalité de Miller-Rabin, c'est une façon de faire, un algorithme. Après, tu peux l'implanter intelligemment ou de façon particulièrement bête (sans toucher l'algorithme de base, juste en réordonnançant les instructions ou en utilisant des variables temporaires ou toutes autres choses) et les performances réelles en seront affectées, et souvent assez sensiblement. Dire qu'on utilise un tel test dans un programme écrit en C et dans un truc écrit en Java ne présuppose absolument rien de l'optimalité des deux routines. Tu peux avoir un code C optimisé aux petits oignons et un code Java écrit par un programmeur aux pieds tendres. Tu peux aussi avoir le contraire. C'est même tellement sensible que les implantations efficaces d'une truc comme Lapack sont _différentes_ d'un processeur cible à l'autre !
Cordialement,
JKB
Ben ok, mais je ne vois toujours pas le lien avec cette partie de la choucroute.
batyann811
JKB a écrit :
Le gros du calcul étant fait dans la libgmp, il faudrait aussi regarder de près les options de compilation de ladite bibliothèque.
Et surtout lire la doc avant de s'en servir...
JKB a écrit :
Le gros du calcul étant fait dans la libgmp, il faudrait aussi
regarder de près les options de compilation de ladite bibliothèque.