Berkeley UPC - Unified Parallel C

UPC, is a portable implementation of Unified Parallel C (UPC) that runs on many different parallel systems available today.

Pour ce TP, il est recommandé d'utiliser la machine mesoshared
ssh user@mesoshared.univ-fcomte.fr

Exemple

Un exemple simple HelloWorld écrit en upc.

HelloWorld
    #include <upc_relaxed.h>
    #include <stdio.h>
 
    int main() {
      printf("Hello from thread %i/%i\n", MYTHREAD, THREADS);
      upc_barrier;
      return 0;
    }

Compilation

Il faut tout d'abord charger le module upc.

$ module load lang/upc

Compilation :

$ upcc HelloWorld.upc -o HelloWorld

Exécution

Pour l'exécution on utilise la commande upcrun en spécifiant le nombre de threads à utiliser -np NombreThread

Par exemple, on lance HelloWorld sur 4 threads.

$ upcrun -np 4 ./HelloWorld

Liens