IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Rédacteur technique
    Inscrit en
    juin 2016
    Messages
    1 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Rédacteur technique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : juin 2016
    Messages : 1 760
    Points : 40 283
    Points
    40 283
    Par défaut Julia est le lauréat du prix de la DARPA pour créer un framework devant permettre de multiplier par 1 000
    Julia est le lauréat du prix de la DARPA pour créer un framework devant permettre de multiplier par 1000 la vitesse de la simulation électronique
    Julia est-il pour le calcul scientifique ce que Rust est pour la mémoire ?

    En à peine 10 ans d'existence, le langage de programmation Julia a su se faire une place de choix parmi les meilleurs langages utilisés pour le calcul scientifique et le calcul haute performance (HPC). Le langage a connu une augmentation significative de sa communauté au cours de ces dernières années et rien qu'en 2020, il a enregistré une augmentation de 87 % de ses téléchargements. Julia s'illustre de nouveau, car la DARPA vient d'octroyer un financement à Julia Computing pour apporter plus de performances, notamment en matière de vitesse, dans le domaine de la simulation de circuits électroniques. La vitesse devrait être multipliée par 1000.

    Accélérer la simulation de circuit électronique à l'aide de l'IA et du ML

    Il y a quelques jours, Julia Computing a reçu un financement de l'agence américaine DARPA (US Defense Advanced Research Projects Agency). Ce financement a été accordé pour accélérer la simulation de modèles de circuits analogiques et mixtes en utilisant des techniques d'apprentissage automatique (ML) et d'intelligence artificielle (IA) de pointe. En effet, la DARPA a lancé l'année dernière le programme Ditto. Selon les explications de l'agence fédérale, ce programme vise à explorer les nouvelles solutions d'IA de troisième génération dans le cadre de la simulation de systèmes microélectroniques.

    Nom : Evu5wKkUYAA0ioe.jpg
Affichages : 2111
Taille : 74,7 Ko

    La DARPA a déclaré que cet effort vise à développer un framework logiciel automatisé capable de prendre en compte la conception d'un système microélectronique, de former des modèles de substitution efficaces des composants du sous-système et de simuler ces conceptions 1000 fois plus vite tout en maintenant des niveaux de précision acceptables. En réponse à ce commentaire, Keno Fischer, cofondateur et CTO de Julia Computing, a mis en avant les qualités reconnues à Julia, permettant ainsi à son entreprise de décrocher le prix. Julia Computing est une société fondée en 2015 par l'ensemble des créateurs de Julia. Elle fournit des solutions d'entreprise évolutives via sa plateforme JuliaHub.

    « Les performances de Julia et ses capacités de programmation différentiable nous donnent un avantage unique dans la création de nouveaux outils de modélisation et de simulation », a-t-il déclaré. « En utilisant des architectures de substitution récemment développées, telles que notre architecture CTESN (Continuous Time Echo State Network), nous avons déjà pu démontrer une accélération 100 fois supérieure en employant ces techniques dans des simulations multiphysiques et nous sommes ravis d'apporter cette technologie à l'espace de simulation électronique », a-t-il ajouté.

    En outre, il est important de préciser qu'un récent domaine d'intérêt de Julia Computing a été la création d'une suite d'outils de modélisation et de simulation modernes renforcés par le ML, tels que le framework Pumas pour la simulation pharmaceutique. Toutefois, Julia Computing ne sera pas la seule société à travailler sur ce projet. Elle s'associe à QuEra Computing, une start-up spécialisée dans l'informatique quantique basée sur les atomes neutres. Elle est située à Boston, près de l'université Harvard. QuEra est fondée sur les recherches pionnières menées par les scientifiques Mikhail Lukin, Vladan Vuletic et Markus Greiner à Harvard et au MIT.

    La mission de QuEra est de construire les ordinateurs quantiques les plus évolutifs à ce jour afin de résoudre des problèmes utiles, mais traditionnellement difficiles à résoudre, pour des applications commerciales pertinentes dans les domaines de l'optimisation, de la simulation, de la science des matériaux, etc.

    Julia, un langage d'avenir ? Python, C/C++ et R doivent-ils le craindre ?

    Avec une courbe de croissance rarement rencontrée chez un jeune langage de programmation, Julia est désormais l'un des langages de privilégiés pour la science des données, l'intelligence artificielle et les applications de modélisation et de simulation. Selon des sources proches de Julia Computing, les conceptions sophistiquées de l'entreprise repoussent les limites des outils de simulation traditionnels, ce qui rend d'autant plus cruciale une accélération significative des performances de simulation. Julia Computing a l'intention de mettre ces capacités à la disposition de la grande industrie dans un avenir proche.

    À la manière de Rust pour la conception d'applications modernes et qui font une bonne utilisation de la mémoire, Julia est de plus en adopté dans la communauté, en particulier par la communauté scientifique. Sur 2020, il a enregistré une augmentation de 87 % de ses téléchargements. En comparaison à l’année 2019, c’est un gap haussier de 10 points de pourcentage. Alors, parviendra-t-il à remplacer C/C++ et Python dans la filière de la programmation et du calcul scientifique ? Pour l'instant, ces trois derniers continuent d'être largement utilisés et Python commence à rencontrer un grand succès dans l'enseignement, au détriment de Pascal.

    Toutefois, il faut préciser que Julia est de plus en plus mis sur la balance avec Python. Le premier rejoint le second sur le plan de la simplicité. Cela dit, Julia a été pensé dès le début pour offrir des performances de loin supérieures à celles de Python. Sur cet axe, le langage est comparé avec C/C++ et au langage Rust de Mozilla. La toute première tâche dans tout processus d’analyse de données consiste à lire des données. Cela doit être fait avec célérité et efficacité afin de pouvoir se consacrer à la tâche de traitement des données. À ce stade, Julia semble avoir de meilleures performances que Python.

    Par exemple, dans de nombreux secteurs et domaines, le format de fichier CSV est le format le plus utilisé pour le stockage et le partage des données tabulaires. Le chargement rapide et robuste des CSV est crucial, et il doit être bien adapté à une grande variété de tailles, de types et de formes de fichiers. Une étude parue au quatrième trimestre de l’année précédente illustre le fait que Julia est capable de lire les fichiers CSV dix à vingt fois plus vite que les langages Python et R. Attention toutefois, atteindre ces cimes peut requérir que l’utilisateur du langage possède l’expertise nécessaire pour effectuer des optimisations.

    Un autre point qui mérite aussi d'être souligné est que Python est le second langage d'une bonne partie des développeurs Julia. L'on peut alors se poser plusieurs questions. Utilisent-ils les deux langages de façon complémentaire pour tirer le meilleur des deux mondes ? Peut-être que, sans Julia, Python disposerait d'un lecteur de fichiers CSV aussi efficace que celui de Julia ? Ou alors les fonctionnalités de métaprogrammation et de combinaison de bibliothèques ? En tout cas, depuis 2009, bon nombre de langages se sont développés et ont pu attirer plus d'utilisateurs que Julia, avec une communauté plus grande : Swift, Go, Kotlin, Rust, par exemple.

    Dans le même temps, l'on ne sait pas comment Python, ou les autres langages avec lesquels Julia pourrait être en concurrence vont évoluer dans les prochaines années. Il serait donc précipité de dire que Julia, Python ou R dominera le domaine du calcul scientifique. En outre, les utilisateurs actuels de Julia précisent que peu de facteurs techniques les empêchent d'utiliser Julia autant qu'ils le voudraient. Ils sont plutôt limités par leur organisation, le peu de collègues qui ont entendu parler du langage, mais aussi par les ressources d'apprentissage disponibles.

    Source : Julia Computing

    Et vous ?

    Quel est votre avis sur le sujet ?
    Utilisez-vous Julia ? Quels sont les avantages que vous en tirez ?
    Pensez-vous que Julia va réussir à s'imposer comme langage de choix pour le calcul scientifique ?

    Voir aussi

    Le langage de programmation Julia ne cesse de gagner en adoption au sein de la communauté scientifique : hausse de 87 % des téléchargements sur 2020 en raison de son rapport simplicité-performance

    Julia, un langage d'avenir ? Quand certains l'estiment mal adapté à l'écriture de grandes bases de code, d'autres l'adoptent pour faciliter le développement et l'optimisation du code

    Le langage de programmation Julia serait capable de lire les fichiers CSV dix à vingt fois plus vite que Python et R, selon une étude

    Les raisons de l'adoption accélérée du langage Julia : un langage polyvalent, mais plus scientifique, supporte l'introspection et la métaprogrammation, selon Lee Phillips
    Contribuez au club : corrections, suggestions, critiques, ... Contactez le service news et Rédigez des actualités

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    août 2003
    Messages
    451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : août 2003
    Messages : 451
    Points : 705
    Points
    705
    Par défaut
    Je fais du Delphi en entreprise donc du Pascal et je ne suis pas fan, trop verbeux, une documentation pas terrible à mon goût
    Pour Python, le langage est polyvalent, on peut faire des calucul scientifique, scripts, du web, ... de tout quoi et il est facile à utiliser. De plus il est beaucoup utilisé pour du ML donc je pense qu'il ne va pas être détrôné si facilement
    Pour Julia, je n'ai pas essayé.

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur avant-vente
    Inscrit en
    septembre 2020
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur avant-vente

    Informations forums :
    Inscription : septembre 2020
    Messages : 125
    Points : 449
    Points
    449
    Par défaut
    Pumas, framework payant alors que la plupart des lib Julia sont gratuites. C'est d'avoir accès à des bibliothèques scientifiques gratuites qui fait l'intérêt du langage.

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    juillet 2007
    Messages
    821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : juillet 2007
    Messages : 821
    Points : 1 689
    Points
    1 689
    Par défaut
    Citation Envoyé par smarties Voir le message
    Pour Python, le langage est polyvalent, on peut faire des calucul scientifique, scripts, du web, ... de tout quoi et il est facile à utiliser. De plus il est beaucoup utilisé pour du ML donc je pense qu'il ne va pas être détrôné si facilement.
    Pour tout ceux qui défendent Python, Python est très bien implémenté mais il a un gros défaut : sa lenteur.

    Julia a la simplicité de Python avec la rapidité en plus.
    Il a cependant encore l'inconvénient d'avoir encore moins de librairies que Python, mais il évolue vite et permet un binding facile de Python.

    Pour moi Julia est l'avenir de Python mais il mettra sans doute plus de 10 ans à le dépasser.
    Tout ce que j'écris est libre de droits (Licence CC0) et je vous incite à faire de même.

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur avant-vente
    Inscrit en
    septembre 2020
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur avant-vente

    Informations forums :
    Inscription : septembre 2020
    Messages : 125
    Points : 449
    Points
    449
    Par défaut
    Citation Envoyé par abriotde Voir le message
    Pour tout ceux qui défendent Python, Python est très bien implémenté mais il a un gros défaut : sa lenteur.

    Julia à la simplicité de Python avec la rapidité en plus.
    Il a cependant encore l'inconvénient d'avoir encore moins de librairies que Python, mais il évolue vite et permet un binding facile de Python.

    Pour moi Julia est l'avenir de Python mais il mettra sans doute plus de 10 ans à le dépasser.
    C'est un peu plus compliqué que ça. Python fait appel à des backends compilés en C/C++/Fortran/etc... très performants.

    Pour les codes simples, Python est généralement plus performant que Julia puisqu'il s'épargne l'étape de compilation.

    Plus généralement, Julia devient intéressant par rapport à Python pour les codes dont le coût à la compilation est moindre par rapport au coût à l'exécution. Ça n'est pas le cas de tous les calculs scientifiques, loin de là.

  6. #6
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    juillet 2007
    Messages
    821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : juillet 2007
    Messages : 821
    Points : 1 689
    Points
    1 689
    Par défaut
    Citation Envoyé par Jeff_67 Voir le message
    C'est un peu plus compliqué que ça. Python fait appel à des backends compilés en C/C++/Fortran/etc... très performants.

    Pour les codes simples, Python est généralement plus performant que Julia puisqu'il s'épargne l'étape de compilation.

    Plus généralement, Julia devient intéressant par rapport à Python pour les codes dont le coût à la compilation est moindre par rapport au coût à l'exécution. Ça n'est pas le cas de tous les calculs scientifiques, loin de là.
    Mais la dernière version de Julia améliore ce point (avec LLVM je crois)
    Tout ce que j'écris est libre de droits (Licence CC0) et je vous incite à faire de même.

  7. #7
    Membre averti
    Homme Profil pro
    Ingénieur avant-vente
    Inscrit en
    septembre 2020
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur avant-vente

    Informations forums :
    Inscription : septembre 2020
    Messages : 125
    Points : 449
    Points
    449
    Par défaut
    Citation Envoyé par abriotde Voir le message
    Mais la dernière version de Julia améliore ce point (avec LLVM je crois)
    Pas vraiment non, le coût de la compilation en Julia est très élevé à cause de l'héritage et de l'inférence de type qui font que chaque fonction est compilée n fois selon les différents types que peuvent prendre les arguments en entrée.

  8. #8
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    avril 2017
    Messages
    1 411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : avril 2017
    Messages : 1 411
    Points : 5 789
    Points
    5 789
    Par défaut
    Citation Envoyé par Jeff_67 Voir le message
    Pumas, framework payant
    Encore heureux. C'est un "framework pour la simulation pharmaceutique". Je pense que les entreprises pharameutiques ont les moyens de payer leurs logiciels spécialisés

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    septembre 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : septembre 2012
    Messages : 30
    Points : 30
    Points
    30
    Par défaut
    Julia est connu pour être aussi "simple" que Python tout en ayant la rapidité de C/C++. Rust est réputé être aussi rapide que C/C++ tout en évitant les bugs.
    Donc, c'est C/C++ qui est visé et Julia et Rust doivent se craindre pour remplacer C/C++.

    L'avantage de Python est son écosystème et est utilisé principalement par les développeurs web et la science de données. Mais qui utilise Python pour le calcul haute performance (HPC) ?
    D'ailleurs, quand le temps d’exécution devient rédhibitoire en Python, l'écriture d'une DLL en C/C++ est la planche de salut.

    Pour ce qui est de le vitesse, Julia se vante de lire un fichier CSV (format texte) 10 fois plus vite. C'est bien. Utiliser des fichiers binaires (NetCDF, GRIB...) serait beaucoup mieux !

  10. #10
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    avril 2017
    Messages
    1 411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : avril 2017
    Messages : 1 411
    Points : 5 789
    Points
    5 789
    Par défaut
    Citation Envoyé par eric44000 Voir le message
    Pour ce qui est de le vitesse, Julia se vante de lire un fichier CSV (format texte) 10 fois plus vite. C'est bien. Utiliser des fichiers binaires (NetCDF, GRIB...) serait beaucoup mieux !
    C'est bien pour cela qu'il y a des packages prévus pour.
    https://github.com/JuliaGeo/NetCDF.jl
    https://github.com/weech/GRIB.jl

  11. #11
    Membre extrêmement actif
    Homme Profil pro
    Technicien de maintenance / Developpeur PHP
    Inscrit en
    mai 2015
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien de maintenance / Developpeur PHP
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : mai 2015
    Messages : 346
    Points : 1 264
    Points
    1 264
    Par défaut
    Pas vraiment non, le coût de la compilation en Julia est très élevé à cause de l'héritage et de l'inférence de type qui font que chaque fonction est compilée n fois selon les différents types que peuvent prendre les arguments en entrée.
    @Jeff_67
    ... ou du multi-dispatch dynamique plutôt, non ?

  12. #12
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    avril 2017
    Messages
    1 411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : avril 2017
    Messages : 1 411
    Points : 5 789
    Points
    5 789
    Par défaut
    Citation Envoyé par Jeff_67 Voir le message
    le coût de la compilation en Julia est très élevé à cause de l'héritage
    Il y a de l'héritage en Julia ?

    Citation Envoyé par Jeff_67 Voir le message
    et de l'inférence de type qui font que chaque fonction est compilée n fois selon les différents types que peuvent prendre les arguments en entrée.
    Je ne connais le code source du compilateur Julia mais ça m'étonnerait qu'il compile explicitement pour tous les types concrets. C'est justement l'intérêt des types polymorphics par rapport aux generics, si j'ai bien compris.

Discussions similaires

  1. Tim Berners-Lee lauréat du « Prix Nobel de l’informatique » 2016
    Par Stéphane le calme dans le forum Actualités
    Réponses: 1
    Dernier message: 06/04/2017, 15h09
  2. Réponses: 0
    Dernier message: 05/07/2010, 16h34
  3. Réponses: 2
    Dernier message: 14/10/2005, 17h05
  4. Réponses: 1
    Dernier message: 23/08/2005, 14h07
  5. Est ce que ça existe une api java pour code barre ?
    Par miloud dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 14/04/2005, 17h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo