FFTW and Matlab*p Richard Hu 6.338 Project
Outline Background Work Done and Algorithm Results Q&A
Background Integrating FFTW into Matlab*p requires translating from block-cyclic distribution to row distribution and back Want to minimize communication and delays
Work Done Program translates between virtually any block-cyclic distribution and any row distribution Requires knowledge of positions of blocks and rows for other processors
Algorithm Clump blocks in the same row together to achieve “temporary” row distribution Shift rows between processors to achieve “desired” row distribution Calculate Fourier Transform Shift rows between processors back to “temporary” row distribution Divide rows into blocks
Algorithm Gather positions of blocks and rows for other processors and group into sorted arrays Iterates through every position in the matrix and determines the sending and receiving processor
Results
Variants One processor acts as head node, directing sends and receives Each node keeps track of the rows and columns it should send/receive and all communication is done at the end.
Questions