π
<-
Chat plein-écran
[^]

Firmware Delta N0110: calcul formel GIAC même en mode exam !

Online

Re: Firmware Delta N0110: calcul formel GIAC même en mode ex

Unread postby critor » 16 Nov 2019, 12:50

parisse wrote:Delta+KhiCAS est sur le point de passer en version beta. Afin de bien clarifier au niveau des licences, il faut distinguer deux projets
1/ Delta est l'ensemble des modifications apportees a Epsilon, qui sont donc sous la meme licence que Epsilon.
2/ KhiCAS qui est sous licence GPL.
Ces deux projets donnent lieu chacun a un firmware, le firmware Delta etant capable de lancer un firmware externe en adresse fixe via une application nommee Extension ou en tapant sur HOME quand on est dans Home, ce firmware externe peut etre n'importe quel firmware configure pour avoir sa fonction "main" en 0x92000000, en particulier KhiCAS est un firmware externe de ce type.

En grattant a droite et a gauche pour economiser la RAM, il est possible d'utiliser la version 12.2 d'Epsilon au complet (y compris l'app Regression qu'on avait enlevee dans un premier temps). On a donc en quelque sorte 2 calculatrices independantes et on passe de l'une a l'autre par des appuis successifs sur HOME.

Je suis en train de regler les parametres de Delta en essayant de faire au mieux.
Je vais essayer avec les parametres suivants:
pool Poincare (poincare/include/poincare/tree_pool.h) 16384 "unites" de 5/3 ce qui fait un peu plus de 27 000 octets (moitie moins que Epsilon).
tas pour MicroPython (apps/code/app.h) 21280 octets (soit 30% de plus que Epsilon sans modification)
zone de stockage (ion/include/ion/storage.h): 18408 au lieu de 16384

Voici les raisons de mon choix:
pour la zone de stockage: il s'agit de tenir compte de la sauvegarde de la session courante de KhiCAS. 2K de plus c'est peu, mais si on augmente plus il faut diminuer le tas MicroPython ou mordre sur la RAM pour KhiCAS.
pour le tas MicroPython: c'est le maximum possible sans changer la taille du snapshot des applications.
pour Poincare: les calculs un peu intensifs ont tout interet a etre fait dans KhiCAS. Par exemple, j'ai teste le calcul suivant det(1/a^32) ou a est une matrice 4x4 a coefficients entiers entre 0 et 10, il y a un rapport de vitesse de 50 environ.
Le pool de Poincare devrait donc etre affecte en priorite aux apps (fonction, suite, etc.) et aux petits calculs lorsque l'utilisateur prefere l'entree naturelle en 2-d de Calculs vs en 1-d ou avec l'editeur d'expressions 2-d dans KhiCAS.
Au final sur les 256K de RAM, il y a dans cette configuration environ 70K de RAM pour KhiCAS (dont 8K pour eviter les risques de debordements), 87K pour le snapshot d'Epsilon, 26K de pool Poincare, 18K de storage partage, 32K de stack, le reste en variables globales diverses initialise ou non.
Si le pool Poincare est insuffisant, on peut bien sur l'augmenter un peu (mais pas au niveau du firmware d'origine Epsilon...).

Apres bien sur chacun est libre de changer les valeurs de ces parametres pour son propre usage et recompiler Delta+Khicas.
La doc est la:
https://www-fourier.univ-grenoble-alpes.fr/~parisse/numworks/khicasnw.html#sec32

Merci pour ces grandes avancées. :)

L'idéal serait une diffusion sous forme d'image firmware précompilée directement installable via https://ti-planet.github.io/webdfu_numworks/n0110/ par exemple.
La nécessité de compiler va exclure/décourager beaucoup de monde parmi la cible...

Il serait peut-être envisageable de diffuser 2 images firmware distinctes si c'est juste pour faire plaisir à NumWorks, une pour Delta et une pour KhiCAS.
Avec l'idée que l'utilisateur ait juste à les concaténer.
Une autre idée serait que l'utilisateur les flashe successivement en précisant pour l'une des deux une adresse fixe plus haute dans la Flash externe si cette option est rajoutable à notre outil.
Image
User avatar
critorAdmin.
Niveau 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Level up: 99.6%
 
Posts: 34025
Images: 8827
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
Class: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

Re: Firmware Delta N0110: calcul formel GIAC même en mode ex

Unread postby parisse » 16 Nov 2019, 13:02

zardam a precisement reussi a faire cela: produire 2 firmwares separes, qui s'installent avec dfu-utils, cf.
https://www-fourier.univ-grenoble-alpes.fr/~parisse/numworks/khicasnw.html#sec2
Pour Damien et moi, il n'y a plus d'obstacles a une diffusion sous forme compilee des deux firmwares, mais pour etre bien sur que ca ne pose pas de problemes de licences cote Numworks, on va leur envoyer un mail lundi.
Sinon, j'ai pas mal detaille comment compiler, c'est beaucoup plus complet que sur le site de Numworks (et c'est en francais).
User avatar
parisseVIP++
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 83.8%
 
Posts: 1838
Joined: 13 Dec 2013, 16:35
Gender: Not specified

Re: Firmware Delta N0110: calcul formel GIAC même en mode ex

Unread postby parisse » 16 Nov 2019, 13:12

P.S.: tiplanet peut a mon sens diffuser Delta, mais Numworks ne peut pas actuellement diffuser Delta, seule la diffusion a titre non commercial est autorisee par la licence que Numworks a choisie. Par contre ils peuvent diffuser la version GPL de Khicas (mais sans Delta ca ne sert pas a grand chose...).
Si Numworks veut ajouter du calcul formel sur la N0110, ils peuvent tres bien passer un accord avec Damien et moi pour utiliser commercialement Delta, ou bien implementer independamment un SDK C compatible avec https://www-fourier.univ-grenoble-alpes.fr/~parisse/numworks/khicasnw.html#sec37.
User avatar
parisseVIP++
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 83.8%
 
Posts: 1838
Joined: 13 Dec 2013, 16:35
Gender: Not specified

Re: Firmware Delta N0110: calcul formel GIAC même en mode ex

Unread postby parisse » 17 Nov 2019, 09:39

Question: quelle taille maximale pour un script individuel vous parait raisonnable?
Sachant que si on diminue de 16K (qui est aussi la taille complete de l'espace de stockage des scripts sur Epsilon) a par exemple 12K, on peut gagner 4K sur le tas micro Python pour l'execution.
User avatar
parisseVIP++
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 83.8%
 
Posts: 1838
Joined: 13 Dec 2013, 16:35
Gender: Not specified

Re: Firmware Delta N0110: calcul formel GIAC même en mode ex

Unread postby Lionel Debroux » 17 Nov 2019, 10:12

Si je me souviens bien, l'expérience de critor et d'autres utilisateurs indiquait qu'un tas Python de 16 KB permettait de traiter des programmes de 4-5 KB seulement... donc en effet, pour un script unique, mieux vaut 12 KB de stockage de scripts + 20 KB de tas Python que 16 KB de stockage de scripts + 16 KB de tas Python.
J'ignore cependant si la limite de taille de stockage de scripts est facilement rencontrée en pratique par les utilisateurs qui utiliseraient plusieurs scripts.
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxModo.G
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 5.4%
 
Posts: 6407
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
Class: -
GitHub: debrouxl

Re: Firmware Delta N0110: calcul formel GIAC même en mode ex

Unread postby coco33920 » 17 Nov 2019, 10:23

Bonjour :D
Je sortais d'une version assez vielle de Delta datant d'il y a quelques semaines ( je me souviens pas exactement ) et là c'est vraiment top!
La version 12 + la facilité de passer d'un firmware à l'autre + plus de clignotement sur l'écran c'est vraiment hyper sympa!
J'ai pas fais tout le tour mais je sens que je vais passer pas mal de temps sur l'application extension :)
Merci à vous pour votre boulot!

Concernant la taille je rejoint les autres 12k me paraissent suffisant! Après je ne fais pas de gros script je suis trop habituée à développer sur PC donc dès que quelque chose devient complexe/long je bascule sur PC.
Last edited by coco33920 on 17 Nov 2019, 10:28, edited 1 time in total.
I think I can safely say that nobody understands quantum mechanics

La nature de la physique ( The Character of Physical Law ) (1967), Richard Feynman


Github : https://github.com/coco33920/
User avatar
coco33920Premium
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Level up: 66.1%
 
Posts: 46
Joined: 14 Oct 2017, 18:09
Location: Sol III, Sector 001, UFP
Gender: Female
Calculator(s):
Class: Terminale S SII
Twitter: coco33920_r
GitHub: coco33920

Online

Re: Firmware Delta N0110: calcul formel GIAC même en mode ex

Unread postby critor » 17 Nov 2019, 10:26

parisse wrote:Question: quelle taille maximale pour un script individuel vous parait raisonnable?
Sachant que si on diminue de 16K (qui est aussi la taille complete de l'espace de stockage des scripts sur Epsilon) a par exemple 12K, on peut gagner 4K sur le tas micro Python pour l'execution.

Me concernant je dirais 8K, mais j'ai l'habitude de compresser mon code à mort à cause des problèmes de mémoire sur NumWorks, ce qui n'est pas le cas de tout-le-monde.
Prenons donc de la marge avec 12K.
Image
User avatar
critorAdmin.
Niveau 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Level up: 99.6%
 
Posts: 34025
Images: 8827
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
Class: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

Re: Firmware Delta N0110: calcul formel GIAC même en mode ex

Unread postby parisse » 17 Nov 2019, 11:31

Ok, partons sur 12K. Sachant que rien n'empeche d'avoir 2 scripts tant qu'on ne depasse pas la taille du scriptstore (que je vais passer a 20K je pense, maintenant que c'est independant de la taille de script maximale). Ce qui nous fera un tas microPython a 24K+4K=28K, un peu en-dessous des 32K de Omega, mais pas beaucoup.
User avatar
parisseVIP++
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 83.8%
 
Posts: 1838
Joined: 13 Dec 2013, 16:35
Gender: Not specified

Re: Firmware Delta N0110: calcul formel GIAC même en mode ex

Unread postby parisse » 17 Nov 2019, 16:15

coco33920 wrote:
Concernant la taille je rejoint les autres 12k me paraissent suffisant! Après je ne fais pas de gros script je suis trop habituée à développer sur PC donc dès que quelque chose devient complexe/long je bascule sur PC.

Oui, surtout si on programme sur la calculatrice elle-meme, en general on n'ecrira pas plus d'une dizaine de lignes, bien loin de la taille des programmes de type des defis des concours de tiplanet, donc si 12K suffisent la, ca devrait suffire pour les autres usages.
Et si on programme la Numworks sur un PC, autant utiliser le PC, ou alors programmer en C pour beneficier de la vitesse d'execution (j'ai mis dans shift-ANS la fractale de Mandelbrot, on peut comparer avec celle ecrite en interprete...) et de la place disponible en ROM. C'est assez different d'un calcul CAS qui peut vite necessiter pas mal de memoire meme avec une ligne de commande tres courte, sans que la personne qui lance le calcul n'en ait conscience.
User avatar
parisseVIP++
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 83.8%
 
Posts: 1838
Joined: 13 Dec 2013, 16:35
Gender: Not specified

Re: Firmware Delta N0110: calcul formel GIAC même en mode ex

Unread postby coco33920 » 17 Nov 2019, 18:29

Oui je suis plutôt d'accord je vois pas l'intérêt d'avoir autant de stockage si ça baisse le tas pour l'éxécution
I think I can safely say that nobody understands quantum mechanics

La nature de la physique ( The Character of Physical Law ) (1967), Richard Feynman


Github : https://github.com/coco33920/
User avatar
coco33920Premium
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Level up: 66.1%
 
Posts: 46
Joined: 14 Oct 2017, 18:09
Location: Sol III, Sector 001, UFP
Gender: Female
Calculator(s):
Class: Terminale S SII
Twitter: coco33920_r
GitHub: coco33920

PreviousNext

Return to News NumWorks

Who is online

Users browsing this forum: No registered users and 3 guests

-
Search
-
Featured topics
Concours TI-Planet-Casio de rentrée 2019. 3 défis pour plus d'une 15aine de calculatrices graphiques et nombre de goodies sortant de l'ordinaire ! :D
Comparaisons des meilleurs prix pour acheter sa calculatrice !
12
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...

Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety 
-
Stats.
368 utilisateurs:
>339 invités
>23 membres
>6 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)