13.07.2015 Views

PGAS Programming with UPC and Fortran Coarrays

PGAS Programming with UPC and Fortran Coarrays

PGAS Programming with UPC and Fortran Coarrays

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

12/19/2012Adding coarrays to existing applications• Constrain use of coarrays to part of application• Move relevant data into coarrays• Implement parallel part <strong>with</strong> coarray syntax• Move data back to original structures• Use coarray structures to contain pointers to existing data• Place relevant arrays in global scope (modules)• avoids multiple declarations• Declare existing arrays as coarrays at top level <strong>and</strong> throughthe complete call tree(some effort but only requires changes to declarations)9Performance Considerations• What is the latency?• Do you need to avoid strided transfers?• Is the compiler optimising the communication for targetarchitecture?• Is it using blocking communication <strong>with</strong>in a segment whenit does no need to?• Is it optimising strided communication?• Can it pattern-match loops to single communicationprimitives or collectives?105

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!