Www.codesourcery.com 1 Parallel Vector & Signal Processing Mark Mitchell CodeSourcery, LLC April 3,...
-
Upload
candice-cook -
Category
Documents
-
view
213 -
download
0
Transcript of Www.codesourcery.com 1 Parallel Vector & Signal Processing Mark Mitchell CodeSourcery, LLC April 3,...
www.codesourcery.com1
Parallel Vector & Signal Processing
Mark Mitchell
CodeSourcery, LLC
April 3, 2003
www.codesourcery.com2
Deliverables
• VSIPL++ Specification– CodeSourcery et. al.
• VSIPL++ Reference Implementation– CodeSourcery.
• High-Performance Implementations– Various vendors.
www.codesourcery.com3
Objectives
• Parallelism• Performance• Portability
– ANSI/ISO C++
• Compatibility with VSIPL– On a conceptual level.
– Allow VSIPL to be used to implement VSIPL++.
www.codesourcery.com4
Major Components
• Data distribution:– Mapping from logical arrays to physical processors.
• High-performance serial computation:– Expression templates:
• Intuitive syntax.
• Loop fusion, elimination of temporaries.
– VSIPL• Can be used to implement VSIPL++.
www.codesourcery.com5
Data Distribution Model
• Views– Lightweight access to data.
• Blocks– Logically rectangular arrays of data.
• Partitions– Block-cyclic data distribution determines subblocks.
• Processor Map– Map from from subblocks to physical processors.
www.codesourcery.com6
Computational Model
Data driven computation:
• Computation occurs on the processor that owns the data being updated.
Parallel computation is divided into chunks
that can be performed efficiently in serial.
www.codesourcery.com7
Implementation of zherk
A rank-k update of Hermitian matrix C:
C A conjug(A)t + C
CMatrix A(10,15);
CMatrix C(10,10);
C = alpha * prodh(A,A)
+ beta * C;
www.codesourcery.com8
Parallel Vector & Signal Processing
Mark Mitchell
CodeSourcery, LLC
April 3, 2003