Logiciel pour du calcul matriciel efficace

Messages : 5

Enregistré le : 18 juil. 2017 16:50

Classe : Prof en école d'ingé

Re: Logiciel pour du calcul matriciel efficace

Message par Puffin » 07 janv. 2021 10:51

Rien à voir avec le disque dur car tout est en mémoire. Ça vient du fait que Excel n'est pas fait pour faire ça.

Mais du coup je ne pige pas les 8 millions de ligne, si Excel a une limite à 6 millions. Enfin c'est pas très grave : Excel n'est pas fait pour ce job.

Tu devrais te mettre à un autre langage, ce type de projet est parfait pour s'en donner la motivation :
  • Arrête tes développements sous Excel
  • Reproduis les fonctionnalités actuelles dans un autre langage (généralement on est assez content à cette étape)
  • Amuse-toi un peu à comparer les performances si ça te tient à cœur
  • Améliore ton programme dans le nouveau langage uniquement

Messages : 0

Enregistré le : 30 juin 2020 22:46

Classe : prof

Localisation : -> . <-

Re: Logiciel pour du calcul matriciel efficace

Message par ericb » 07 janv. 2021 13:23

Bonjour,

Puisqu'il est question de suggérer autre chose, pour les temps de calcul dont tu as besoin, il y a des outils dédiés à ça, mais je ne vois pas d'autre solution que d'utiliser le C ou le C++.

Pour tes calculs, je suggère glm : https://github.com/g-truc/glm

Pour l'interface graphique, je suggèrerais : https://github.com/ocornut/imgui (ultra portable, tous les OS majeurs), associé à SDL2 (pour le fenêtrage et la super portabilité)/

Pour le tracé des courbes, j'utiliserais ImPlot (basé sur ImGui) : https://github.com/epezent/implot

Avec une machine récente, ça devrait se faire autour des 400 fps minimum. Mais c'est du C++

Comme les autres, personnes ayant répondu, je pense qu'il vaut mieux oublier Excel :-) , mais c'est toutefois un excellent choix pour ce qu'on appelle une preuve de concept. Dans une conception saine, c'est très intéressant de "concrétiser" une idée, rien que pour l'expliquer aux autres, avec un tableur ou un outil interprété basique.

Ce ne sont que des suggestions, et je retourne à mes copies ^^^

Messages : 3

Enregistré le : 06 mai 2016 14:51

Classe : Sorcier

Re: Logiciel pour du calcul matriciel efficace

Message par saysws » 10 janv. 2021 11:38

Hibiscus a écrit :
03 janv. 2021 22:22
!!! Team FORTRAN !!! <3 (ou C, allez a la rigueur)
Team Julia <3 <3 <3

En vrai, Fortran j'aime beaucoup comme ça, mais le langage est un peu sénile. En pratique pour faire des trucs concrets rapidement sur des vecteurs de grande taille (genre fft) il faut de la mémoire aligné (sinon il fait pas mieux que python en fait), sauf que le language a été conçu à l'époque des processeurs 8bits, donc la gestion de mémoire en 64 bits ça marche vraiment pas.

Le C il y a rien à dire, ça fait le taff, mieux que tout le reste d'un certain point de vue, il faut juste aimer quoi :mrgreen:

Mais comme tout le monde je plussois l'avis général : oui python c'est lent, et ne parlons pas d'excell pour faire du calcul scientifique. Tu peux utiliser pleins de trucs, ça demande juste un peu de temps de prise en main. Je recommande peut être plutôt Julia ou LuaJIT que C. Mais sinon à priori pour du calcul matriciel je pense que Fortran peut très bien faire l'affaire.

Après faudrait voir les codes, du python bien écrit avec 0 lignes en pur python (full numpy/scipy, avec des numpy.roll, matmul et co) ça tourne plutôt très vite, surtout si on accélère avec des packages de type JIT (Just-In-Time compilation).
2016-2018 - PCSI 1 / PC*- Champollion
2018- ? - ENS Ulm

Messages : 9666

Enregistré le : 30 juil. 2008 16:59

Classe : Dr.-Ing

Re: Logiciel pour du calcul matriciel efficace

Message par fakbill » 11 janv. 2021 16:03

oui python c'est lent, et ne parlons pas d'excel pour faire du calcul scientifique
Ca n'a pas beaucoup de sens.
Oublions déjà Excel qui n'est pas fait pour ça.
Python non plus mais personne ne fais les calculs en python.
Quand on fait du numpy ou du scipy, les calculs sont fait en fortran ou en C sous le manteau. Ce n'est pas toujours ultra optimisé et il y a qlqs overheads mais ce n'est pas la lenteur des boucles en python qui limite quoique ce soit.
La parallelisation dépend aussi directement de la façon dont les libs blas/lapack ont été compilées. rien à voir avec le python lui même.

Julia, oui c'est intéressant car le design du langage est bien foutu.
Pas prof.
Prépa, école, M2, thèse (optique/images) ->ingé dans le privé.

Messages : 9666

Enregistré le : 30 juil. 2008 16:59

Classe : Dr.-Ing

Re: Logiciel pour du calcul matriciel efficace

Message par fakbill » 12 janv. 2021 10:27

Pour info :
https://www.mathworks.com/help/matlab/m ... atlab.html
https://reference.wolfram.com/language/ ... .html#7441
"For dense arrays, LAPACK algorithms extended for arbitrary precision are used when appropriate.
BLAS technology is used to optimize for particular machine architectures"

bref tout le monde utilise ces libs qui vont bien et wrap tout ça a sa sauce.
Pas prof.
Prépa, école, M2, thèse (optique/images) ->ingé dans le privé.

Répondre