Www.codesourcery.com 1 Parallel Vector & Signal Processing Mark Mitchell CodeSourcery, LLC April 3,...

8
www.codesourcery.com 1 Parallel Vector & Signal Processing Mark Mitchell CodeSourcery, LLC April 3, 2003

Transcript of Www.codesourcery.com 1 Parallel Vector & Signal Processing Mark Mitchell CodeSourcery, LLC April 3,...

Page 1: Www.codesourcery.com 1 Parallel Vector & Signal Processing Mark Mitchell CodeSourcery, LLC April 3, 2003.

www.codesourcery.com1

Parallel Vector & Signal Processing

Mark Mitchell

CodeSourcery, LLC

April 3, 2003

Page 2: Www.codesourcery.com 1 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.

Page 3: Www.codesourcery.com 1 Parallel Vector & Signal Processing Mark Mitchell CodeSourcery, LLC April 3, 2003.

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++.

Page 4: Www.codesourcery.com 1 Parallel Vector & Signal Processing Mark Mitchell CodeSourcery, LLC April 3, 2003.

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++.

Page 5: Www.codesourcery.com 1 Parallel Vector & Signal Processing Mark Mitchell CodeSourcery, LLC April 3, 2003.

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.

Page 6: Www.codesourcery.com 1 Parallel Vector & Signal Processing Mark Mitchell CodeSourcery, LLC April 3, 2003.

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.

Page 7: Www.codesourcery.com 1 Parallel Vector & Signal Processing Mark Mitchell CodeSourcery, LLC April 3, 2003.

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;

Page 8: Www.codesourcery.com 1 Parallel Vector & Signal Processing Mark Mitchell CodeSourcery, LLC April 3, 2003.

www.codesourcery.com8

Parallel Vector & Signal Processing

Mark Mitchell

CodeSourcery, LLC

April 3, 2003