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.

•19/12/2012Vectorisation• Sometimes required restructuring of loops to allow efficientvectorisation• Directives used to provide information to the compiler aboutwhether a particular operation was vectorisable• Compilers became increasingly good at spottingopportunities for vectorisation• Vector supercomputers became less popular as parallelcomputing grew• However, many modern CPUs contain vector-like features– e.g., Interlagos Opteron processors in Cray XEParallel <strong>Programming</strong> Languages 7Data Parallel• Processors perform similar operations across data elements in an array• Higher level programming paradigm, characterised by:– single-threaded control– global name space– loosely synchronous processes– parallelism implied by operations applied to data– compiler directives• Data parallel languages: generally serial language (e.g., <strong>Fortran</strong> 90) plus– compiler directives (e.g., for data distribution)– first class language constructs to support parallelism– new intrinsics <strong>and</strong> library functions• Paradigm well suited to a number of early (SIMD) parallel computers– Connection Machine, DAP, MasPar,…Parallel <strong>Programming</strong> Languages 8•4

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

Saved successfully!

Ooh no, something went wrong!