Oui, -static-libgfortran fonctionne avec mon exemple OpenMP. En ce moment je commence à explorer les coarrays et autres routines collectives, et j'ai créé un dépôt pour faire des tests (mais je n'utilise pas -static-libgfortran dans mes comparatifs pour rester simple) : https://github.com/vmagnin/exploring_coarrays
Sur Pi Monte Carlo, gfortran+OpenMP est gagnant. Mais on peut penser que les compilateurs Fortran vont continuer de s'améliorer avec les coarrays, les cosum, etc. La version avec co_sum n'est pas loin derrière OpenMP.
Le -static-libgfortran m'a été susurré par un développeur de gfortran. Je l'ai testé sur un petit algorithme de calcul de Pi par Monte Carlo et voici ce que j'obtiens en temps de calcul et en taille d'exécutable en fonction des drapeaux :
normal : 20,1 s ;17 ko
-static : 19,4 s ;1,3 Mo
-static-libgfortran : 18,8 s ;287 ko
Apparemment, ça embarque moins de choses dans l'exécutable, mais c'est un peu plus rapide (-3 %, c'est modeste mais c'est toujours ça de gagné quand c'est long). J'ai cru comprendre que le -static-libgfortran permettait d'embarquer les fonctions intrinsèques du langage situées dans libgfortran comme RANDOM_NUMBER() que j'utilise dans mon test. Donc pour cette librairie c'est en static et pour les autres en shared.
Je vais demander à la personne de m'expliquer plus précisément les choses. Et je posterai si j'ai une réponse claire.
Après, bien sûr, ça améliore les choses sur ce programme-là, mais ça n'est pas forcément une loi générale. A tester pour chaque programme, comme c'est souvent le cas en optimisation.
Many, if not most, Fortran implementations support these degree-argument
versions as extensions, and they are widely used. In the spirit of
standardizing existing practice, we should add the following generic
intrinsic functions to the standard: ACOSD, ASIND, ATAN2D…
[…]
This provides a portable mechanism for programs that have
mathematical formulas that need the actual degrees, and don't
want the overhead of converting to/from radians.
Plus étonnant, il y a même dans cette norme l'apparition de fonctions trigonométriques où les angles sont exprimés en multiples de : ACOSPI, ASINPI, ATANPI, ATAN2PI, COSPI, SINPI, TANPI. Le message correspondant est intitulé "IEEE Circular trigonometric functions": https://j3-fortran.org/doc/year/19/19-204.txt
A noter que Lubuntu a automatiquement créé un fichier de swap de 512 Mo. Avec 2 Go de RAM, c'est indispensable pour éviter de figer le système en cas de saturation de la RAM. Ce qui peut arriver vite avec un navigateur (il faut bien sûr éviter d'ouvrir trop d'onglets…).
J'essaierais un Lubuntu et je remplacerais le disque dur par un petit SSD (s'il y a une connecteur SATA sur la carte mère). J'utilise toujours Lubuntu pour les vieux coucous, c'est la plus légère des Ubuntu.
J'ai installé un Lubuntu 21.04 Beta (https://lubuntu.fr/) hier sur un portable HP Compaq 6715b (BIOS datant de 2006) et ça marche très bien, malgré les 2 Go de RAM, y compris Firefox pour aller sur YouTube. Mais c'est vrai que le processeur a 2 coeurs : c'est un AMD Turion 64 X2. Et le passage à un SSD l'a rendu beaucoup plus agréable à utiliser…
Tu n'as qu'à essayer quelques une des distributions citées ici avec une clé Live-USB avant d'installer. Ca te permettra de voir si ça fonctionne d'une façon acceptable.
Oui, j'utilise ghostwriter, disponible dans les dépôts Ubuntu en version 1.8.1. L'écran est divisé en deux, l'éditeur Markdown à gauche et la visualisation à droite.
J'ai eu une expérience mitigée avec ifort 2015, qui marchait très bien avec certains codes, mais pas avec le projet gtk-fortran. Comme il était payant, je n'avais malheureusement pas pu avoir les versions ultérieures pour corriger le défaut.
Maintenant qu'il est gratuit, ça facilitera les choses.
Mais gfortran est clairement mon compilateur n°1. J'ai rarement eu des soucis avec. A part un bug qui a traîné pendant quelques années…
Ce qui m'intéresse dans ifort, c'est en fait d'avoir deux compilateurs. C'est toujours intéressant de compiler avec plusieurs compilateurs, ça permet d'obtenir un code plus solide car les messages peuvent être complémentaires.
Attention, j'ai un PC avec une puce graphique Intel i915 : depuis que j'ai upgradé en Ubuntu 20.10 je suis confronté à un bug du Kernel 5.8. Impossible d'ouvrir une session Plasma/KDE.
En attendant la résolution du problème, j'ai désinstallé le Kernel 5.8 et j'utilise le 5.4.
Exactement, j'avais un ZTE Open C avec un Firefox OS 2.1, que j'aimais bien mais qui était un peu limité, et au moment où avec la version 2.5 le système allait vraiment commencer à disposer de toutes les fonctionnalités qu'on pouvait en attendre, pouf… le projet est abandonné… C'était un peu bizarre…
Sous Kubuntu, ça se fait normalement tout seul si la clef est connue du noyau. Dans l'applet réseau, il suffit de cliquer sur le bon réseau (les identifiants des cartes réseau apparaissent entre parenthèses derrière le nom du réseau).
Si c'est un problème matériel, tu peux toujours acheter une clef Wi-Fi, par exemple chez tp-link. Chez moi j'en utilise souvent une (TL-WN821N) car la carte Wi-Fi de mon portable et ma borne Wi-Fi ne s'entendent pas toujours bien… Alors qu'au bureau je n'ai pas de souci.
Dans ce projet, il s'agissait pourtant essentiellement de simples démos. Mais qui d'un autre point de vue étaient justement faites pour explorer de nombreux widgets. Donc c'est normal d'avoir été confronté à pas mal de petits ou gros changements (pour faire simplement tourner les applis comme avant, sans même utiliser les nouveautés de GTK 4).
Donc la migration vaut le coup si :
- on veut profiter des nouveautés de GTK 4,
- et/ou on vise une pérennité de l'application au-delà des 10 prochaines années.
Pour développer une nouvelle application, on choisira GTK 4 si on n'est pas ultra-pressé : pour l'instant GTK 4.0.0 est dans Fedora Rawhide et devrait arriver dans une semaine ou deux dans Fedora 33. Dans Debian, elle est encore dans la branche expérimentale. Donc je ne sais pas encore si elle apparaîtra dans Ubuntu 21.04.
Voir : https://pkgs.org/search/?q=gtk4
Enfin, il y a un Discourse très actif pour les développeurs GTK : https://discourse.gnome.org/c/platform/5
Emmanuele Bassi, un des développeurs de GTK, y est très actif et vous apporte toujours des réponses nettes et claires.
C'est sûr que ça fait à peu près un an que j'ai commencé la migration du projet gtk-fortran de GTK 3 vers GTK 4. Ca fait pas mal de casse dans les API. Migrer une grosse application, ça représentera un gros boulot. Surtout si finalement on se contente de faire marcher l'existant avec le nouveau GTK et qu'on ne tire pas profit des nouvelles API.
Probablement qu'en 2030, la libgtk-3.0 sera toujours présente dans nos distributions…
Idem pour mettre à jour un système. Sur un vieux PC, si la pile du BIOS est HS, on se retrouve avec une date bidon d'une année lointaine, et les serveurs de mises à jour peuvent refuser de servir les mises à jour. Un petit $ date --set="une date" permet alors de se faire accepter.
Peut-être qu'il serait possible de trouver une barrette de mémoire d'occasion et un disque dur plus rapide d'occasion pour le rebooster un peu ? (voire un SSD…) Il faut voir si le coût est acceptable.
Baloo est le système d'indexation de KDE. Chaque bureau graphique peut avoir un système différent. Dans le cas de GNOME, je ne sais pas comment il s'appelle.
Mais en général, il y a toujours quelque part dans les paramètres du système un endroit où on peut désactiver le système d'indexation.
Concernant le navigateur, je pense qu'avec 512 Mo il faut éviter Firefox ! En-dessous de 2 Go de RAM, c'est difficile de naviguer avec un gros navigateur. En tout cas, il faut éviter d'ouvrir plusieurs onglets… Sinon, il va manger toute la RAM.
[^] # Re: Option -static-libgfortran
Posté par vmagnin (site web personnel) . En réponse au journal Encore des nouvelles de Fortran. Évalué à 2. Dernière modification le 06 mai 2021 à 18:17.
Oui,
-static-libgfortran
fonctionne avec mon exemple OpenMP. En ce moment je commence à explorer les coarrays et autres routines collectives, et j'ai créé un dépôt pour faire des tests (mais je n'utilise pas-static-libgfortran
dans mes comparatifs pour rester simple) :https://github.com/vmagnin/exploring_coarrays
Sur Pi Monte Carlo, gfortran+OpenMP est gagnant. Mais on peut penser que les compilateurs Fortran vont continuer de s'améliorer avec les coarrays, les cosum, etc. La version avec
co_sum
n'est pas loin derrière OpenMP.[^] # Re: Nostalgie
Posté par vmagnin (site web personnel) . En réponse au journal Encore des nouvelles de Fortran. Évalué à 7.
:-)
Voilà un serpent de mer qui est plus vieux que je ne pensais !
[^] # Re: Option -static-libgfortran
Posté par vmagnin (site web personnel) . En réponse au journal Encore des nouvelles de Fortran. Évalué à 6. Dernière modification le 06 mai 2021 à 17:31.
Le
-static-libgfortran
m'a été susurré par un développeur de gfortran. Je l'ai testé sur un petit algorithme de calcul de Pi par Monte Carlo et voici ce que j'obtiens en temps de calcul et en taille d'exécutable en fonction des drapeaux :Apparemment, ça embarque moins de choses dans l'exécutable, mais c'est un peu plus rapide (-3 %, c'est modeste mais c'est toujours ça de gagné quand c'est long). J'ai cru comprendre que le
-static-libgfortran
permettait d'embarquer les fonctions intrinsèques du langage situées dans libgfortran commeRANDOM_NUMBER()
que j'utilise dans mon test. Donc pour cette librairie c'est enstatic
et pour les autres enshared
.J'ai trouvé ça, mais c'est un peu court jeune homme :
https://gcc.gnu.org/onlinedocs/gfortran/Link-Options.html#Link-Options
Je vais demander à la personne de m'expliquer plus précisément les choses. Et je posterai si j'ai une réponse claire.
Après, bien sûr, ça améliore les choses sur ce programme-là, mais ça n'est pas forcément une loi générale. A tester pour chaque programme, comme c'est souvent le cas en optimisation.
[^] # Re: Sérieusement ?
Posté par vmagnin (site web personnel) . En réponse au journal Encore des nouvelles de Fortran. Évalué à 8.
Oui, personnellement, ça ne me manquait pas !
J'ai trouvé l'argumentaire de la décision (16-10-2018) :
https://j3-fortran.org/doc/year/18/18-272.txt
Plus étonnant, il y a même dans cette norme l'apparition de fonctions trigonométriques où les angles sont exprimés en multiples de
: ACOSPI, ASINPI, ATANPI, ATAN2PI, COSPI, SINPI, TANPI. Le message correspondant est intitulé "IEEE Circular trigonometric functions":
https://j3-fortran.org/doc/year/19/19-204.txt
On les retrouve dans un certain nombre de librairies mathématiques, par exemple :
https://docs.oracle.com/cd/E19059-01/stud.10/819-0499/ncg_lib.html
Ça doit répondre à des disciplines où exprimer ainsi les angles est une pratique courante.
[^] # Re: Lubuntu ?
Posté par vmagnin (site web personnel) . En réponse au message Quelle distribution de Linux pour vieux PC ?. Évalué à 1.
A noter que Lubuntu a automatiquement créé un fichier de swap de 512 Mo. Avec 2 Go de RAM, c'est indispensable pour éviter de figer le système en cas de saturation de la RAM. Ce qui peut arriver vite avec un navigateur (il faut bien sûr éviter d'ouvrir trop d'onglets…).
# Lubuntu ?
Posté par vmagnin (site web personnel) . En réponse au message Quelle distribution de Linux pour vieux PC ?. Évalué à 1. Dernière modification le 03 avril 2021 à 10:26.
J'essaierais un Lubuntu et je remplacerais le disque dur par un petit SSD (s'il y a une connecteur SATA sur la carte mère). J'utilise toujours Lubuntu pour les vieux coucous, c'est la plus légère des Ubuntu.
J'ai installé un Lubuntu 21.04 Beta (https://lubuntu.fr/) hier sur un portable HP Compaq 6715b (BIOS datant de 2006) et ça marche très bien, malgré les 2 Go de RAM, y compris Firefox pour aller sur YouTube. Mais c'est vrai que le processeur a 2 coeurs : c'est un AMD Turion 64 X2. Et le passage à un SSD l'a rendu beaucoup plus agréable à utiliser…
Tu n'as qu'à essayer quelques une des distributions citées ici avec une clé Live-USB avant d'installer. Ca te permettra de voir si ça fonctionne d'une façon acceptable.
[^] # Re: Test d'éditeurs chez NextInpact
Posté par vmagnin (site web personnel) . En réponse au message Éditeur de markdown. Évalué à 1.
Oui, j'utilise ghostwriter, disponible dans les dépôts Ubuntu en version 1.8.1. L'écran est divisé en deux, l'éditeur Markdown à gauche et la visualisation à droite.
[^] # Re: Compilateur bogué
Posté par vmagnin (site web personnel) . En réponse au lien Intel publie gratuitement son oneAPI Toolkit, qui inclue la dernière version de ses compilateurs. Évalué à 4. Dernière modification le 09 février 2021 à 10:39.
J'ai eu une expérience mitigée avec ifort 2015, qui marchait très bien avec certains codes, mais pas avec le projet gtk-fortran. Comme il était payant, je n'avais malheureusement pas pu avoir les versions ultérieures pour corriger le défaut.
Maintenant qu'il est gratuit, ça facilitera les choses.
Mais gfortran est clairement mon compilateur n°1. J'ai rarement eu des soucis avec. A part un bug qui a traîné pendant quelques années…
Ce qui m'intéresse dans ifort, c'est en fait d'avoir deux compilateurs. C'est toujours intéressant de compiler avec plusieurs compilateurs, ça permet d'obtenir un code plus solide car les messages peuvent être complémentaires.
# ménage
Posté par vmagnin (site web personnel) . En réponse au message Espace disque dur. Évalué à -1. Dernière modification le 23 janvier 2021 à 22:17.
Tu peux désinstaller les noyaux que tu n'utilises pas, ils peuvent s'accumuler au fil des mises à jour. Regarde dans muon ou synaptic.
Tu peux aussi installer le paquet bleachbit pour faire du ménage. En particulier lancer la version root pour nettoyer le système.
# Bug Kernel 5.8
Posté par vmagnin (site web personnel) . En réponse au message [Résolu] Puce graphique intel non detectée. Évalué à 3.
Attention, j'ai un PC avec une puce graphique Intel i915 : depuis que j'ai upgradé en Ubuntu 20.10 je suis confronté à un bug du Kernel 5.8. Impossible d'ouvrir une session Plasma/KDE.
En attendant la résolution du problème, j'ai désinstallé le Kernel 5.8 et j'utilise le 5.4.
https://askubuntu.com/questions/1288395/system-is-unusable-after-upgrade-to-20-10-i915-gpu-hang
https://gitlab.freedesktop.org/drm/intel/-/issues/2334
[^] # Re: Erreur de cible
Posté par vmagnin (site web personnel) . En réponse à la dépêche Systèmes d'exploitation pour téléphones — partie 4 : Firefox OS 🦊🚀. Évalué à 3. Dernière modification le 10 janvier 2021 à 12:20.
Oui, le copier/coller n'est apparu que vers la 2.2 :
https://blog.genma.fr/?Test-de-la-version-2-2-de-FirefoxOS
Douglas Engelbart l'avait pourtant montré en 1968 :
https://www.01net.com/actualites/quand-fut-invente-le-copier-coller-515762.html
[^] # Re: La RAM ?
Posté par vmagnin (site web personnel) . En réponse au message [Résolu par magie]PC qui ne boot plus du jour au lendemain !. Évalué à 1.
Oui, ça peut être :
- la carte mère,
- le processeur,
- peut-être les barrettes, mais est-ce qu'on n'aurait pas quand même un affichage dans ce cas ?
[^] # Re: alimentation ?
Posté par vmagnin (site web personnel) . En réponse au message [Résolu par magie]PC qui ne boot plus du jour au lendemain !. Évalué à 2.
Dans ce cas-là, le BIOS devrait quand même émettre des bip bip…
[^] # Re: Kai OS
Posté par vmagnin (site web personnel) . En réponse à la dépêche Systèmes d'exploitation pour téléphones — partie 4 : Firefox OS 🦊🚀. Évalué à 5. Dernière modification le 07 janvier 2021 à 20:53.
Exactement, j'avais un ZTE Open C avec un Firefox OS 2.1, que j'aimais bien mais qui était un peu limité, et au moment où avec la version 2.5 le système allait vraiment commencer à disposer de toutes les fonctionnalités qu'on pouvait en attendre, pouf… le projet est abandonné… C'était un peu bizarre…
Je ne me sers plus de mon ZTE (en tant que téléphone) mais je l'ai passé en LinageOS :
https://blog.mossroy.fr/2018/11/21/passer-un-zte-open-c-sous-lineage-os/
# Kubuntu
Posté par vmagnin (site web personnel) . En réponse au message Kubuntu 20 - Adaptateur WIFI TP-Link AC600 Archer T2U Nano. Évalué à 1.
Sous Kubuntu, ça se fait normalement tout seul si la clef est connue du noyau. Dans l'applet réseau, il suffit de cliquer sur le bon réseau (les identifiants des cartes réseau apparaissent entre parenthèses derrière le nom du réseau).
# clé Wi-Fi
Posté par vmagnin (site web personnel) . En réponse au message Kubuntu 20 - Wifi a arrêté de fonctionner. Évalué à 1.
Si c'est un problème matériel, tu peux toujours acheter une clef Wi-Fi, par exemple chez tp-link. Chez moi j'en utilise souvent une (TL-WN821N) car la carte Wi-Fi de mon portable et ma borne Wi-Fi ne s'entendent pas toujours bien… Alors qu'au bureau je n'ai pas de souci.
[^] # Re: Portabilité ?
Posté par vmagnin (site web personnel) . En réponse au lien Scoop : GTK+2 is dead ! (ha oui, et GTK4 est sorti). Évalué à 3.
Les changements à apporter pour migrer de GTK 3 à 4 sont listés ici:
https://developer.gnome.org/gtk4/4.0/gtk-migrating-3-to-4.html
https://gitlab.gnome.org/GNOME/gtk/-/blob/master/NEWS
Mon expérience personnelle, dans le cadre de la migration de gtk-fortran de GTK 3 vers 4, est qu'il y a pas mal de changements à faire :
https://github.com/vmagnin/gtk-fortran/issues?page=2&q=label%3A%22GTK+4%22+is%3Aclosed
Dans ce projet, il s'agissait pourtant essentiellement de simples démos. Mais qui d'un autre point de vue étaient justement faites pour explorer de nombreux widgets. Donc c'est normal d'avoir été confronté à pas mal de petits ou gros changements (pour faire simplement tourner les applis comme avant, sans même utiliser les nouveautés de GTK 4).
Donc la migration vaut le coup si :
- on veut profiter des nouveautés de GTK 4,
- et/ou on vise une pérennité de l'application au-delà des 10 prochaines années.
Pour développer une nouvelle application, on choisira GTK 4 si on n'est pas ultra-pressé : pour l'instant GTK 4.0.0 est dans Fedora Rawhide et devrait arriver dans une semaine ou deux dans Fedora 33. Dans Debian, elle est encore dans la branche expérimentale. Donc je ne sais pas encore si elle apparaîtra dans Ubuntu 21.04.
Voir : https://pkgs.org/search/?q=gtk4
La 4.0.0 présente bien sûr encore des bugs :
https://gitlab.gnome.org/GNOME/gtk/-/issues
et une version mineure devrait sortir pour GNOME 40.
Enfin, il y a un Discourse très actif pour les développeurs GTK :
https://discourse.gnome.org/c/platform/5
Emmanuele Bassi, un des développeurs de GTK, y est très actif et vous apporte toujours des réponses nettes et claires.
# Un article en français détaillant les nouveautés de GTK 4
Posté par vmagnin (site web personnel) . En réponse au lien Scoop : GTK+2 is dead ! (ha oui, et GTK4 est sorti). Évalué à 2.
https://gtk.developpez.com/actu/311313/GTK-4-0-est-disponible-La-boite-a-outils-pour-realiser-des-interfaces-graphiques-apporte-des-ameliorations-dans-le-transfert-des-donnees-et-d-une-prise-en-charge-integree-de-la-lecture-multimedia/
[^] # Re: Portabilité ?
Posté par vmagnin (site web personnel) . En réponse au lien Scoop : GTK+2 is dead ! (ha oui, et GTK4 est sorti). Évalué à 4.
C'est sûr que ça fait à peu près un an que j'ai commencé la migration du projet gtk-fortran de GTK 3 vers GTK 4. Ca fait pas mal de casse dans les API. Migrer une grosse application, ça représentera un gros boulot. Surtout si finalement on se contente de faire marcher l'existant avec le nouveau GTK et qu'on ne tire pas profit des nouvelles API.
Probablement qu'en 2030, la libgtk-3.0 sera toujours présente dans nos distributions…
[^] # Re: Autre article
Posté par vmagnin (site web personnel) . En réponse au journal COBOL : c'est dans les vieilles marmites.... Évalué à 3.
Une banque qui tiendrait ses comptes en virgule flottante (IEEE754), ça serait embêtant…
# Mises à jour
Posté par vmagnin (site web personnel) . En réponse au journal DHCP et heure système. Évalué à 1. Dernière modification le 22 novembre 2020 à 14:35.
Idem pour mettre à jour un système. Sur un vieux PC, si la pile du BIOS est HS, on se retrouve avec une date bidon d'une année lointaine, et les serveurs de mises à jour peuvent refuser de servir les mises à jour. Un petit
$ date --set="une date"
permet alors de se faire accepter.[^] # Re: Installation ok, mais impossible d'accéder à Twitch
Posté par vmagnin (site web personnel) . En réponse au message Recherche une distribution compatible. Évalué à 1.
Peut-être qu'il serait possible de trouver une barrette de mémoire d'occasion et un disque dur plus rapide d'occasion pour le rebooster un peu ? (voire un SSD…) Il faut voir si le coût est acceptable.
[^] # Re: du materiel ?
Posté par vmagnin (site web personnel) . En réponse au message Mon pc a des phases rapide et d'autre très lente. Évalué à 1. Dernière modification le 20 novembre 2020 à 20:41.
Baloo est le système d'indexation de KDE. Chaque bureau graphique peut avoir un système différent. Dans le cas de GNOME, je ne sais pas comment il s'appelle.
Mais en général, il y a toujours quelque part dans les paramètres du système un endroit où on peut désactiver le système d'indexation.
[^] # Re: Comment installer Toutoulinux ?
Posté par vmagnin (site web personnel) . En réponse au message Recherche une distribution compatible. Évalué à 1.
Concernant le navigateur, je pense qu'avec 512 Mo il faut éviter Firefox ! En-dessous de 2 Go de RAM, c'est difficile de naviguer avec un gros navigateur. En tout cas, il faut éviter d'ouvrir plusieurs onglets… Sinon, il va manger toute la RAM.
Il vaut mieux essayer d'installer quelque chose de plus léger, comme par exemple midori :
https://astian.org/en/midori-browser/
[^] # Re: du materiel ?
Posté par vmagnin (site web personnel) . En réponse au message Mon pc a des phases rapide et d'autre très lente. Évalué à 1.
Voir le post https://linuxfr.org/forums/linux-debian-ubuntu/posts/ralentissement-ubuntu