π
<-

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

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 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.5%
 
Posts: 41980
Images: 15737
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

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 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 86%
 
Posts: 3662
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

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 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 86%
 
Posts: 3662
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

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 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 86%
 
Posts: 3662
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

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 DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.3%
 
Posts: 6865
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
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.
Dev OCaml, see Baguette# and HTMLFromTeXBooks
Étudiante en mathématique et informatique

Github : https://github.com/coco33920/
User avatar
coco33920Premium
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 76.8%
 
Posts: 60
Joined: 14 Oct 2017, 18:09
Location: Sol III, Sector 001, UFP
Gender: Female
Calculator(s):
MyCalcs profile
Class: MP/I
Twitter: coco33920_r
GitHub: coco33920

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 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.5%
 
Posts: 41980
Images: 15737
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

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 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 86%
 
Posts: 3662
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

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 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 86%
 
Posts: 3662
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

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
Dev OCaml, see Baguette# and HTMLFromTeXBooks
Étudiante en mathématique et informatique

Github : https://github.com/coco33920/
User avatar
coco33920Premium
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 76.8%
 
Posts: 60
Joined: 14 Oct 2017, 18:09
Location: Sol III, Sector 001, UFP
Gender: Female
Calculator(s):
MyCalcs profile
Class: MP/I
Twitter: coco33920_r
GitHub: coco33920

PreviousNext

Return to News NumWorks

Who is online

Users browsing this forum: ClaudeBot [spider] and 12 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
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 Calculatrices à acheter chez Calcuso
-
Stats.
784 utilisateurs:
>721 invités
>55 membres
>8 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)