[Isis-fish-user] petit probleme dans la region Golfe de gascogne
Salut, Il y a des petites erreurs dans les equations de la region :( et oui, j'aurais du verifier :(. Je corrige en debut d'apres midi, et je la renvoie. (il y a aussi un petit bug dans Date.getMonth() que je corrige en meme temps, il y aura donc une version 3.0.3) -- Benjamin -------------------- tél: +33 (0) 2 40 50 29 28 email: poussin@codelutin.com () campagne du ruban ascii http://www.codelutin.com /\ pour les mails en ascii
On Mon, 16 Oct 2006 13:24:49 +0200 Benjamin POUSSIN <poussin@codelutin.com> wrote:
Salut,
Il y a des petites erreurs dans les equations de la region :( et oui, j'aurais du verifier :(.
Je corrige en debut d'apres midi, et je la renvoie.
(il y a aussi un petit bug dans Date.getMonth() que je corrige en meme temps, il y aura donc une version 3.0.3)
Bon, je suis tombé sur un petit os, et je vais donc plutot vous promettre ca pour demain. Desole -- Benjamin -------------------- tél: +33 (0) 2 40 50 29 28 email: poussin@codelutin.com () campagne du ruban ascii http://www.codelutin.com /\ pour les mails en ascii
Bonjour, Je cherche à executer la base TECTAC: 'GolfeDeGascogne.zip' mais j'obtiens un message d'erreur après le lancement de la simu (je n'ai rien fait par ailleurs: j'ai juste selectionné les flottilles, les populations et mis des effectifs initiaux avant d'appuyer sur 'simulate'...): visiblement c'est un problème dans la compilation d'une équation? Faut-il faire autre chose pour que ça marche? Merci PS: je ne sais pas ou isis me met le fichier erreur.txt, je ne le trouve pas. INFO [SimulationThread test] (LutinLog.java:369) info - onCommited INFO [SimulationThread test] (LutinLog.java:369) info - Simulation execution INFO [SimulationThread test] (LutinLog.java:369) info - ====================== begin janvier 0 - merluccius =========================== INFO [SimulationThread test] (LutinLog.java:369) info - N: matrixAbundance matr ix2D [ 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, 10000.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,] C:\DOCUME~1\fbastard\LOCALS~1\Temp\isisfish-simultation-1161068664340-test\formu les\fr_ifremer_isisfish_entities_Equation_1160686651133_0_012455593434948509.jav a:8: compt is already defined in compute(fr.ifremer.isisfish.simulator.Simulatio nContext,org.codelutin.math.matrix.MatrixND,fr.ifremer.isisfish.entities.Populat ion,fr.ifremer.isisfish.types.Month,double,java.util.List<fr.ifremer.isisfish.en tities.Zone>,java.util.List<fr.ifremer.isisfish.entities.PopulationGroup>,java.u til.List<fr.ifremer.isisfish.entities.Zone>,org.codelutin.math.matrix.MatrixND) double compt=0; ^ 1 error FATAL [SimulationThread test] (LutinLog.java:425) fatal - Error in matrix reprod uction creation fr.ifremer.isisfish.IsisFishRuntimeException: Cant compile script: {0} at fr.ifremer.isisfish.util.EvaluatorHelper.evaluate(EvaluatorHelper.jav a:141) at fr.ifremer.isisfish.entities.EquationImpl.evaluate(EquationImpl.java: 88) at fr.ifremer.isisfish.entities.EquationImpl.evaluate(EquationImpl.java: 115) at fr.ifremer.isisfish.entities.Equation$$FastClassByCGLIB$$713b46bd.inv oke(<generated>) at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.intercept(CGLIBLa zyInitializer.java:163) at org.hibernate.proxy.HibernateProxy$$EnhancerByCGLIB$$8bee0578_2.evalu ate(<generated>) at fr.ifremer.isisfish.entities.PopulationSeasonInfoImpl.getReproduction Matrix(PopulationSeasonInfoImpl.java:726) at simulators.DefaultSimulator.aw$original$_AW_$computeMonth$_AW_$simula tors_DefaultSimulator(DefaultSimulator.java:347) at simulators.DefaultSimulator_1_859456109__1912332058___AW_JoinPoint.in voke(Unknown Source) at simulators.DefaultSimulator.computeMonth(DefaultSimulator.java) at simulators.DefaultSimulator.aw$original$_AW_$simulate$_AW_$simulators _DefaultSimulator(DefaultSimulator.java:185) at simulators.DefaultSimulator_1_869596014__1739552001___AW_JoinPoint.in voke(Unknown Source) at simulators.DefaultSimulator.simulate(DefaultSimulator.java) at fr.ifremer.isisfish.simulator.SimulatorHelper.simulate(SimulatorHelpe r.java:130) at fr.ifremer.isisfish.simulator.SimulationThread.runLocalSimulation(Sim ulationThread.java:241) at fr.ifremer.isisfish.simulator.SimulationThread.run(SimulationThread.j ava:194) Caused by: fr.ifremer.isisfish.IsisFishRuntimeException: Error 1, cant compile s cript: {1} at fr.ifremer.isisfish.util.EvaluatorHelper.evaluate(EvaluatorHelper.jav a:138) ... 16 more WARN [SimulationThread test] (LutinLog.java:385) warn - Empty stack in afterExe cute for method simulate WARN [SimulationThread test] (LutinLog.java:385) warn - Empty stack in afterExe cute for method simulate INFO [SimulationThread test] (LutinLog.java:369) info - onCommited INFO [SimulationThread test] (LutinLog.java:369) info - onCommited INFO [SimulationThread test] (LutinLog.java:369) info - Simulation time: 45.374 --- Statistiques --- getPopulations call: 2 min: 0.000 mean: 0.971 max: 1.943 total: 1.943 call_nest: 0 total_with_nest: 1.943 getStrategies call: 2 min: 0.000 mean: 0.865 max: 1.731 total: 1.731 call_nest: 0 total_with_nest: 1.731 getMetiers call: 1 min: 0.000 mean: 0.981 max: 0.981 total: 0.981 call_nest: 1 t otal_with_nest: 0.981 compute call: 9 min: 0.000 mean: 0.000 max: 0.004 total: 0.004 call_nest: 0 tota l_with_nest: 0.004 matrixBiomass call: 1 min: 0.000 mean: 13.626 max: 13.626 total: 13.626 call_nes t: 9 total_with_nest: 13.631 computeMonth call: 2 min: 0.000 mean: 8.378 max: 14.471 total: 16.757 call_nest: 6 total_with_nest: 63.149 -------------------- --- Cache Statistiques --- Total call: 6 Cache used: 2 Cache usage: 33% -------------------- Benjamin POUSSIN a écrit:
On Mon, 16 Oct 2006 13:24:49 +0200 Benjamin POUSSIN <poussin@codelutin.com> wrote:
Salut,
Il y a des petites erreurs dans les equations de la region :( et oui, j'aurais du verifier :(.
Je corrige en debut d'apres midi, et je la renvoie.
(il y a aussi un petit bug dans Date.getMonth() que je corrige en meme temps, il y aura donc une version 3.0.3)
Bon, je suis tombé sur un petit os, et je vais donc plutot vous promettre ca pour demain. Desole
-- Benjamin -------------------- tél: +33 (0) 2 40 50 29 28 email: poussin@codelutin.com () campagne du ruban ascii http://www.codelutin.com /\ pour les mails en ascii
------------------------------------------------------------------------
_______________________________________________ Isis-fish-user mailing list Isis-fish-user@lists.labs.libre-entreprise.org http://lists.labs.libre-entreprise.org/mailman/listinfo/isis-fish-user
-- -------------------------------------------------------- François Bastardie French Research Institute for the Development of the Sea (IFREMER) Ecologie et Modèles pour l'Halieutique Rue de l'Ile d'Yeu BP 21105 44311 NANTES Cedex 03 - France Tél : 02 40 37 41 64 Fax : 02 40 37 40 75 E-mail : francois.bastardie@ifremer.fr
On Tue, 17 Oct 2006 09:17:42 +0200 Francois.Bastardie@ifremer.fr wrote:
Bonjour,
Je cherche à executer la base TECTAC: 'GolfeDeGascogne.zip' mais j'obtiens un message d'erreur après le lancement de la simu (je n'ai rien fait par ailleurs: j'ai juste selectionné les flottilles, les populations et mis des effectifs initiaux avant d'appuyer sur 'simulate'...):
visiblement c'est un problème dans la compilation d'une équation? Faut-il faire autre chose pour que ça marche?
Oui, c exactement ce que je disais dans le mail auquel tu reponds, il y a des erreurs dans les equations. J'ai corrigé la region, donc il faut reprendre la nouvelle region http://isis-fish.labs.libre-entreprise.org/download/database/GolfeDeGascogne... et aussi reprendre la nouvelle version du simulateur http://isis-fish.labs.libre-entreprise.org/download/version3/isis-fish-3.0.4... ensuite - Lancer isis v3 - ouvrir l'interface de saisie/modif - selectionner la region golfe de gascogne - dans le menu file->supprimer en local - dans le menu file->importer une region - selectionner la nouvelle region Ou bien - supprimer le repertoire golfe de gascogne qui se trouve dans le repertoire regions des données - Lancer isis v3 - dans le menu file->importer une region - selectionner la nouvelle region J'ai essaye de lancer des simulations, mais en mettant toutes les strategies ca prend 15min par mois :( En prenant seulement 2 stratégies la simulation (avec tous les resultats) prend 5 min pour 2 ans J'ai regardé le code dans tous les sens, et je me suis dit c pas possible c Java :(. J'ai donc fait un test (le meme en Java et en c++) et les temps sont identiques (voir un tout petit peu plus rapide en java). le test est constitué de 5 boucles imbriquées ce qui reprensente au total 14millions d'appel a une methode qui fait un a*b/c si je travaille avec des double, ca prend 3 secondes Donc j'ai cherche d'ou peu venir la lenteur, mais j'ai un peu de mal a mettre le doit sur le probleme :( car la seul chose que je vois c par exemple 30000 appel a une methode qui prend 0.021 seconde (donc pas grand chose) mais 30000 fois ca fait tout de meme 630 secondes donc 10 min :( On travaille pour les plus grosses matrices avec 55200 données (23 strs * 24 metiers * 10 groups * 10 zones) les boucles elles se font sur environs 23 strs * 7 metiers * 10 groups * 10 zones = 16100 données (seulement les métiers possibles) Donc par rapport a mes 14millions d'appel c pas grand chose, je me suis alors dit que le probleme etait ailleurs :). Et j'ai trouvé quelque chose qui optimise de 80% le temps de simulation, je calcule la cle pour le cache differement. Et j'ai un gros gain. Donc maintenant (a part le 1er pas de temps, ou il fait plus de chose (compilation d'equation, ...)) chaque pas de temps prend 1min, pour toutes les strategies avec tous les resultats. Donc une grosse dizaine de minutes par an sur un Pentium IV, 2Ghz. Donc si vous avez une machine plus récente ca doit prendre moins de temps. -- Benjamin -------------------- tél: +33 (0) 2 40 50 29 28 email: poussin@codelutin.com () campagne du ruban ascii http://www.codelutin.com /\ pour les mails en ascii
Salut, Merci pour ces précisions et tout ce travail. effectivement je me suis rendu compte un peu tard de l'objet de ton précédent message!... Malheureusement il reste un souci mais je fais peut-être mal les choses: il semble impossible de supprimer des metiers ou des strategies, etc. Quand on le fait une boite de message d'erreur apparait mais en plus le message lui n'apparait pas...Je dois éliminer pas mal de metiers (tous ceux qui sont labellés "nord" ou "sud") et des stratégies (toutes les strategies "lesSables") et donc tous les objets liés...comment je peux faire? Merci et A+ Benjamin POUSSIN a écrit:
On Tue, 17 Oct 2006 09:17:42 +0200 Francois.Bastardie@ifremer.fr wrote:
Bonjour,
Je cherche à executer la base TECTAC: 'GolfeDeGascogne.zip' mais j'obtiens un message d'erreur après le lancement de la simu (je n'ai rien fait par ailleurs: j'ai juste selectionné les flottilles, les populations et mis des effectifs initiaux avant d'appuyer sur 'simulate'...):
visiblement c'est un problème dans la compilation d'une équation? Faut-il faire autre chose pour que ça marche?
Oui, c exactement ce que je disais dans le mail auquel tu reponds, il y a des erreurs dans les equations.
J'ai corrigé la region, donc il faut reprendre la nouvelle region
http://isis-fish.labs.libre-entreprise.org/download/database/GolfeDeGascogne...
et aussi reprendre la nouvelle version du simulateur
http://isis-fish.labs.libre-entreprise.org/download/version3/isis-fish-3.0.4...
ensuite
- Lancer isis v3 - ouvrir l'interface de saisie/modif - selectionner la region golfe de gascogne - dans le menu file->supprimer en local - dans le menu file->importer une region - selectionner la nouvelle region
Ou bien - supprimer le repertoire golfe de gascogne qui se trouve dans le repertoire regions des données - Lancer isis v3 - dans le menu file->importer une region - selectionner la nouvelle region
J'ai essaye de lancer des simulations, mais en mettant toutes les strategies ca prend 15min par mois :(
En prenant seulement 2 stratégies la simulation (avec tous les resultats) prend 5 min pour 2 ans
J'ai regardé le code dans tous les sens, et je me suis dit c pas possible c Java :(.
J'ai donc fait un test (le meme en Java et en c++) et les temps sont identiques (voir un tout petit peu plus rapide en java).
le test est constitué de 5 boucles imbriquées ce qui reprensente au total 14millions d'appel a une methode qui fait un a*b/c
si je travaille avec des double, ca prend 3 secondes
Donc j'ai cherche d'ou peu venir la lenteur, mais j'ai un peu de mal a mettre le doit sur le probleme :(
car la seul chose que je vois c par exemple 30000 appel a une methode qui prend 0.021 seconde (donc pas grand chose) mais 30000 fois ca fait tout de meme 630 secondes donc 10 min :(
On travaille pour les plus grosses matrices avec 55200 données (23 strs * 24 metiers * 10 groups * 10 zones)
les boucles elles se font sur environs 23 strs * 7 metiers * 10 groups * 10 zones = 16100 données (seulement les métiers possibles)
Donc par rapport a mes 14millions d'appel c pas grand chose, je me suis alors dit que le probleme etait ailleurs :).
Et j'ai trouvé quelque chose qui optimise de 80% le temps de simulation, je calcule la cle pour le cache differement. Et j'ai un gros gain.
Donc maintenant (a part le 1er pas de temps, ou il fait plus de chose (compilation d'equation, ...)) chaque pas de temps prend 1min, pour toutes les strategies avec tous les resultats.
Donc une grosse dizaine de minutes par an sur un Pentium IV, 2Ghz. Donc si vous avez une machine plus récente ca doit prendre moins de temps.
-- Benjamin -------------------- tél: +33 (0) 2 40 50 29 28 email: poussin@codelutin.com () campagne du ruban ascii http://www.codelutin.com /\ pour les mails en ascii
------------------------------------------------------------------------
_______________________________________________ Isis-fish-user mailing list Isis-fish-user@lists.labs.libre-entreprise.org http://lists.labs.libre-entreprise.org/mailman/listinfo/isis-fish-user
-- -------------------------------------------------------- François Bastardie French Research Institute for the Development of the Sea (IFREMER) Ecologie et Modèles pour l'Halieutique Rue de l'Ile d'Yeu BP 21105 44311 NANTES Cedex 03 - France Tél : 02 40 37 41 64 Fax : 02 40 37 40 75 E-mail : francois.bastardie@ifremer.fr
participants (2)
-
Benjamin POUSSIN -
Francois.Bastardie@ifremer.fr