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

C++ Discussion :

Blaze 2.2 débarque en version 2.2


Sujet :

C++

  1. #1
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 826
    Points : 218 287
    Points
    218 287
    Billets dans le blog
    117
    Par défaut Blaze 2.2 débarque en version 2.2
    Blaze 2.2 débarque en version 2.2
    Avec sa centaine d'améliorations, cette version apporte le support des matrices symétriques


    Blaze est une bibliothèque mathématique C++, open source pour les calculs arithmétiques denses. Grâce à son implémentation utilisant les expressions templates intelligentes à la pointe de la technique, Blaze associe la facilité d'utilisation d'un langage spécifique au domaine aux performances digne du HPC. Ainsi, c'est l'une des plus rapides et intuitives bibliothèques mathématiques C++.

    Parmi ses fonctionnalités, vous retrouverez :
    • de hautes performances grâce à l'intégration des bibliothèques BLAS et des améliorations manuelles des noyaux mathématiques du monde du HPC ;
    • une exécution parallèle avec OpenMP, les threads C++11 et Boost ;
    • une bibliothèque intuitive et aussi facile d'utilisation qu'un langage spécifique au domaine ;
    • une arithmétique unifiée que ce soit pour les vecteurs et matrices denses ou éparses ;
    • une arithmétique rigoureusement testée ;
    • un code C++ portable de haute qualité.


    Voici un exemple de code pour l'addition de deux vecteurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    #include <iostream>
    #include <blaze/Math.h>
     
    using blaze::StaticVector;
    using blaze::DynamicVector;
     
    // Instantiation of a static 3D column vector. The vector is directly initialized as
    //    ( 4 -2  5 )
    StaticVector<int,3UL> a( 4, -2, 5 );
     
    // Instantiation of a dynamic 3D column vector. Via the subscript operator the values are set to
    //    ( 2  5 -3 )
    DynamicVector<int> b( 3UL );
    b[0] = 2;
    b[1] = 5;
    b[2] = -3;
     
    // Adding the vectors a and b
    DynamicVector<int> c = a + b;
     
    // Printing the result of the vector addition
    std::cout << "c =\n" << c << "\n";
    Si cela vous a donné envie de tester, n'hésitez pas à lire la page d'introduction, ou encore, de voir les performances réelles de celle-ci.


    La version 2 apportait les fonctionnalités parallèles décuplant ainsi les performances de la bibliothèque. La version 2.1 continuait dans cette lignée en améliorant les capacités de parallélisation et en ajoutant le support des threads Boost et C++11.
    Finalement, la version 2.2 apporte bien sûr les habituelles améliorations et corrections de bogues liées à toute nouvelle version, mais aussi le support des matrices symétriques. Grâce à celle-ci, de nouvelles optimisations aussi bien de performances que de mémoire sont possibles.


    Pour finir, vous pouvez télécharger Blaze 2.2 sur Google Code. La bibliothèque est sous licence BSD.


    Votre opinion

    Quels sont vos besoins ? Qu'utilisiez-vous jusqu'à présent ?
    Pensez-vous que le C++ a sa place dans le monde du HPC ?


    Source

    Site officiel
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    383
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 383
    Points : 658
    Points
    658
    Par défaut
    Ils mettent l'accent sur le comparatif aux autres librairies au niveau des performances. Dommage qu'il n'y ai aucun comparatif au point de vue des fonctionnalités. J'ai eu l'occasion d'utiliser armadillo et les possibilités sont impressionnantes.
    Un petit si la réponse convient. Merci.

  3. #3
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    Je ne vois pas non plus quelle implémentation des BLAS ils utilisent -- vu qu'ils disent en requérir une, et que justement on en voit une dans certains benchs...
    Intéressant, mais pas très clair.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

Discussions similaires

  1. Réponses: 3
    Dernier message: 01/05/2015, 21h12
  2. Firefox 28 débarque en version finale
    Par Stéphane le calme dans le forum Firefox
    Réponses: 7
    Dernier message: 24/03/2014, 15h23
  3. [Kylix] cours & version utilisable de Kylix
    Par Suricate dans le forum EDI
    Réponses: 1
    Dernier message: 19/09/2002, 19h22
  4. Version étudiant de Delphi 6
    Par Smortex dans le forum EDI
    Réponses: 2
    Dernier message: 20/07/2002, 12h13

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