- Page 1: PGAS Programming withUPC and Fortra
- Page 5 and 6: •19/12/2012Vectorisation• Somet
- Page 7 and 8: •19/12/2012Contents• A Little B
- Page 9 and 10: •19/12/2012Shared Memory• Multi
- Page 11 and 12: •19/12/2012Single-Sided Communica
- Page 13 and 14: •19/12/2012PGAS Languages• The
- Page 15 and 16: •19/12/2012Hybrid Approaches• U
- Page 17 and 18: •19/12/2012References• PRACE-PP
- Page 19 and 20: UPCUnified Parallel CParallel exten
- Page 21 and 22: Private vs. shared memory spaceConc
- Page 23 and 24: Shared array distributionIf a share
- Page 25 and 26: Example: vector addition (1)#define
- Page 27 and 28: “Static” keywordensures shared
- Page 29 and 30: References• UPC Language Specific
- Page 31 and 32: Sample PBS script for XE6#!/bin/bas
- Page 33 and 34: Brief recap… private and shared d
- Page 35 and 36: Multi-dimensional dataUPC can distr
- Page 37 and 38: Multi-dimensional data - Case 1shar
- Page 39 and 40: Multi-dimensional data - Case 3slab
- Page 41 and 42: Static vs. dynamic compilation (3)s
- Page 43 and 44: Debugging barriersthe optional valu
- Page 45 and 46: Example: Vector addition (3/3)Advan
- Page 47 and 48: Improved data distributionCAB00 0 0
- Page 49 and 50: C pointersA pointer in C is a data
- Page 51 and 52: UPC pointersUPC pointers have three
- Page 53 and 54:
Pointer castingcasting a shared poi
- Page 55 and 56:
Non-collective dynamic allocation (
- Page 57 and 58:
Creating locksinitial state of a ne
- Page 59 and 60:
Example: Dining Philosophers (contd
- Page 61 and 62:
Broadcastshared[] int A[2];shared[2
- Page 63 and 64:
Final summarydata distribution & wo
- Page 65 and 66:
12/19/2012The FortranProgramming Mo
- Page 67 and 68:
12/19/2012Fortran 2008 coarray mode
- Page 69 and 70:
12/19/2012Fortran coarraysBasic Fea
- Page 71 and 72:
12/19/2012What are coarrays?• Arr
- Page 73 and 74:
12/19/2012Making remote references
- Page 75 and 76:
12/19/2012Synchronisation• code e
- Page 77 and 78:
12/19/2012Example2: Calculate densi
- Page 79 and 80:
12/19/2012Exercise Session 1• Loo
- Page 81 and 82:
12/19/2012OpenMP implementationmemo
- Page 83 and 84:
12/19/2012MPIprocess 0memoryprocess
- Page 85 and 86:
12/19/2012High Performance Fortran
- Page 87 and 88:
12/19/2012UPCthreadthreadthreadmemo
- Page 89 and 90:
12/19/2012Fortran coarray modelproc
- Page 91 and 92:
12/19/2012Parallel Programmingwith
- Page 93 and 94:
12/19/2012Edge detection and pictur
- Page 95 and 96:
12/19/2012More Coarray FeaturesPara
- Page 97 and 98:
12/19/20122D Data• However, image
- Page 99 and 100:
12/19/2012Codimensions: What They M
- Page 101 and 102:
12/19/2012this_image() & image_inde
- Page 103 and 104:
12/19/2012Allocatable Coarrays• C
- Page 105 and 106:
12/19/2012Coarrays and Procedures
- Page 107 and 108:
12/19/2012Summary• Coarrays with
- Page 109 and 110:
segmentsegment12/19/2012More on Syn
- Page 111 and 112:
12/19/2012Synchronisation mistakes
- Page 113 and 114:
12/19/2012Other Synchronisation•
- Page 115 and 116:
12/19/2012More on Cosubscripts• i
- Page 117 and 118:
12/19/2012Coarray Technical Specifi
- Page 119 and 120:
12/19/2012TS: Collective intrinsic
- Page 121 and 122:
12/19/2012Experiences withCoarraysP
- Page 123 and 124:
12/19/2012Implementations we have u
- Page 125 and 126:
12/19/2012Adding coarrays to existi
- Page 127 and 128:
12/19/2012AllReduce (everyone gets,
- Page 129 and 130:
12/19/2012Synchronisation (one to m
- Page 131 and 132:
12/19/2012Coarray Benchmark Suite
- Page 133 and 134:
microseconds12/19/2012Pingpong (sma
- Page 135 and 136:
12/19/20123D Halo Swap on XE6 (weak
- Page 137 and 138:
12/19/2012Data Structuresuse,intrin
- Page 139 and 140:
12/19/2012Solve the puzzles and wri
- Page 141 and 142:
12/19/2012Distributed remote gather
- Page 143 and 144:
Performance (TFlop/s)12/19/2012HIME
- Page 145 and 146:
12/19/2012References• http://lacs