NVIDIA CUDA 4.1 est disponible, ouverture des sources du compilateur

La version 4.0 étant sortie en mai 2011, deux mois après une Release Candidate, voici la nouvelle cuvée CUDA, la version 4.1, qui se concentre sur trois axes (et non des moindres !) :

  • un Visual Profiler amélioré, avec analyse de performance automatisée ;
  • des centaines de nouvelles fonctions pour NPP (NVIDIA Performance Primitives), de nouvelles primitives pour le traitement des images et du signal fortement optimisées ;
  • un nouveau compilateur basé sur LLVM.

Ces nouvelles fonctionnalités ont principalement été développées à l’intention des (géo)physiciens, biologistes et chimistes. Évidemment, bien d’autres nouvelles fonctionnalités sont disponibles (support des fonctions de Bessel, nouveaux générateurs de nombres pseudoaléatoires, etc.).

Le profileur visuel

Cette nouvelle version de l’environnement de profiling basé sur Eclipse effectue une analyse pointue des performances des applications automatiquement, d’une manière encore simplifiée de telle sorte que tous les développeurs pourront retirer un maximum de performances de CUDA et de leur matériel en identifiant les goulots d’étranglement de leur implémentation et en les corrigeant, grâce à une suggestion étape par étape d’améliorations au code avec des liens avec la documentation déjà présente dans la boîte à outils.

null

Parallel Nsight 2.1

Un add-in pour Visual Studio combinant la puissance de l’EDI à celle du GPGPU : il permet de déboguer, profiler et optimiser du code prévu pour GPU à l’intérieur même de l’EDI, bien que plus prévu pour le CPU (que ce soit des kernels CUDA ou OpenCL, des shaders DirectX ou OpenGL).

Cette nouvelle version apporte la modification à chaud des shaders, mais aussi la visualisation des warps en cours d’exécution. On dispose désormais de plus d’informations sur ce qui se passe sur le GPU : l’état de CUDA au lancement, les spécificités du GPU courant (pilote, architecture, mémoire, etc.), filtrage des exceptions, assertions, points d’arrêt, etc. On peut également arrêter le débogage sur une assertion.

NVIDIA Performance Primitives

Le nombre de fonctions disponibles a doublé par rapport à la version précédente, principalement grâce au nouveau modules de traitement du signal, avec quelques modules supplémentaires pour le traitement des images, en plus des modules déjà disponibles pour les statistiques, le filtrage, les opérations morphologiques, les transformations linéaires et géométriques, la compression et bien d’autres (presque un millier de fonctions supplémentaires !).

LLVM

Un tout nouveau compilateur est disponible, basé sur LLVM. Il promet de belles optimisations sans devoir modifier le code, simplement en le recompilant (jusqu’à 10 %, selon les applications, sans aucune modification du code existant). Cette infrastructure de compilateurs est prévue pour être modulaire – il devrait donc être possible, à moindres frais, de fournir un compilateur CUDA pour d’autres plateformes que celles de NVIDIA, sans oublier le support de langages plus spécifiques que C, C++ et Fortran. En effet, les sources sont disponibles à tout qui en fait la demande.

null

Sources

Communiqué de presse

http://developer.nvidia.com/parallel-nsight-21-new-features

http://drdobbs.com/architecture-and-design/232500594

Télécharger la nouvelle version du CUDA Toolkit et de Parallel Nsight.

PySide 1.0.0 en version finale

Quelques jours après la sortie de Qt 4.7.2, le binding Python promu par Nokia, PySide, se met sur son 31 et affiche la version finale de la 1.0.0, après un long cycle de développement, deux semaines après la release candidate, la communauté ayant apporté énormément au développement de cette version.

S’achève donc ainsi la période de correction des bogues, des régressions et des autres dysfonctionnements en tout genre, l’ajout de nouvelles fonctionnalités va pouvoir reprendre. Notamment, il est prévu pour cette série d’ajouter le support de Python 3. Aussi, l’amélioration du code reprendra de plus belle, pour diminuer l’occupation mémoire et améliorer les performances.

D’ores et déjà, une série de paquets pour diverses plateformes sont disponibles : la plupart des distributions Linux répandues, Windows, OS X et Maemo 5 peuvent déjà passer à PySide 1.0.0 sans attendre.

La date de la prochaine version n’a pas été annoncée ; on pourrait s’attendre à voir des nouvelles d’ici à deux semaines, comme précédemment.

Source : http://www.pyside.org/2011/03/pyside-python-for-qt-1-0-released/

Nokia vend sa division Qt à Digia

Dernières nouvelles du front : Nokia revend la division Qt (certains diront qu’il s’en débarrasse) à Digia. Un accord vient d’être signé entre les deux firmes, Digia reprendra 3500 clients de Nokia. Rappelons que Nokia avait acheté Trolltech, société éditrice de Qt, en 2008. Ceci fait suite à la décision de Nokia de ne pas sortir de smartphone basé sur Symbian ou MeeGo, le dernier résultant de la fusion entre Maemo de Nokia et Moblin d’Intel, et de se baser exclusivement sur Windows Phone 7.

Sebastian Nyström, vice président de Nokia, Application and Service Frameworks, a déclaré que Nokia continuera à investir dans Qt, que ce soit au profit des sections mobiles, embarquées ou desktop. Nokia cherchait un partenaire pour assurer la suite des licences commerciales et des services dans la sphère Qt. Le choix de Digia s’est fait car la société avait déjà une certaine base dans la communauté Qt et sera à même de continuer à étendre le framework :

Nokia will continue to invest in developing Qt as a cross-platform framework for mobile, desktop and embedded segments, focusing on open source development and expansion, we wanted a partner who can drive the commercial licensing and services business around Qt. Digia has proven, in-depth Qt expertise, operational excellence and a keen interest in growing and improving the overall Qt community and so well positioned to expand the Qt Commercial licensing and services business.

Digia ne deviendra propriétaire du framework que lors de la finalisation de la transaction, fin de ce mois. Cette société voulait aussi avoir une étendue plus mondiale et établira des filiales en Norvège et aux États-Unis, partie de ce contrat. Harri Paani, Senior Vice President de Digia :

We are excited to extend our Qt business to serve our new customers. Building on our in-depth Qt expertise and experience from demanding mission critical solutions, we will offer world-class commercial licensing and support services to Qt Commercial customers. We also look forward to driving further the evolution of Qt by bringing in new features and services

Sources : http://www.engadget.com/2011/03/07/nokia-sells-qt-licensing-and-services-business-to-digia/ et http://www.digia.com/C2256FEF0043E9C1/0/405002251

Add-in Visual Studio en version 1.1.9

L’add-in Qt pour Visual Studio est sorti en version 1.1.9, qui supporte Visual Studio des versions 2005 à 2010 (8.0 à 10.0).

Par rapport à la version 1.1.8 précédente, seuls quelques bogues ont été fixés :
– régression lors de l’import des fichiers .pro dans la 1.1.8 ;
– compatible avec les projets Intel VTune ;
– vérification de la compatibilité de la version de Visual Studio lors de l’ajout d’une nouvelle version de Qt, pour éviter qu’un build pour MinGW soit utilisé avec Visual Studio et les plaintes qui vont avec ;
– possibilité d’ajout d’options pour lupdate et lrelease.

Il est disponible au téléchargement : http://qt.nokia.com/downloads/visual-studio-add-in

Widget de correspondance de données adapté en Python

La classe QDataWidgetMapper, introduite dans Qt 4.2, apporte une interface qui permet d’associer des données à un formulaire. Cette manière d’afficher les données facilite la création d’applications basées sur des registres et permet de modifier l’interface utilisateur avec des outils plus habituels tels que Qt Designer.

Bien que les items de Qt soient capables d’afficher des informations en grande quantité, de nombreuses applications ont tendance à utiliser les registres et les interfaces en formulaires pour présenter les données de façon simplifiée. Parfois, c’est parce que les utilisateurs y sont plus habitués, parfois parce que c’est une conséquence du stockage des données.

Cet article est la version Python de Widget de correspondance de données. Les exemples sont réalisés sous Python 3.2 avec PyQt 4.7.

Widget de correspondance de données

La FAQ Qt Creator

Le temps passant, la FAQ Qt s’est enrichie, notamment au niveau de sa section Qt Creator. Bien qu’actuellement ne contenant que quatre entrées (http://qt.developpez.com/faq/?page=edi-qtcreator), le travail en interne continue, au point qu’il nous a semblé mieux de séparer cette partie et d’en faire une FAQ à part, contenant actuellement 11 QR, soit à peu près autant que la FAQ Qt lors de son lancement en 2007 !

La FAQ Qt Creator

N’hésitez surtout pas à la lire et à nous faire part de vos retours ! Si vous souhaitez y participer, n’hésitez pas non plus à vous proposer (par MP ou par email – en bas de page) !