Wednesday, October 19, 2005

Utilisation de cartes 3D pour accélérer le traitement des réseaux neuronaux

Certain type de réseau neural utilise des neurones ayant des valeurs intrinsèques encodées en float. Un très grand nombre d'opération doit être effectuer sur les valeurs de chaque neurone. Ces calculs sont massivement paralèlle et ont une intensité arithmétique élevée. Toutes les charactéristiques sont réunies pour permettre d'utiliser efficacement la puissance d'une carte 3D. Ces cartes sont parfaites pour faire des opérations sur de grande matrice puisqu'elles ont beaucoup de pipelines.

En faisant un peu de recherche, j'ai trouvé un article qui discute de ce sujet : http://www.citeulike.org/user/geomblog/article/168802

Tuesday, October 11, 2005

Optimization de l'encodage vidéo avec une carte 3D

Il serait particulièrement intéressant d'utiliser la puissance de calcul de la carte 3D pour accélérer l'encodage de vidéo. C'est une opération facilement parallélisable qui demande beaucoup de calcul et une grande bande passante mémoire. Toutes les conditions sont réunis pour que ça vaille la peine.

Saturday, October 08, 2005

Utilisation de cartes graphiques comme platfome de calcul

Les cartes graphiques ayant des pipeline programmable sont depuis un certain temps intéressantes pour faire d'autre type de calcul que du traitement d'image. Surtout que la dernière génération de cartes n'a plus de limite de longueur d'éxécution de code ce qui permet de faire des calculs plutôt complexe. La carte qui a le plus de puissance de calcul présentement est la X1800 XT d'ATI avec une capacité de calcul théoriqe de 83 GFlops pour une précision de 32 bit un peu en dessous du standard du ieee. De plus, une graphqiue a une très grande bande passante vers sa mémoire (environ 48 GB/s) et une très basse latence pour accéder à celle-ci. Considérant que le prix suggérer de vente de ce produit est de 585 $can, cette solution devient intéressant pour faire des calculs scientifiques à bas prix. Cependant, cette platforme serait quand même limité à des calculs parallélisable à cause de la nature du GPU, les opérations de ce type de processeur traite plusieurs données par instruction.



L'université de Standford a déjà fait de la recherche dans l'utilisation de cartes graphiques pour faire des calculs scientifique. Ils ont étendu le language C/C++ pour le spécialiser dans l'utilisation de flux de données. http://graphics.stanford.edu/projects/brookgpu/index.html.
Un chercheur de Standford a utilisé cette platforme pour optimisé la comparaison de protéine ou de partie de protéine avec de large base de donnée : http://graphics.stanford.edu/papers/clawhmmer/hmmer.pdf



Avec l'apparition de cartes-mères ayant jusqu'à 4 port pci express 8x (http://www.tomshardware.com/motherboard/20051004/index.html), il devient possible de créer des workstations avec une très grande puissance de calculs. Avec 4 cartes X1800 XT, on pourrait avoir accès à environ 382 GFlops pour environ 4000$ pour un ordinateur complet.

Tuesday, October 04, 2005

Youth Corruption

The surest way to corrupt a youth is to instruct him to hold in higher esteem those who think alike than those who think differently.

Friedrich Nietzsche