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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    CEO
    Inscrit en
    Juillet 2012
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : CEO
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 78
    Par défaut Halide, un nouveau langage de programmation pour le traitement d'images, par des chercheurs du MIT
    Halide, un nouveau langage de programmation pour le traitement d'images
    Par des chercheurs du MIT


    Des chercheurs du laboratoire d'informatique et d'intelligence artificielle (CSAIL) du MIT ont présenté, dans un article publié à la conférence SIGGRAPH 2012, un nouveau langage de programmation, appelé Halide. Ce dernier a été conçu pour simplifier le développement d'applications de traitement d'images dans les systèmes informatiques modernes.



    Communément appelé DSL (domain-specific language), ce type de langage de programmation se réserve un usage restreint à un domaine bien spécifique. Dans le cas Halide, l'objectif principal est d'accentuer les performances des algorithmes utilisés dans le traitement d'image, tels que la segmentation ou le filtrage laplacien.

    Les chercheurs attestent que « les programmes Halide sont non seulement plus simples à lire, à écrire et à revoir que les programmes de traitement d'images écrits dans un langage conventionnel, mais du fait que Halide automatise les procédures d'optimisation de code qui pourrait prendre des heures à être faite manuellement, il est aussi considérablement plus rapide. ».

    L'équipe a utilisé Halide pour réécrire divers algorithmes connus dans le traitement d'images. Ils ont conclu que leurs versions étaient d’un tiers plus courtes et six fois plus rapides dans le traitement. L'un des facteurs importants étant le processus d'optimisation hautement parallélisé.


    Comparaison de codes C++ et Halide, aux performances équivalentes

    Il faut dire que Halide est une sorte d'extension intégrée dans C++, il fonctionne sous les plateformes x86-64/SSE, ARM v7/NEON et CUDA.

    Il prend en charge les unités SIMD, les multiples cœurs et les hiérarchies de mémoires complexes.

    Le compilateur en question fonctionne sous les distributions Linux majeures telles qu’Ubuntu 12.04, ainsi que sous Mac OS X. L'équipe de recherche a même utilisé les versions 10.6 et 10.8 de l'OS d'Apple pour son travail.

    Les chercheurs affirment que même si le portage sous Windows est techniquement faisable, ils n'ont pas essayé de le réaliser.


    Site officiel de Halide : un langage open source
    Article de recherche détaillé (PDF, 12 Mo)

    Source : MIT

    Et vous ?

    Que pensez-vous de Halide ?
    Comptez-vous l'utiliser ?

  2. #2
    Membre Expert
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 149
    Par défaut
    Je ne connais pas grand chose dans le domaine de l'image, mais faut bien avouer que le code montré est cent fois plus simple à lire et à comprendre !

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    319
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 319
    Par défaut
    Intéressant en effet. Le langage semble un mix entre C++ et du langage MatLab.
    Le véritable tour de force, plus que dans la ré-écriture simplifié des fonctions de traitement, se trouve être dans l'optimisation totale des ressources pour effectuer les calculs.

    Ceci dit, je ne comprends pas ce que le compilateur produit : une librairie typée C++ qui peut être référencée ?

  4. #4
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Par défaut
    Les DSEL non sont pas une spécificité du C++. Par contre, avec la méta programmation, il est possible d'avoir un coût supplémentaire à l’exécution de 0.
    Voir boost proto ou la série d'article Expressive C++ de Eric Niebler sur http://cpp-next.com (en cours de traduction)

  5. #5
    Membre extrêmement actif
    Avatar de kedare
    Homme Profil pro
    SRE
    Inscrit en
    Juillet 2005
    Messages
    1 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Espagne

    Informations professionnelles :
    Activité : SRE

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 549
    Par défaut
    Hmm mais il y a pas déjà le GLSL qui permet de faire ça avec un langage specialisé ?

  6. #6
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Par défaut
    Citation Envoyé par kedare Voir le message
    Hmm mais il y a pas déjà le GLSL qui permet de faire ça avec un langage specialisé ?
    Hum, non. Le GLSL (OpenGL Shading Language) est un langage pour écrire les shaders (le code exécuté sur les cartes graphiques). Donc on peut considérer le GLSL comme un DSL (langage spécialisé dans un domaine), mais bas niveau pour écrire de la 2D/3D.
    Halide est un DSL permettant d'écrire des traitements haut niveau, avec une syntaxe simplifiée

Discussions similaires

  1. Réponses: 0
    Dernier message: 01/01/2014, 18h17
  2. Réponses: 290
    Dernier message: 31/05/2013, 11h43
  3. Quel langage/outil libre pour du traitement d'image?
    Par Miss Ti dans le forum Langages de programmation
    Réponses: 16
    Dernier message: 04/08/2008, 15h02
  4. Quel langage de programmation pour des programmes simples ?
    Par Pierre.g dans le forum Langages de programmation
    Réponses: 18
    Dernier message: 22/11/2006, 15h22
  5. Choix d'un langage de programmation pour une application orientée web
    Par Mick DG dans le forum Général Conception Web
    Réponses: 10
    Dernier message: 12/07/2006, 14h45

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