Ecole Polytechnique






Cours : ``Parallélisme''
Travaux dirigés
E. Goubault & M. Martel

TD 3

28 janvier 2003




1  Réduction

Programmer l'algorithme de réduction (numéro 4 du TD1).

Corrigé
Avec la même classe d'entier que d'habitude:

public class SommePartielle extends Thread {

    int pos,i;
    int t[][];
    
    SommePartielle(int position,int tab[][]) {
      pos = position;
      t=tab;
    }

    int pow(int a,int b) {
      int ctr,r ;
      r=1;
      for (ctr=1;ctr<=b;ctr++) {
        r = r * a;
      };
      return r ;
    };
            
    public void run() {
      int i,j;
        
      for (i=1;i<=3;i++) {
        j = pos-pow(2,i-1);
        if (j>=0) { 
          while (t[j][i-1]==0) {} ; // attendre que le resultat soit pret
          t[pos][i] = t[pos][i-1]+t[j][i-1] ; 
          } else {
        t[pos][i] = t[pos][i-1] ;
      };
    };
  }
}

This document was translated from LATEX by HEVEA.