Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Bulk Synchronous Parallel ML — Wikipédia
Bulk Synchronous Parallel ML — Wikipédia 👆 Click Here! Read More..
Un article de Wikipédia, l'encyclopédie libre.

Cet article est une ébauche concernant l’informatique.

Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.
Bulk Synchronous Parallel ML

Informations
Développé par 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-Est Créteil Val-de-Marne
Écrit en OCamlVoir et modifier les données sur Wikidata
Environnement GNU/Linux, Unix
Type Bibliothèque logicielle
Licences GNU LGPL 2.1
Site web http://traclifo.univ-orleans.fr/BSML

modifier - modifier le code - voir Wikidata (aide)

BSML est une bibliothèque logicielle pour OCaml. Elle donne accès aux paramètres BSP (en) 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).

Architecture

[modifier | modifier le code]

Type vecteur parallèle

[modifier | modifier le code]

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

Il est noté < v 0 , . . . , v p − 1 > {\displaystyle <v_{0},...,v_{p-1}>} {\displaystyle <v_{0},...,v_{p-1}>} où v i {\displaystyle v_{i}} {\displaystyle v_{i}} est la valeur de type 'a sur le processeur i.

Modules

[modifier | modifier le code]
  • 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

[modifier | modifier le code]

Primitive de parallélisation : mkpar

[modifier | modifier le code]
val mkpar : (int -> 'a) -> 'a par

Primitive d'application parallèle : apply

[modifier | modifier le code]
val apply : ('a -> 'b) par -> 'a par -> 'b par

Primitive de communication globale : put

[modifier | modifier le code]
val put : (int -> 'a) par -> (int -> 'a) par

Primitive de projection : proj (duale de mkpar)

[modifier | modifier le code]
val proj : 'a par -> int -> 'a

Utilitaires

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

Syntaxe alternative

[modifier | modifier le code]

À 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

[modifier | modifier le code]
  1. Gaétan Hains, Algorithmes et programmation parallèles. Théorie avec BSP et pratique avec OCaml, Collection références sciences, Ellipses, Paris 2018.

Voir aussi

[modifier | modifier le code]
  • OCaml, le langage d'implémentation de BSML
  • Modèle BSP (en)

Liens externes

[modifier | modifier le code]
  • (en) Site officiel
  • (en) Manuel de BSML 0.4
v · m
Synchronisation en programmation concurrente
Principes de base
  • Atomicité
  • Section critique
  • Communication inter-processus
  • Thread Local Storage
Patrons de conception
  • Barrière de synchronisation
  • Futex
  • Futures
  • Moniteur
  • Mutex
  • Sémaphore
  • Spinlock
  • Algorithme de Peterson
  • Algorithme de Dekker
  • Algorithme du banquier
  • Algorithme de Maekawa
Problèmes classiques
  • Couplage fort
  • Famine
  • Interblocage
  • Inversion de priorité
  • Situation de compétition
  • icône décorative Portail de la programmation informatique
  • icône décorative Portail des logiciels libres
Ce document provient de « https://fr.teknopedia.teknokrat.ac.id/w/index.php?title=Bulk_Synchronous_Parallel_ML&oldid=210513791 ».
Catégories :
  • Logiciel écrit en OCaml
  • Logiciel libre sous licence LGPL
  • Logiciel pour Unix
  • Programmation concurrente
  • Calcul parallèle
  • ML
Catégories cachées :
  • Wikipédia:ébauche informatique
  • Page utilisant P277
  • Logiciel catégorisé automatiquement par langage d'écriture
  • Article utilisant une Infobox
  • Article contenant un appel à traduction en anglais
  • Portail:Programmation informatique/Articles liés
  • Portail:Informatique/Articles liés
  • Portail:Logiciels libres/Articles liés
  • Portail:Logiciel/Articles liés

  • indonesia
  • Polski
  • الرية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصر
  • Nederlands
  • 本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українска
  • Tiếng Việt
  • Winaray
  • 中文
  • Русски
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id