Se connecter avec
S'enregistrer | Connectez-vous

Des optimisations SIMD ARM dans WebKit

Par - Source: ARM | B 0 commentaire

Un sujet intéressant a été publié chez ARM, qui explique comment il est possible d'accélérer certains traitements dans le moteur de rendu WebKit simplement en utilisant le jeu d'instructions SIMD d'ARM, NEON. En utilisant correctement le SIMD, qui permet — rappelons-le — d'appliquer une instruction sur plusieurs données, on peut accélérer drastiquement des traitements comme le flou gaussien ou l'application de filtres. Les optimisations en question sont déjà disponibles pour WebKit, le moteur de rendu le plus utilisé dans les appareils mobiles : Google (dans Android), Apple (avec Safari), RIM (dans les BlackBerry) et Nokia (avec Symbian) ont des navigateurs basés sur WebKit.

Un problème de processeurs

Il y a malheureusement un problème : le support des instructions. NEON est lié au jeu d'instructions ARMv7, ce qui implique d'abord d'avoir un processeur compatible. Si c'est le cas chez Apple depuis l'iPhone 3GS et que tous les Windows Phone ont un CPU compatible, c'est loin d'être automatique sous Android. En effet, beaucoup de smartphones d'entrée de gamme utilisent encore des SoC à base d'ARM11, un processeur ancien et incompatible avec le jeu d'instructions ARMv7.

Le second problème, c'est que toutes les puces ARMv7 ne sont pas compatibles NEON : si ARM impose le SIMD sur le Cortex A8, c'est optionnel sur le Cortex A9. Et un SoC populaire dans le monde Android, Tegra 2, n'est pas compatible avec NEON.

Reste que l'exemple montre que les possibilités d'optimisations sont bien là et qu'il y a encore du travail pour tirer véritablement parti des puces mobiles. Dans beaucoup de cas, les applications ARM sont compilées pour de l'ARMv5 et sans le support de la FPU, même si elle est pourtant présente dans la majorité des puces récentes.

Commentaires
Interroger un expert

Votre question aux experts de la catégorie Les news : vos réactions du forum

Exemple : Android, ordinateur portable, usb, disque dur

Cette page n'accepte plus de commentaires