pari

Xcas devel: interface utilisateur/user interface

Modérateur : xcasadmin

Répondre
frederic han
Messages : 1113
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

pari

Message par frederic han » ven. janv. 17, 2014 7:13 am

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

parisse
Messages : 5084
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: pari

Message par parisse » ven. janv. 17, 2014 7:30 am

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é.

frederic han
Messages : 1113
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

Re: pari

Message par frederic han » ven. janv. 17, 2014 9:40 am

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

frederic han
Messages : 1113
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

Re: pari

Message par frederic han » sam. janv. 18, 2014 11:44 am

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

parisse
Messages : 5084
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: pari

Message par parisse » sam. janv. 18, 2014 12:41 pm

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())

parisse
Messages : 5084
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: pari

Message par parisse » lun. janv. 20, 2014 1:11 pm

Voila, ca devrait remarcher.

frederic han
Messages : 1113
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

Re: pari

Message par frederic han » jeu. janv. 23, 2014 9:37 am

Salut,
OK pour le binaire mais sur ton site les sources datent du 16/1.

parisse
Messages : 5084
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: pari

Message par parisse » jeu. janv. 23, 2014 12:21 pm

mise a jour du source faite!

frederic han
Messages : 1113
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

Re: pari

Message par frederic han » jeu. janv. 23, 2014 8:05 pm

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)

parisse
Messages : 5084
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: pari

Message par parisse » jeu. janv. 23, 2014 8:43 pm

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...

frederic han
Messages : 1113
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

Re: pari

Message par frederic han » ven. janv. 24, 2014 9:48 am

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.

parisse
Messages : 5084
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: pari

Message par parisse » ven. janv. 24, 2014 11:34 am

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.

Répondre