[/] [branches/] - Rev 3932
Go to most recent revision |
Changes |
View Log |
Last modification
- Rev 3932 2012-06-01 02:53:33 GMT
- Author: dreachem
- Log message:
- [CAF] Improvements for strided accesses + more
This commit adds several improvements to the handling of strided coarray
accesses. Currently handled accesses fall into 3 categories:
(1) non-strided (or contiguous data) accesses
e.g. a(1:10) = b( 1:10, 5)[p]
b(1:10)[p] = a(1:10, 2)
(2) simple strided accesses (subscripts are not strided)
e.g. a(1:3, 1:5) = b(1:3, 6:10)[p]
b(2, 1:5)[p] = a(1:5)
(3) strided accesses with strided subscripts
e.g. a(5, 1:4) = b(1:8:2)[p]
b(1:10:2,1:4:2)[p] = a(1:5, 4:7:2)
It should now handle more general strided transfers without requiring the
extra LCB copy. Also, subscript extents need not match, so long as the array
shapes of the left and right sides are conforming. These are all accepted and
translated without needing to introduce an intermediate LCB buffer.
b(1:10, 5) = a(1, 1:10)[2]
b(1, 2, 1:10:2) = a(1:5, 3)[2]
b(1:10:2, 1, 1:4) = a(1:5, 1:8;2, 1)[2]
Improvements are listed:
* runtime checks for contiguous accesses
* will convert strided access to contiguous access if the remote side is
contiguous while the local side is strided.
* compiler configure checks that gasnet-root path is valid
* compiler options can be specified for uhcaf just as with uhf90 (i.e. no need
to specify these options after -- )
* added --show-info option to uhcaf to get more informatoin about the default
compiler flags and the libraries linked in.
Contributor: Deepak