OpenCLOpenCL (Open Computing Language) est la combinaison d'une API et d'un langage de programmation dérivé du C, proposé comme un standard ouvert par le Khronos Group. OpenCL est conçu pour programmer des systèmes parallèles hétérogènes comprenant par exemple à la fois un CPU multi-cœur et un GPU. OpenCL propose donc un modèle de programmation se situant à l'intersection naissante entre le monde des CPU et des GPU, les premiers étant de plus en plus parallèles, les seconds étant de plus en plus programmables.
InfographieL'infographie est le domaine de la création d' assistée par ordinateur. Cette activité est liée aux arts graphiques. Les études les plus courantes passent par les écoles publiques ou privées se situant majoritairement en Angleterre, en Belgique, au Canada, en France, et aux États-Unis. Lors de l'introduction du concept dans la langue française vers les années 1970, le terme « infographie » désigne les graphismes produits par ordinateur.
GeForceGeForce est une série de cartes graphiques fabriquées par Nvidia depuis 1999. La première GeForce était la GeForce 256. Lancée en automne 1999, elle fut la première carte vidéo grand public à pouvoir prendre en charge l’intégralité des calculs graphiques. De nombreuses séries et évolutions ont été commercialisées, et restent parmi les produits les plus connus en ce domaine.
Processeur graphiqueUn processeur graphique, ou GPU (de l'anglais Graphics Processing Unit), également appelé coprocesseur graphique sur certains systèmes, est une unité de calcul assurant les fonctions de calcul d'image. Il peut être présent sous forme de circuit intégré (ou puce) indépendant, soit sur une carte graphique ou sur la carte mère, ou encore intégré au même circuit intégré que le microprocesseur général (on parle d'un SoC lorsqu'il comporte toutes les puces spécialisées).
ATI TechnologiesATI Technologies Inc. était une entreprise canadienne, basée à Markham en Ontario, active dans la production de microprocesseurs pour cartes graphiques et de chipsets pour PC, téléphones portables et consoles de jeux vidéo. Elle est rachetée par AMD en 2006, qui choisit de mettre fin à l'utilisation de la marque ATI pour ses produits au profit de la marque AMD, tout en conservant le logo Radeon. Fondée en 1985 au Canada par trois immigrants chinois (Lee Ka Lau, Benny Lau, Kwok Yuen Ho), ATI a démarré comme société OEM, en concevant des circuits intégrés graphiques pour PC.
Accélération matérielleL'accélération matérielle consiste à confier une fonction spécifique effectuée par le processeur à un circuit intégré dédié qui effectuera cette fonction de façon plus efficace. Pendant longtemps, les calculs effectués par les ordinateurs grand public étaient entièrement pris en charge par le processeur central (CPU). Or, ce processeur s'avérait insuffisant dans un certain nombre de domaines. On eut l'idée de créer des circuits plus efficaces que le processeur pour ces tâches afin de le décharger.
Microprocesseur multi-cœurvignette|Un processeur quad-core AMD Opteron. vignette|L’Intel Core 2 Duo E6300 est un processeur double cœur. Un microprocesseur multi-cœur (multi-core en anglais) est un microprocesseur possédant plusieurs cœurs physiques fonctionnant simultanément. Il se distingue d'architectures plus anciennes (360/91) où un processeur unique commandait plusieurs circuits de calcul simultanés. Un cœur (en anglais, core) est un ensemble de circuits capables d’exécuter des programmes de façon autonome.
Tesla (NVIDIA)Tesla est une gamme de cartes accélératrices utilisant des processeurs graphiques faisant office de GPGPU produits par NVIDIA et dont le but est d'assister le processeur central pour les calculs grâce à la bibliothèque logicielle Compute Unified Device Architecture (CUDA). Son nom lui vient de Nikola Tesla, inventeur et ingénieur. Se basant sur les premiers travaux accomplis avec le GeForce 8800 autour de CUDA, l'API logicielle permet d'exploiter via le langage C la puce graphique C870 comme un coprocesseur arithmétique.
Compute kernelIn computing, a compute kernel is a routine compiled for high throughput accelerators (such as graphics processing units (GPUs), digital signal processors (DSPs) or field-programmable gate arrays (FPGAs)), separate from but used by a main program (typically running on a central processing unit). They are sometimes called compute shaders, sharing execution units with vertex shaders and pixel shaders on GPUs, but are not limited to execution on one class of device, or graphics APIs.
Sciences numériquesLes sciences numériques (traduction de l'anglais computational sciences), autrement dénommées calcul scientifique ou informatique scientifique, ont pour objet la construction de modèles mathématiques et de méthodes d'analyse quantitative, en se basant sur l'utilisation des sciences du numérique, pour analyser et résoudre des problèmes scientifiques. Cette approche scientifique basée sur un recours massif aux modélisations informatiques et mathématiques et à la simulation se décline en : médecine numérique, biologie numérique, archéologie numérique, mécanique numérique, par exemple.
Accès direct à la mémoirevignette|Entrée-sortie sans DMA vignette|Entrée-sortie avec DMA L'accès direct à la mémoire (en anglais DMA pour Direct Memory Access) est un procédé informatique où des données circulant de, ou vers, un périphérique (port de communication, disque dur) sont transférées directement par un contrôleur adapté vers la mémoire principale de la machine, sans intervention du microprocesseur si ce n'est pour lancer et conclure le transfert. La conclusion du transfert ou la disponibilité du périphérique peuvent être signalés par interruption.
Processeur vectorielvignette|Processeur vectoriel d'un supercalculateur Cray-1. Un processeur vectoriel est un processeur possédant diverses fonctionnalités architecturales lui permettant d'améliorer l’exécution de programmes utilisant massivement des tableaux, des matrices, et qui permet de profiter du parallélisme inhérent à l'usage de ces derniers. Développé pour des applications scientifiques et exploité par les machines Cray et les supercalculateurs qui lui feront suite, ce type d'architecture a rapidement montré ses avantages pour des applications grand public (on peut citer la manipulation d'images).
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.
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.
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.
Moteur physiqueUn moteur physique est, en informatique, une bibliothèque logicielle indépendante appliquée à la résolution de problèmes de la mécanique classique. Les résolutions typiques sont les collisions, la chute des corps, les forces, la cinétique, etc. Les moteurs physiques sont principalement utilisés dans des simulations scientifiques et dans les jeux vidéo. Certains sont également libres pour l'utilisation commerciale, à vérifier bibliothèque par bibliothèque. Box2D (Licence Zlib) Chipmunk (C, C++, Ruby, Python, OCaml.
Heterogeneous System ArchitectureHeterogeneous System Architecture (HSA) is a cross-vendor set of specifications that allow for the integration of central processing units and graphics processors on the same bus, with shared memory and tasks. The HSA is being developed by the HSA Foundation, which includes (among many others) AMD and ARM. The platform's stated aim is to reduce communication latency between CPUs, GPUs and other compute devices, and make these various devices more compatible from a programmer's perspective, relieving the programmer of the task of planning the moving of data between devices' disjoint memories (as must currently be done with OpenCL or CUDA).
Folding@homeFolding@home, parfois désigné par l'abréviation FAH, est un projet de recherche médicale dont le but est de simuler le repliement des protéines dans diverses configurations de température et de pression afin de mieux comprendre ce processus, et d'en tirer des connaissances utiles qui pourraient, entre autres, permettre de développer de nouveaux médicaments, notamment contre la maladie d'Alzheimer, la drépanocytose, certains types de cancers et la maladie à coronavirus 2019.
ShaderUn shader ou nuanceur (le mot est issu du verbe anglais to shade pris dans le sens de « nuancer ») est un programme informatique, utilisé en , pour paramétrer une partie du processus de rendu réalisé par une carte graphique ou un moteur de rendu logiciel. Il sert à décrire l'absorption et la diffusion de la lumière, la à utiliser, les réflexions et réfractions, l'ombrage, le déplacement de primitives et des effets post-traitement.
OpenGLthumb|500px|Un traitement de pipeline 3D (Graphics Pipeline Process). OpenGL (Open Graphics Library) est un ensemble normalisé de fonctions de calcul d'images 2D ou 3D lancé par Silicon Graphics en 1992. Cette interface de programmation est disponible sur de nombreuses plateformes où elle est utilisée pour des applications qui vont du jeu vidéo jusqu'à la CAO en passant par la modélisation. OpenGL permet à un programme de déclarer la géométrie d'objets sous forme de points, de vecteurs, de polygones, de bitmaps et de textures.