Strumenti Utente

Strumenti Sito


magistraleinformaticanetworking:spm:spm14exe1

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
Prossima revisione
Revisione precedente
magistraleinformaticanetworking:spm:spm14exe1 [20/11/2014 alle 10:12 (10 anni fa)] – [Matrix multiplication] Massimo Torquatimagistraleinformaticanetworking:spm:spm14exe1 [17/12/2014 alle 06:29 (10 anni fa)] (versione attuale) Massimo Torquati
Linea 121: Linea 121:
   }   }
 </code>   </code>  
 +
 +
 +
 +
 +=== Sample solutions ===
 +See the matmul example in the FastFlow tutorial source code.
 +
 +====== Class work 4 ======
 +
 +===== Macro Data-Flow matrix multiplication =====
 +
 +Implement by using the FastFlow MDF pattern (ff_mdf), the matrix multiplication algorithm starting from the following sequential code (matrices are of size NxN, double precision elements) :
 +<code>
 +for(size_t i=0;i<N; ++i)
 +  for(size_t j=0;j<N;++j) {
 +    A[i*N+j] = i+j;
 +    B[i*N+j] = i*j;
 +  }
 +for(size_t i=0;i<N; ++i)
 +  for(size_t j=0;j<N;++j) {
 +    C[i*N +j] = 0;
 +    for(size_t k=0;k<N;++k) {
 +      C[i*N + j] += A[ i*N+k ]*B[ j*N+k ];  // B is transposed !
 +    }
 +  }
 +</code>
 +The initialization of the two matrices A and B has to be overlapped with the computation of the elements of the C matrix.
 +
 +{{ http://calvados.di.unipi.it/storage/teaching/SPM1415/matmul_mdf.png?500 }}
 +
 +=== Sample solutions ===
 +Sample code [[sample_mmmdf14|here]].
 +
 +====== Class work 5 ======
 +
 +===== Map skeleton with dynamic scheduling =====
 +
 +
 +=== Sample solutions ===
 +Sample code [[sample_dynmap14|here]],
 +
 +
magistraleinformaticanetworking/spm/spm14exe1.1416478347.txt.gz · Ultima modifica: 20/11/2014 alle 10:12 (10 anni fa) da Massimo Torquati

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki