Benefits of EPIC Architectures for Multimedia Applications Jacques-Olivier Haenni EPFL - DI - LSL Journée extra-muros 24 juin 1999 Plan de l’exposé z Introduction z Merced et l’architecture IA-64 z Compilation vs. codage manuel z Les instructions multimédia z Exploitation de ces instructions z Conclusion Benefits of EPIC Architectures for Multimedia Applications Jacques-Olivier Haenni EPFL - DI - LSL Introduction z Réalisation d’optimisations de compilation y pour les applications multimédia x MPEG, jeux,... x beaucoup de (petites) boucles x tableaux, accès mémoire y pour l’architecture EPIC x mais pas seulement... Benefits of EPIC Architectures for Multimedia Applications Jacques-Olivier Haenni EPFL - DI - LSL L’architecture IA-64 z Famille de processeurs (dont Merced) z EPIC : bundles de 3 instructions + 1 tag z Spécifications disponibles y y y y register stack spéculation de contrôle/données support pour l’exécution de boucles instructions multimédia z Sujet d’un futur séminaire LSL ? Benefits of EPIC Architectures for Multimedia Applications Jacques-Olivier Haenni EPFL - DI - LSL Compilation vs. codage man. z Du code écrit à la main en assembleur reste meilleur que du code compilé : y Sverre Jarp, CERN x routines mathématiques (nombres aléatoires, fonctions trigonométriques,…) x utilisation d’optimisations manuelles très poussées y Fulvio Moschetti, LTS - EPFL x code multimédia (encodeur MPEG) x utilisation des instructions multimédia Benefits of EPIC Architectures for Multimedia Applications Jacques-Olivier Haenni EPFL - DI - LSL Les instructions multimédia z …ou instructions SIMD z Exemple : padd (parallel modulo addition) 8 bits 64 bits = 8x8 bits + + + y padd1 r1 = r2, r3 Benefits of EPIC Architectures for Multimedia Applications Jacques-Olivier Haenni EPFL - DI - LSL + + + + + Les instructions multimédia z Autres fonctions y addition/soustraction avec saturation y moyenne y comparaison y multiplication et décalage y mise en forme de données z Sujet d’un futur séminaire LSL ? Benefits of EPIC Architectures for Multimedia Applications Jacques-Olivier Haenni EPFL - DI - LSL Compilateurs actuels z Ils ne supportent pas les instructions multimédia z Pis-aller : y utilisation de bibliothèques de routines utilisant ces instructions multimédia y problèmes : x mise en forme des arguments x pas toujours rentable Benefits of EPIC Architectures for Multimedia Applications Jacques-Olivier Haenni EPFL - DI - LSL Code assembleur z Insertion de code assembleur dans du code C x #ifdef _IA64_ x for (i = 0; i < max; i+=8) • asm { – … padd1 … • } x #else x for (i = 0; i < max; i++) • c[i] = a[i] + b[i] x #fi Benefits of EPIC Architectures for Multimedia Applications Jacques-Olivier Haenni EPFL - DI - LSL Compilateurs à venir z Solution idéale : y le compilateur sait gérer tout seul ces instructions multimédia z mais, y c’est difficile... Benefits of EPIC Architectures for Multimedia Applications Jacques-Olivier Haenni EPFL - DI - LSL