Bulk Synchronous Parallel ML

Bulk Synchronous Parallel ML
Bulk Synchronous Parallel ML
Importez le logo de ce logiciel
Développeur Laboratoire d'Informatique Fondamentale d'Orléans (LIFO) de l'Université d'Orléans, Laboratory of Algorithms, Complexity and Logic (LACL) de l'Université Paris XII
Environnements GNU/Linux, Unix
Type Bibliothèque logicielle
Licences GNU LGPL 2.1
Site web http://frederic.loulergue.eu/research/bsmllib/

BSML est une bibliothèque logicielle pour Objective Caml. Elle donne accès aux paramètres BSP de l'architecture sous-jacente, en particulier au nombre de processeurs p de la machine parallèle (accessible par le biais de bsp_p de type int).

Sommaire

Architecture

Type vecteur parallèle

Le type 'a Bsml.par représente un vecteur parallèle de taille p contenant des objets de type 'a.

Il est noté < v0,...,vp − 1 >vi est la valeur de type 'a sur le processeur i.

Modules

  • Bsml : contient les primitives de la bibliothèque et les fonctions de calcul du temps d'exécution
  • Stdlib : contient les fonctions de la bibliothèque standard
    • Base : contient des fonctions parallèles usuelles
    • Comm : contient les fonctions parallèles de communication
    • Sort : contient des fonctions parallèles de tri
    • Back : assure la compatibilité avec les versions antérieures de la bibliothèque
  • Tools : contient des fonctions séquentielles usuelles
  • Skeleton : contient des fonctions de manipulation des structures réparties
    • Array : manipulation de tableaux répartis
    • List : manipulation de listes réparties

Primitives

Primitive de parallélisation : mkpar

val mkpar : (int -> 'a) -> 'a par

Primitive d'application parallèle : apply

val apply : ('a -> 'b) par -> 'a par -> 'b par

Primitive de communication globale : put

val put : (int -> 'a) par -> (int -> 'a) par

Primitive de projection : proj (duale de mkpar)

val proj : 'a par -> int -> 'a

Utilitaires

  • bsml fournit une boucle interactive.
  • bsmlc produit un fichier bytecode interprété par bsmlrun.
  • bsmlopt produit un exécutable en code natif.

Syntaxe alternative

À partir de sa version 0.5, BSML propose une syntaxe alternative visant à améliorer la lisibilité des programmes. Cette syntaxe permet d'exécuter des instructions de manière locale sur chaque processeur, elle fournit une abstraction des primitives et simplifie l'accès aux valeurs locales de chaque processeur.

On utilise la syntaxe << >> pour représenter une section locale, le code entre chevrons étant exécuté localement. Cette construction retourne un vecteur parallèle constitué des p exécutions locales.

(* réplication d'une valeur v non-parallèle sur chaque processeur *)
<< v >>

La syntaxe $v$, disponible à l'intérieur des sections locales, donne accès à la composante locale du vecteur v. On peut accéder au numéro de processeur local (depuis une section locale) à l'aide de la variable $this$.

(* vecteur parallèle où chaque processeur stocke son numéro *)
<< $this$ >>
 
(* application d'une fonction f non-parallèle à chaque composante d'un vecteur parallèle v *)
<< f $v$ >>
 
(* application d'une fonction f parallèle à chaque composante d'un vecteur parallèle v *)
<< $f$ $v$ >>

Notes et références

Voir aussi

Liens externes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Bulk Synchronous Parallel ML de Wikipédia en français (auteurs)

Игры ⚽ Поможем написать реферат

Regardez d'autres dictionnaires:

  • Bulk synchronous parallel — The Bulk Synchronous Parallel computer is a model for designing parallelalgorithms. It serves a similar purpose to the PRAM model. BSP differs from PRAM by not taking communication and synchronization for granted. An importantpart of analysing a… …   Wikipedia

  • Bulk Synchronous Parallel Computers — Der Begriff Massensynchrone Parallelrechner (MSPR) oder englisch Bulk Synchronous Parallel Computers (BSP) bezeichnet ein Modell des massiv parallelen Rechners. Es wurde 1989 von Leslie Valiant eingeführt, zunächst als ein theoretisches Modell… …   Deutsch Wikipedia

  • TransAgg — or Transform and Aggregate is a model of distributed computation for Internet scale computations. It is especially relevant for Cloud computing. Origins for TransAgg model could be found in Bulk Synchronous Parallel computations, which divide… …   Wikipedia

  • Message Passing Interface — MPI, the Message Passing Interface, is standardized and portable message passing system designed by a group of researchers from academia and industry to function on a wide variety of parallel computers. The standard defines the syntax and… …   Wikipedia

  • Bsp — Die Abkürzung BSP steht für: Banach Saks property, eine mathematische Eigenschaft von Banachräumen. Bandscheibenprolaps (Bandscheibenvorfall) Bayer Schering Pharma Bayerische Staatspartei Billing and Settlement Plan, ein Abrechnungsverfahren… …   Deutsch Wikipedia

  • OpenMP — Original author(s) OpenMP Architecture Review Board[1] Developer(s) OpenMP Architecture Review Board …   Wikipedia

  • LogP machine — The LogP machine is a model for parallel computation. [Culler et al. 1993] It aims at being more practical than the PRAM model while still allowing for easy analysis of computation.The name is not related to the mathematical logarithmic function …   Wikipedia

  • ScientificPython — is an open source library of scientific tools for the Python programming language.Scientific computing tools implemented in this module include: *Bulk Synchronous Parallel *Differentiation for functions of any number of variables up to any order… …   Wikipedia

  • BSP — is a three letter abbreviation that may refer to:Computers and technology * Bug squashing party, see: Hackathon * Binary space partitioning (data structure) ** BSP (file format) ** BSP (Editor) * Byte Stream Protocol, see: PARC Universal… …   Wikipedia

  • Distributed design patterns — In software engineering, a distributed design pattern is a design pattern focused on distributed computing problems. Classification Distributed design patterns can be divided into several groups: Distributed communication patterns Security and… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”