Folks,
I have some questions regarding the use and subsequent performance of dmap. I’m
doing some simple vector computations (add, scale, reduce), with the vectors
defined in a record:
record RVectorRB { // Real valued vector.
var dom = {1..num_vertices} dmapped Block ( boundingBox={1..num_vertices} );
var val : [dom] real;
}
Instantiated as this: var v1 : RVectorRB; , with num_vertices config const.
For RVectorRB vectors b, p, and z, reductions look like this:
forall i in b.dom with ( + reduce bnrm2 ) {
bnrm2 += b.val[i] * b.val[i];
}
Vector updates : p.val = z.val + beta*p.val; // beta real scalar.
Performance on 2 locales (2 nodes of a Cray XC30, 2x16 Haswells) is 44x slower
than 1 locale/node. Further, when I comment out the dmap, single node runs 3x
faster than with it. Vector lengths 1k up to 100M elements.
This is with v1.20. When I tried to compile with v1.21, I get these errors:
% chpl main.chpl
main.chpl:12: In function 'main':
main.chpl:49: error: Attempt to 'new' a function or undefined symbol
main.chpl:59: error: 'timings' undeclared (first use this function)
main.chpl:61: error: 't' undeclared (first use this function)
main.chpl:63: error: 'TimeUnits' undeclared (first use this function)
main.chpl:77: error: 'alg' undeclared (first use this function)
'new' is for instantiating a record, alg is my enumeration, and I'm "using"
Chapel's Time module within a module that's used by my main module which is
used by main. Checked the release notes but not seeing what's changed. I'm
seeing this on the XC as well as my Mac (not the homebrew version).
I'd greatly appreciate any help or information regarding any of the above.
Richard
--
Richard Barrett
PO Box 5800, MS-0620
Sandia National Laboratories
Albuquerque, NM 87185
Phone: 505-845-7655
Pager: 505-951-8087
_______________________________________________
Chapel-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-users