Processeur superscalaireUn processeur est dit superscalaire s'il est capable d'exécuter plusieurs instructions simultanément parmi une suite d'instructions. Pour cela, il comporte plusieurs unités de calcul, et est capable de détecter l'absence de dépendances entre instructions. Un processeur superscalaire cherche à exploiter le parallélisme entre instructions pour accélérer l'exécution des programmes. Cette approche évite de modifier les programmes pour exploiter le parallélisme : le processeur détecte lui-même les instructions pouvant être exécutées en parallèle, contrairement à d'autres approches, comme le VLIW.
Calcul hétérogèneHeterogeneous computing refers to systems that use more than one kind of processor or core. These systems gain performance or energy efficiency not just by adding the same type of processors, but by adding dissimilar coprocessors, usually incorporating specialized processing capabilities to handle particular tasks. Usually heterogeneity in the context of computing referred to different instruction-set architectures (ISA), where the main processor has one and other processors have another - usually a very different - architecture (maybe more than one), not just a different microarchitecture (floating point number processing is a special case of this - not usually referred to as heterogeneous).
Cache-oblivious algorithmIn computing, a cache-oblivious algorithm (or cache-transcendent algorithm) is an algorithm designed to take advantage of a processor cache without having the size of the cache (or the length of the cache lines, etc.) as an explicit parameter. An optimal cache-oblivious algorithm is a cache-oblivious algorithm that uses the cache optimally (in an asymptotic sense, ignoring constant factors). Thus, a cache-oblivious algorithm is designed to perform well, without modification, on multiple machines with different cache sizes, or for a memory hierarchy with different levels of cache having different sizes.
Single instruction multiple dataSingle Instruction on Multiple Data (signifiant en anglais : « instruction unique, données multiples »), ou SIMD, est une des quatre catégories d'architecture définies par la taxonomie de Flynn en 1966 et désigne un mode de fonctionnement des ordinateurs dotés de capacités de parallélisme. Dans ce mode, la même instruction est appliquée simultanément à plusieurs données pour produire plusieurs résultats.
Mémoire vive dynamiqueLa mémoire vive dynamique (en anglais DRAM pour Dynamic Random Access Memory) est un type de mémoire vive compacte et peu dispendieuse. La simplicité structurelle de la DRAM — un pico-condensateur et un transistor pour un bit — permet d'obtenir une densité élevée. Son inconvénient réside dans les courants de fuite des pico-condensateurs : l'information disparaît à moins que la charge des condensateurs ne soit rafraîchie avec une période de quelques millisecondes. D'où le terme de dynamique.
Consoles de jeux vidéo de huitième générationDans l'histoire des consoles de jeux vidéo, la huitième génération débute en 2011 par la Nintendo 3DS, suivi en 2012 de la PlayStation Vita, de la Wii U, puis en 2013 avec des consoles basées sur le système d'exploitation Android de Google (comme la Ouya, le GameStick ou la Nvidia Shield), ainsi que les PlayStation 4 et Xbox One. Les Steam Machines de Valve sont quant à elles sorties en novembre 2015. La dernière console de cette génération est la première console hybride du marché, la Nintendo Switch, sortie par Nintendo en 2017.
HiérarchieLe concept de hiérarchie tiré des vocables grec hieros (« sacré ») et archos (« commencement », ou « ce qui est premier ») ou plus certainement arkhê (« pouvoir », ou « commandement ») s'applique à plusieurs domaines, physiques ou moraux. Définition économique : fait qu'un individu A puisse obtenir d'un individu B qu'il serve les intérêts de son supérieur plutôt que ses intérêts propres. Étymologiquement parlant, la notion de hiérarchie est basée sur le caractère plus ou moins sacré attribué à une personne, un concept ou une chose.
Explicitly parallel instruction computingEPIC (explicitly parallel instruction computing, littéralement informatique à instruction explicitement parallèle) est un type d'architecture de microprocesseurs, utilisé entre autres dans les DSP et par Intel pour les microprocesseurs Itanium et Itanium 2. La philosophie de l'EPIC repose sur la disparition du réordonnancement à l'exécution : les instructions sont exécutées dans l'ordre exact dans lequel le compilateur les a disposées, mais celui-ci précise les instructions à exécuter en parallèle.
Loop nest optimizationIn computer science and particularly in compiler design, loop nest optimization (LNO) is an optimization technique that applies a set of loop transformations for the purpose of locality optimization or parallelization or another loop overhead reduction of the loop nests. (Nested loops occur when one loop is inside of another loop.) One classical usage is to reduce memory access latency or the cache bandwidth necessary due to cache reuse for some common linear algebra algorithms.
OpenMPOpenMP (Open Multi-Processing) est une interface de programmation pour le calcul parallèle sur architecture à mémoire partagée. Cette API est prise en charge par de nombreuses plateformes, incluant GNU/Linux, OS X et Windows, pour les langages de programmation C, C++ et Fortran. Il se présente sous la forme d'un ensemble de directives, d'une bibliothèque logicielle et de variables d'environnement. OpenMP est portable et dimensionnable. Il permet de développer rapidement des applications parallèles à petite granularité en restant proche du code séquentiel.