pari
Modérateur : xcasadmin
-
- Messages : 1137
- Inscription : dim. mai 20, 2007 7:09 am
- Localisation : Paris
- Contact :
pari
Salut,
mon collegue m'a dit que depuis fin decembre la version git de pari marchait bien sous macos en 64 bits avec le compilateur par defaut.
J'ai teste effectivement les tests de pari passent et j'arrive a l'integrer dans qcas.
Pourtant que ce soit la version 32bits dans ton binaire xcas ou cette version 64bits git dans qcas je trouve une nette difference dans les interruptions en macos et linux.
avec ifactor un produit de 2 gros nombres premiers, sous linux apres le bouton stop, j'ai eventuellement besoin de faire pari_unlock() mais ensuite je peux recommencer et ca crashe tres rarement.
Sous Os, des que je dois faire pari_unlock() alors l'appel suivant a pari fini par crasher.
As tu une idee pour ameliorer cela? la doc a l'air de dire aussi qu'on peut compiler pari avec l'option tls pour
les threads je sais pas si ca nous aiderait?
Fred
mon collegue m'a dit que depuis fin decembre la version git de pari marchait bien sous macos en 64 bits avec le compilateur par defaut.
J'ai teste effectivement les tests de pari passent et j'arrive a l'integrer dans qcas.
Pourtant que ce soit la version 32bits dans ton binaire xcas ou cette version 64bits git dans qcas je trouve une nette difference dans les interruptions en macos et linux.
avec ifactor un produit de 2 gros nombres premiers, sous linux apres le bouton stop, j'ai eventuellement besoin de faire pari_unlock() mais ensuite je peux recommencer et ca crashe tres rarement.
Sous Os, des que je dois faire pari_unlock() alors l'appel suivant a pari fini par crasher.
As tu une idee pour ameliorer cela? la doc a l'air de dire aussi qu'on peut compiler pari avec l'option tls pour
les threads je sais pas si ca nous aiderait?
Fred
Re: pari
Pas sur que ça aiderait, parce que là c'est le même thread qui fait le calcul. Ou alors il faudrait lancer tout nouveau calcul utilisant pari dans un thread différent, donc modifier pari.cc et tester que c'est la bonne versionde pari, pas facile. Je me demande s'il ne serait pas mieux de modifier le code de ifactor de giac et pour les entiers supérieurs à 10^70 disons (et qui n'ont pas de petit facteur détecté par Pollard) de renvoyer un message d'erreur en proposant d'utiliser la commande pari("factor",.) à la place. Comme ça le principal cas d'appel bloquant serait éliminé.
-
- Messages : 1137
- Inscription : dim. mai 20, 2007 7:09 am
- Localisation : Paris
- Contact :
Re: pari
Oui, ca serait probablement plus clair de brider le ifactor. Mais je ne comprend pas bien cette difference mac/linux. Est ce que je devrais installer une libpthread sous macos, par exemple celle des macports?
Fred
Fred
-
- Messages : 1137
- Inscription : dim. mai 20, 2007 7:09 am
- Localisation : Paris
- Contact :
Re: pari
Salut,
je ne sais pas si c'est relie, mais avant ifactor(2**128+1) marchait bien et etait plus rapide que 2^256+1
je suis passe en debian amd64 1.1.0-36 et ifactor(2**128+1) me donne un quadratic sieve failure. (pas tres explicite)
Fred
je ne sais pas si c'est relie, mais avant ifactor(2**128+1) marchait bien et etait plus rapide que 2^256+1
je suis passe en debian amd64 1.1.0-36 et ifactor(2**128+1) me donne un quadratic sieve failure. (pas tres explicite)
Fred
Re: pari
Oups, j'ai fait une boulette en rajoutant un check.
Code : Tout sélectionner
2805c2805
< if (axbmodn[j].aindex>=sqrtavals.size() || axbmodn[j].bindex>=bvals.size())
---
> if (axbmodn[j].bindex>=sqrtavals.size() || axbmodn[j].bindex>=bvals.size())
Re: pari
Voila, ca devrait remarcher.
-
- Messages : 1137
- Inscription : dim. mai 20, 2007 7:09 am
- Localisation : Paris
- Contact :
Re: pari
Salut,
OK pour le binaire mais sur ton site les sources datent du 16/1.
OK pour le binaire mais sur ton site les sources datent du 16/1.
Re: pari
mise a jour du source faite!
-
- Messages : 1137
- Inscription : dim. mai 20, 2007 7:09 am
- Localisation : Paris
- Contact :
Re: pari
OK,
J'ai teste sous mingw32 sans pari,
j'arrive a factoriser 2**256+1 mais en revanche 2**128+1 retourne immediatement le nombre non factorise (je n'ai pas vu de messages particulier)
J'ai teste sous mingw32 sans pari,
j'arrive a factoriser 2**256+1 mais en revanche 2**128+1 retourne immediatement le nombre non factorise (je n'ai pas vu de messages particulier)
Re: pari
Ah oui, il y a un
#ifndef __MINGW_H
#define GIAC_MPQS // define if you want to use giac for sieving
#endif
au tout début de ifactor.cc, je suppose que j'avais des problèmes pour compiler ifactor.cc, tu peux essayer de remplacer par #if 1 pour voir si tu arrives à compiler!
Tiens, sinon, j'ai presque réussi à compiler giac avec fltk 1.3.2, peut-etre que demain j'y arriverai complètement, ça serait pas mal de ne plus avoir besoin d'une version customizée de FLTK...
#ifndef __MINGW_H
#define GIAC_MPQS // define if you want to use giac for sieving
#endif
au tout début de ifactor.cc, je suppose que j'avais des problèmes pour compiler ifactor.cc, tu peux essayer de remplacer par #if 1 pour voir si tu arrives à compiler!
Tiens, sinon, j'ai presque réussi à compiler giac avec fltk 1.3.2, peut-etre que demain j'y arriverai complètement, ça serait pas mal de ne plus avoir besoin d'une version customizée de FLTK...
-
- Messages : 1137
- Inscription : dim. mai 20, 2007 7:09 am
- Localisation : Paris
- Contact :
Re: pari
effectivement je (cross) compile sans problemes sous mingw (mais j'ai NTL c'est peut etre ca)
du coup ifactor 2**128+1 est immediat.
du coup ifactor 2**128+1 est immediat.
Re: pari
C'est plutot la version de mingw qui doit etre en cause. Je reessaierai la ou je l'utilise encore et je commenterai si ca marche.