Suite à la sortie de Qt Creator 2.5 en beta, il est grand temps de faire le tour de quelques nouveautés, sans toutes les passer en revue.
C++11
Publié en septembre dernier, le standard ISO C++11 se doit d'avoir un meilleur support dans l'EDI ; notamment, on trouvera les mots-clés nullptr, constexpr, static_assert, noexcept et auto, ainsi que les espaces de noms en ligne et les lambdas (partiellement).
De même, quelques nouvelles actions de refactorisation sont disponibles : insertion d'un #include pour les identifiants indéfinis, extraction de fonction, réarrangement de liste de paramètres, synchronisation des signatures (changer le nom d'un paramètre dans la déclaration répercutera la modification dans le corps).
Vous devez être identifié pour poster un commentaire.
Lors de la Game Developer Conference, il eut été dommage de se priver de quelques nouveautés côté PhysX. Non, les simulations physiques n'étaient pas en reste.
De la simulation de fourrure et de la destruction en temps réel
Ce personnage très laineux est fait de 840 000 particules, simulées comme 100 000 fils. Cette partie de la démo se base sur un solveur encore actuellement en recherche, bien que les résultats soient d'ores et déjà prometteurs.
Le module Destruction d'APEX sera aussi agrémenté d'un module de destruction en temps réel, puisqu'il n'utilise actuellement que des modèles préfracturés - gageons que les applications qui l'utiliseront auront des destructions beaucoup plus naturelles et immersives.
Vous devez être identifié pour poster un commentaire.
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 !) :
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.

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.
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.
Vous devez être identifié pour poster un commentaire.
Cadeau de Noël de la part de NVIDIA : première beta publique de PhysX 3.2, un moteur physique spécialisé dans les jeux vidéos sur toutes les plateformes (Windows, Linux, Mac OS X, Android actuellement disponibles gratuitement, XBox 360, PS 3, iOS, Wii également).
On peut remarquer que cette beta est en avance sur la roadmap initialement prévue (http://wccftech.com/nvidia-physx-roadmap-leaked-supports-crossplatform-functionality/) : on peut donc s'attendre à avoir la version finale au début du deuxième trimestre de 2012. Toujours pas de nouvelle quant à une version d'APEX supportant PhysX 3.x.
Parmi les nouveautés, toute la gestion du frottement a été refaite : le frottement anisotropique n'est plus supporté comme avant (cette possibilité a été retirée). À la place, deux modèles seront disponibles : celui par défaut actuellement et un modèle basé sur les lois de Coulomb. Ce dernier est bien plus lent, mais donne des résultats bien plus proches des solutions analytiques, il est donc à préférer si l'on souhaite des résultats aussi précis que possible. Grâce à ce changement, les tissus disposent également d'une simulation des frottements !
Une seule version du SDK pour Windows est actuellement disponible, elle devrait être compatible avec VS 2008 et 2010 (pour la version 3.1, les deux versions sont en effet disponibles).
Au niveau de l'utilisation, quelques changements changements également : l'instance de PxFoundation devient un singleton et globale à toute l'application, instance qui n'est plus créée automatiquement avec PxCreatePhysics() (il faudra appeler à l'avance PxCreateFoundation()). Aussi, les appels à PxCreatePhysics() ne sont plus valides si un objet PxPhysics existe déjà. La signature de cette dernière fonction a changé en conséquence pour prendre une instance de PxFoundation explicitement.
Trois nouvelles démonstrations ont également été ajoutées (SampleCharacterCloth, SampleBridges, SampleGravity) pour le nouveau module de tissus (3.1) ou des ponts dynamiques et autres plateformes mobiles.
Cette beta du SDK est disponible dans le centre de support PhysX, gratuitement après validation d'un compte développeur : http://supportcenteronline.com/ics/support/default.asp?deptID=1949.
Source : PhysXInfo (http://physxinfo.com/news/6979/first-beta-of-physx-sdk-3-2-is-released/).
Vous devez être identifié pour poster un commentaire.
Au menu de cette première version de la série 3.1 du moteur physique PhysX par NVIDIA, on peut remarquer une ouverture à une série de plateformes. Principalement, Android, mais aussi le compilateur Visual C++ 2010 sous Windows (en lieu et place de la version 2005), en plus des plateformes supportées dans la série 3.0, à savoir Linux, OS X et Visual C++ 2008 sous Windows.
De même, les accélérations GPU supportent désormais CUDA 4 et on remarquera la présence des sources des extensions, contrôleur de personnages et des véhicules dans la version binaire disponible gratuitement.
Le code du SDK a aussi été nettoyé, en réduisant considérablement le nombre d'avertissements à la compilation (le compilateur est maintenant configuré pour les traiter comme des erreurs). Le guide utilisateur a aussi été complété.
Le module de simulation de tissu a été réécrit sur base des corps déformables de PhysX 2, même s'il manque quelques fonctionnalités (dont les collisions avec des corps solides), qui seront ajoutées lors des prochaines itérations de développement. Cette réécriture va de pair avec une nette amélioration des performances, tout spécialement sur consoles. Ceci induit aussi que le module de corps déformables sera supprimé dans une prochaine version et est actuellement déprécié.
APEX n'est toujours pas supporté pour cette version, cela devrait arriver dans les suivantes.
Cette nouvelle version du SDK est disponible dans le centre de support PhysX, gratuitement après validation d'un compte développeur : http://supportcenteronline.com/ics/support/default.asp?deptID=1949.
Source : PhysXInfo (http://physxinfo.com/news/6312/physx-3-1-is-ready-for-download-introduces-public-binary-sdk-for-android).
Vous devez être identifié pour poster un commentaire.
La sortie cette semaine aux développeurs enregistrés de CUDA est l'accomplissement de milliers d'heures dédiées à ce projet. Cette technologie peut sembler jeune, sa première version, la 1.0, n'a été sortie qu'en 2007. L'effet de cette sortie sur le monde entier n'a, sans nul doute possible, pas été nul. Elle n'est pas non plus le seul terrain d'avance pour les technologies massivement parallèles sur matériel NVIDIA : les API comme OpenCL et DirectCompute sont elles aussi supportées et améliorées, en plus d'un accès direct au GPU en C, C++ et Fortran.
Comme toujours, NVIDIA est à la recherche d'aide sur le sujet, notamment au niveau des retours d'utilisateurs, d'améliorations possibles, des bogues ; tout ce qui vous empêche de développer rapidement, de déployer des applications sans souci, tout cela doit être amélioré. Si vous êtes intéressé dans cette perspective, n'hésitez pas à vous enregistrer comme développeur.
Le contenu de CUDA 4.0
Venons-en au fait de cette sortie prochaine, vendredi 4 mars aux développeurs enregistrés.
Notons la version 2.0 de GPUDirect, une technologie qui offre un support pour des communications entre les GPU d'un serveur ou d'une station de travail, une fonctionnalité que beaucoup décrivent comme un outil pour un développement plus rapide et plus aisé pour plusieurs GPU, ainsi qu'un vecteur d'améliorations de performances.


UVA, acronyme de Unified Virtual Addressing, permet d'utiliser un espace d'adressage mémoire unifié entre la mémoire du système et celles des GPU.

Aussi, grande nouveauté par rapport aux versions précédentes de CUDA, le partage entre divers threads de GPU : plusieurs threads ou processus sur le CPU peuvent utiliser le même GPU pour leurs calculs. De même, un même thread CPU peut utiliser plusieurs GPU en même temps. Thrust est désormais intégré dans CUDA, le portage de la STL du C++ aux technologies du GPU.

Pour les amateurs de C++, de nouvelles fonctionnalités propres au langage sont désormais supportées, comme les fonctions virtuelles, ainsi que les mots clés new et delete pour la gestion de la mémoire allouée.
Sources : http://blogs.nvidia.com/2011/03/announcing-cuda-4-0/, http://developer.nvidia.com/object/cuda_4_0_RC_downloads.html, http://www.ddj.com/high-performance-computing/229219474;jsessionid=YAXVYSIIVLYCTQE1GHPSKH4ATMY32JVN, http://www.anandtech.com/show/4198/nvidia-announces-cuda-40 (d'où proviennent les images)
Vous devez être identifié pour poster un commentaire.
Sortie de Qt Creator 2.0
Il y a peu, l'environnement de développement intégré prévu pour Qt, Qt Creator, est sorti en version 2.0, en apportant son lot de nouveautés pour MeeGo, Symbian et d'autres plateformes. Il est d'ores et déjà inclus dans la dernière version du Qt SDK.
Le support de QML, initalement prévu pour cette version, n'est pas encore disponible par défaut (il faut recompiler Qt Creator soi-même pour l'activer). Par contre, il sera présent lors de la sortie de Qt Creator 2.1, qui verra le jour en même temps que Qt 4.7.
Source : Sortie de Qt Creator 2.0
Voir aussi
Premières démonstrations de MeeGo
Sortie de la version beta de Qt Creator
Qt Créateur, la traduction en français de l'EDI Qt Creator
[B]Et vous ?[/B]
Auriez-vous préféré une version retardée de Qt Creator mais disposant du support de QML en série ?
Vous devez être identifié pour poster un commentaire.
Le premier concours CUDA va bientôt se dérouler : la première manche commence le 15 septembre 2009 pour s'achever le 25. Les gagnants seront désignés le 30, à l'hôtel Fairmont, dans la patrie de NVIDIA : San Jose, en Californie (États-Unis).
CUDA est la solution proposée par NVIDIA pour le GPGPU, le calcul sur GPU (processeur graphique).
Il s'agit d'un marathon : vous avez assez peu de temps pour participer, et le défi à relever est assez immense, à en croire le site (some of computing's biggest challenges, tel est le but clairement annoncé).
Le sujet est, à l'heure actuelle, bien entendu, inconnu, et sera révélé le jour J. 5 gagnants se partageront la somme de 5000$. Le concours est ouvert à tous les développeurs, et se déroulera en trois manches successives.
L'objectif de ce concours est clairement annoncé par NVIDIA :
We can educate over 200,000 programmers on the advantages parallel programming offers and fan the flames of the GPU Computing revolution.
L'organisation du concours est remise à TopCoder, un site de concours.
Vous devez être identifié pour poster un commentaire.
NVIDIA prévoit depuis un certain temps un système de ray tracing sur GPU : OptiX. Des démonstrations d'utilisation de ce moteur sont désormais disponibles sur le site de NVIDIA : NVIDIA® OptiX™ ray tracing engine examples.
Une version beta, privée, de ce moteur est aussi disponible. Vous pouvez vous inscrire sur la même page. Ce moteur, pour le moment, se limite aux GPU à base de NVIDIA Quadro FX, à condition que les pilotes R190 (ou plus récents) soient installés.
Le moteur OptiX se base entièrement sur la solution de GPGPU CUDA, ce qui lui permet de profiter des accélérations proposées sur certains modèles (les 3800, 4800 et 5800 des NVIDIA Quadro FX, par exemple) pour encore accélérer le rendu.
Vous devez être identifié pour poster un commentaire.
EM Photonics propose désormais, en version beta, un port de la librairie Fortran LAPACK (Linear Algebra Package, paquet pour l'algèbre linéaire), très utilisée dans le monde laborantin. Cette librairie contient BLAS, dont une implémentation orientée CUDA est d'ores et déjà disponible dans le runtime.
Cette version beta est gratuite, mais ne propose des algorithmes que pour des calculs réels de simple précision. La version finale proposera aussi les versions complexes de ces algorithmes, tandis que la double précision sera payante.
Comme beaucoup de librairies portées sur GPU, celle-ci promet de belles performances, autant en simple qu'en double précision : jusqu'à 120x plus rapide, sur certains types de calculs, que l'implémentation de référence ! En moyenne, 95x.
CULA vs Netlib Performance
Comme d'autres librairies pour CUDA, CULA propose de cacher entièrement la partie GPU, en exposant une simple API, peu différente de ce qu'on peut trouver pour du calcul sur CPU.
La librairie sera disponible en deux versions : une gratuite, la Basic, sans double précision mais redistribuable ; une payante (395$ annoncés), avec double précision mais seulement pour usage interne. La première ne supporte que six fonctions de LAPACK, la seconde une quinzaine, et ce chiffre devrait augmenter. Le code source n'est jamais disponible. Au niveau du support, cela varie du forum (Basic, gratuit), aux tickets en ligne (Premium, 395$), et même au téléphone et à l'email (em>Commercial, en volume).
Vous devez être identifié pour poster un commentaire.
Ce 21 juillet est sortie la version 2.3 de CUDA. Quelques nouveautés sont au menu de cette version, dont voici des extraits choisis.
Les pilotes 190.38 (Windows 32 et 64 bits), 190.18 (Linux 32 et 64 bits), 2.3.1 (Mac OS X et GT200) et 2.3.0 (Mac OS X) contiennent les pilotes pour cette nouvelle version de CUDA.
Vous pouvez télécharger cette nouvelle version sur le site officiel de nVidia.
Cet article se base uniquement sur le communiqué officiel : CUDA Toolkit and SDK 2.3 .
Vous devez être identifié pour poster un commentaire.
nVidia vient de dévoiler un guide des meilleures pratiques pour l'écriture de code C pour CUDA. Il veut aider les développeurs à mieux écrire leurs applications pour mieux profiter de la puissance que CUDA peut leur apporter.
Il sera inclus dans CUDA 2.3, prévu pour ce trimestre, mais il est d'ores et déjà disponible pour tous, parce qu'il a été jugé très utile à tous les développeurs pour CUDA, pas forcément des gurus : il est prévu pour tous ceux qui connaissent déjà un peu l'outil.
Vous devez être identifié pour poster un commentaire.
Copyright © 2000-2012 - www.developpez.com