Algorithmic skeletonIn computing, algorithmic skeletons, or parallelism patterns, are a high-level parallel programming model for parallel and distributed computing. Algorithmic skeletons take advantage of common programming patterns to hide the complexity of parallel and distributed applications. Starting from a basic set of patterns (skeletons), more complex patterns can be built by combining the basic ones.
Exécution (informatique)En informatique, l'exécution est le processus par lequel un ordinateur ou une machine virtuelle met en œuvre les instructions d'un programme. Les instructions du programme entraînent des séquences d'actions élémentaires sur la machine d'exécution. Les effets qu'entraînent ces actions sont conformes à la sémantique des instructions du programme. Un programme en cours d'exécution est appelé un processus. L’exécution symbolique permet d'explorer les chemins d'exécution possibles d'un programme informatique à partir des symboles contenus dans son code source.
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.
Parallélisation automatiqueLa Parallélisation automatique est une étape de la compilation d'un programme qui consiste à transformer un code source écrit pour une machine séquentielle en un exécutable parallélisé pour ordinateur à Symmetric multiprocessing. L'objectif de la parallélisation automatique est de simplifier et de réduire la durée de développement des programmes parallèles, qui sont notablement plus compliqués à écrire que les programmes séquentiels mais permettent des gains de vitesse sur les machines parallèles.
Map (parallel pattern)Map is an idiom in parallel computing where a simple operation is applied to all elements of a sequence, potentially in parallel. It is used to solve embarrassingly parallel problems: those problems that can be decomposed into independent subtasks, requiring no communication/synchronization between the subtasks except a join or barrier at the end. When applying the map pattern, one formulates an elemental function that captures the operation to be performed on a data item that represents a part of the problem, then applies this elemental function in one or more threads of execution, hyperthreads, SIMD lanes or on multiple computers.
Cluster BeowulfUn cluster Beowulf est une grille de calcul homogène dont les composants sont des PC bon marché. Le nom Beowulf est celui d'une épopée médiévale anglo-saxonne. Il renvoie à un ordinateur construit en 1994 par et à la NASA. Ce système est maintenant couramment utilisé dans des applications nécessitant beaucoup de calculs. Généralement les ordinateurs fonctionnent sous GNU-Linux ou d'autres systèmes d'exploitation libres. Un cluster Beowulf n'implique pas l'usage de logiciels particuliers, seule l'architecture des systèmes est définie.
Vehicle simulation gameVehicle simulation games are a genre of video games which attempt to provide the player with a realistic interpretation of operating various kinds of vehicles. This includes automobiles, aircraft, watercraft, spacecraft, military vehicles, and a variety of other vehicles. The main challenge is to master driving and steering the vehicle from the perspective of the pilot or driver, with most games adding another challenge such as racing or fighting rival vehicles.
K-moyennesLe partitionnement en k-moyennes (ou k-means en anglais) est une méthode de partitionnement de données et un problème d'optimisation combinatoire. Étant donnés des points et un entier k, le problème est de diviser les points en k groupes, souvent appelés clusters, de façon à minimiser une certaine fonction. On considère la distance d'un point à la moyenne des points de son cluster ; la fonction à minimiser est la somme des carrés de ces distances.
Parallel algorithmIn computer science, a parallel algorithm, as opposed to a traditional serial algorithm, is an algorithm which can do multiple operations in a given time. It has been a tradition of computer science to describe serial algorithms in abstract machine models, often the one known as random-access machine. Similarly, many computer science researchers have used a so-called parallel random-access machine (PRAM) as a parallel abstract machine (shared-memory).
Architecture DataflowLe dataflow (en flux de données) est une architecture où les données sont des entités actives qui traversent le programme de manière asynchrone, contrairement à l'architecture classique von Neumann, où elles attendent passivement en mémoire pendant que le programme est exécuté séquentiellement suivant le contenu du pointeur de programme (PC). On parle aussi d'ordinateur cadencé par les données. Dans une architecture flux de données, les programmes sont représentés sous forme de graphes : un nœud représente une opération à effectuer, tandis que les données circulent sur les arcs et forment les entrées aux nœuds.