π
<-
Chat plein-écran
[^]

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

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

Message non lude critor » 16 Nov 2019, 12:50

parisse a écrit: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
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 41.8%
 
Messages: 41467
Images: 14480
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

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

Message non lude 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).
Avatar de l’utilisateur
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 77.2%
 
Messages: 3500
Inscription: 13 Déc 2013, 16:35
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

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

Message non lude 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.
Avatar de l’utilisateur
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 77.2%
 
Messages: 3500
Inscription: 13 Déc 2013, 16:35
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

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

Message non lude 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.
Avatar de l’utilisateur
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 77.2%
 
Messages: 3500
Inscription: 13 Déc 2013, 16:35
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

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

Message non lude 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.
Avatar de l’utilisateur
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 11.2%
 
Messages: 6859
Inscription: 23 Déc 2009, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: -
GitHub: debrouxl

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

Message non lude 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.
Dernière édition par coco33920 le 17 Nov 2019, 10:28, édité 1 fois.
Dev OCaml, see Baguette# and HTMLFromTeXBooks
Étudiante en mathématique et informatique

Github : https://github.com/coco33920/
Avatar de l’utilisateur
coco33920Premium
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 76.8%
 
Messages: 60
Inscription: 14 Oct 2017, 18:09
Localisation: Sol III, Sector 001, UFP
Genre: Femme
Calculatrice(s):
MyCalcs profile
Classe: MP/I
Twitter/X: coco33920_r
GitHub: coco33920

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

Message non lude critor » 17 Nov 2019, 10:26

parisse a écrit: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
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 41.8%
 
Messages: 41467
Images: 14480
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

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

Message non lude 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.
Avatar de l’utilisateur
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 77.2%
 
Messages: 3500
Inscription: 13 Déc 2013, 16:35
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

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

Message non lude parisse » 17 Nov 2019, 16:15

coco33920 a écrit:
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.
Avatar de l’utilisateur
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 77.2%
 
Messages: 3500
Inscription: 13 Déc 2013, 16:35
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

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

Message non lude 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/
Avatar de l’utilisateur
coco33920Premium
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 76.8%
 
Messages: 60
Inscription: 14 Oct 2017, 18:09
Localisation: Sol III, Sector 001, UFP
Genre: Femme
Calculatrice(s):
MyCalcs profile
Classe: MP/I
Twitter/X: coco33920_r
GitHub: coco33920

PrécédenteSuivante

Retourner vers News NumWorks

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 26 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
2453 utilisateurs:
>2440 invités
>8 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)