Intel MICXeon Phi was a series of x86 manycore processors designed and made by Intel. It was intended for use in supercomputers, servers, and high-end workstations. Its architecture allowed use of standard programming languages and application programming interfaces (APIs) such as OpenMP. Xeon Phi launched in 2010. Since it was originally based on an earlier GPU design (codenamed "Larrabee") by Intel that was cancelled in 2009, it shared application areas with GPUs.
Larrabee (informatique)thumb|Schéma de l'architecture GPU Larrabee. Le projet Larrabee d'Intel Corporation fut la réaction à l'importance croissante des processeurs graphiques (GPU) dans le domaine du calcul générique. Cette carte fille a été annoncée en 2008, et fut quasiment abandonnée en et définitivement pour le grand public en . Auparavant, les GPU étaient principalement ou uniquement dédiés au calcul graphique, c'est-à-dire à l'affichage d'objets 3D à l'écran sous forme de triangles.
XeonUn microprocesseur Xeon est un microprocesseur fabriqué par Intel dont le jeu d'instructions est x86 et conçu pour les stations de travail et les serveurs informatiques. Le nom « Xeon » est une marque commerciale apparue le pour les Pentium . D'abord utilisée en association avec la marque Pentium (Pentium Xeon, Pentium Xeon), elle a été utilisée seule à partir du Pentium 4 (Xeon 1.4, Xeon 3040, etc.). Les versions Xeon tirent généralement leurs performances supérieures d'une mémoire cache plus grande que les versions grand public des microprocesseurs d'Intel.
General-purpose processing on graphics processing unitsGPGPU est l'abréviation de general-purpose computing on graphics processing units, c'est-à-dire calcul générique sur processeur graphique. L'objectif de tels calculs est de bénéficier de la capacité de traitement parallèle des processeurs graphiques. Avant l'arrivée des GPGPU, le CPU, processeur central de l'ordinateur, traitait la plupart des opérations lourdes en calcul comme les simulations physiques, le rendu hors-ligne pour les films, les calculs de risques pour les institutions financières, la prévision météorologique, l'encodage de fichier vidéo et son Intel avec ses 80 % de parts de marché sur les CPU dominait donc très largement tous les besoins en calcul et pouvait en extraire de substantielles marges.
Apprentissage profondL'apprentissage profond ou apprentissage en profondeur (en anglais : deep learning, deep structured learning, hierarchical learning) est un sous-domaine de l’intelligence artificielle qui utilise des réseaux neuronaux pour résoudre des tâches complexes grâce à des architectures articulées de différentes transformations non linéaires. Ces techniques ont permis des progrès importants et rapides dans les domaines de l'analyse du signal sonore ou visuel et notamment de la reconnaissance faciale, de la reconnaissance vocale, de la vision par ordinateur, du traitement automatisé du langage.
Manycore processorManycore processors are special kinds of multi-core processors designed for a high degree of parallel processing, containing numerous simpler, independent processor cores (from a few tens of cores to thousands or more). Manycore processors are used extensively in embedded computers and high-performance computing. Manycore processors are distinct from multi-core processors in being optimized from the outset for a higher degree of explicit parallelism, and for higher throughput (or lower power consumption) at the expense of latency and lower single-thread performance.
Parallélisme (informatique)vignette|upright=1|Un des éléments de Blue Gene L cabinet, un des supercalculateurs massivement parallèles les plus rapides des années 2000. En informatique, le parallélisme consiste à mettre en œuvre des architectures d'électronique numérique permettant de traiter des informations de manière simultanée, ainsi que les algorithmes spécialisés pour celles-ci. Ces techniques ont pour but de réaliser le plus grand nombre d'opérations en un temps le plus petit possible.
Superordinateurvignette|redresse=1.2|Le supercalculateur IBM Blue Gene/P de l'Argonne National Laboratory fonctionne avec utilisant un système de refroidissement standard par air, groupé dans et interconnectés par un réseau de fibre optique à haute vitesse (2007). vignette|redresse=1.2|Le superordinateur Columbia du centre de recherche Ames Research Center de la NASA, composé de Intel Itanium 2, regroupés en de , et exécutant un système d'exploitation Linux (2006).
Optimisation de codeEn programmation informatique, l'optimisation de code est la pratique consistant à améliorer l'efficacité du code informatique d'un programme ou d'une bibliothèque logicielle. Ces améliorations permettent généralement au programme résultant de s'exécuter plus rapidement, de prendre moins de place en mémoire, de limiter sa consommation de ressources (par exemple les fichiers), ou de consommer moins d'énergie électrique. La règle numéro un de l'optimisation est qu'elle ne doit intervenir qu'une fois que le programme fonctionne et répond aux spécifications fonctionnelles.
Stream processingIn computer science, stream processing (also known as event stream processing, data stream processing, or distributed stream processing) is a programming paradigm which views streams, or sequences of events in time, as the central input and output objects of computation. Stream processing encompasses dataflow programming, reactive programming, and distributed data processing. Stream processing systems aim to expose parallel processing for data streams and rely on streaming algorithms for efficient implementation.
CoprocesseurUn coprocesseur est un circuit électronique destiné à ajouter une fonction à un processeur classique. On compte des coprocesseurs arithmétiques (pour le calcul en virgule flottante), graphiques (pour accélérer du rendu 2D ou 3D) et des coprocesseurs spécialisés dans le chiffrement. Alors que le processeur principal est conçu pour exécuter tout type de programme, un coprocesseur est spécialisé dans l’exécution rapide d'un type de calcul particulier (Fonction trigonométrique, processeur graphique, par exempl
Optimizing compilerIn computing, an optimizing compiler is a compiler that tries to minimize or maximize some attributes of an executable computer program. Common requirements are to minimize a program's execution time, memory footprint, storage size, and power consumption (the last three being popular for portable computers). Compiler optimization is generally implemented using a sequence of optimizing transformations, algorithms which take a program and transform it to produce a semantically equivalent output program that uses fewer resources or executes faster.
Optimisation de boucleIn compiler theory, loop optimization is the process of increasing execution speed and reducing the overheads associated with loops. It plays an important role in improving cache performance and making effective use of parallel processing capabilities. Most execution time of a scientific program is spent on loops; as such, many compiler optimization techniques have been developed to make them faster. Since instructions inside loops can be executed repeatedly, it is frequently not possible to give a bound on the number of instruction executions that will be impacted by a loop optimization.
Brain simulationBrain simulation is the concept of creating a functioning computer model of a brain or part of a brain. Brain simulation projects intend to contribute to a complete understanding of the brain, and eventually also assist the process of treating and diagnosing brain diseases. Various simulations from around the world have been fully or partially released as open source software, such as C. elegans, and the Blue Brain Project Showcase.
Neuro-informatiqueLa neuro-informatique est un champ de recherche visant à l'organisation des données des neurosciences par l'application de modèles informatiques et d'outils analytiques. Ces domaines de recherche sont importants pour l'intégration et l'analyse d’un nombre croissant de données expérimentales tant par le volume que par la complexité et la précision. Les bioinformaticiens fournissent des outils informatiques, des modèles mathématiques, et créent des bases de données interopérables pour les cliniciens et les chercheurs.
Modèles du neurone biologiquevignette|390x390px|Fig. 1. Dendrites, soma et axone myélinisé, avec un flux de signal des entrées aux dendrites aux sorties aux bornes des axones. Le signal est une courte impulsion électrique appelée potentiel d'action ou impulsion. vignette|Figure 2. Évolution du potentiel postsynaptique lors d'une impulsion. L'amplitude et la forme exacte de la tension peut varier selon la technique expérimentale utilisée pour acquérir le signal.
Supercalculateur exaflopiquevignette|redresse=1.5|Supercalculateur Summit (ou OLCF-4) développé par IBM pour une utilisation au Oak Ridge National Laboratory. Puissance : , nombre de nœuds : . Les supercalculateurs exaflopiques (Exascale computing en anglais) sont des ordinateurs de type supercalculateur fonctionnant selon une architecture massivement parallèle et dont la puissance de calcul dépasse . La machine décompose les tâches à effectuer en millions de sous-tâches, dont chacune d'entre elles est ensuite réalisée de manière simultanée par un processeur.
Réseau de neurones (biologie)En neurosciences, un réseau de neurones correspond, schématiquement : Soit à un nombre restreint de différents neurones interconnectés, qui ont une fonction précise, comme le ganglion stomatogastrique qui contrôle l'activité des muscles de l'estomac des crustacés. Soit à un grand nombre de neurones similaires interconnectés, qui ont des fonctions plus cognitives, comme les réseaux corticaux qui permettent entre autres la catégorisation.
Réseau de neurones artificielsUn réseau de neurones artificiels, ou réseau neuronal artificiel, est un système dont la conception est à l'origine schématiquement inspirée du fonctionnement des neurones biologiques, et qui par la suite s'est rapproché des méthodes statistiques. Les réseaux de neurones sont généralement optimisés par des méthodes d'apprentissage de type probabiliste, en particulier bayésien.
Algorithme mémétiqueLes algorithmes mémétiques appartiennent à la famille des algorithmes évolutionnistes. Leur but est d'obtenir une solution approchée à un problème d'optimisation, lorsqu'il n'existe pas de méthode de résolution pour résoudre le problème de manière exacte en un temps raisonnable. Les algorithmes mémétiques sont nés d'une hybridation entre les algorithmes génétiques et les algorithmes de recherche locale. Ils utilisent le même processus de résolution que les algorithmes génétiques mais utilisent un opérateur de recherche locale après celui de mutation.