Hi All,

I have been working a bit on Chapel on GASNet + portals4 during my internship 
here at AMD.
Today is my last day and I wanted to share some configuration issues which I 
faced.

1) Chapel configures(util/chplenv/commSegment) GASNet with "CHPL_GASNET_SEGMENT 
= everything" for portals4.
But portals4 did not (does not ?) work with  this setting.
You need to set "CHPL_GASNET_SEGMENT = large" and rebuild the whole Chapel + 
GASNet.

2) getMaxLocalSegmentSize() is used directly as a parameter to initialize 
gasnet_attach() (called from $CHPL_HOME/runtime/src/comm/gasnet/comm-gasnet.c)
The "getMaxLocalSegmentSize()"   function returns a non-deterministic value 
(sometime negative) which resulted in Chapel programs segfaulting randomly.
I instead pass a hardcoded value as shown below. I found this method in one of 
the portals4 test programs.

#define PAGESZ GASNETT_PAGESIZE
#define alignup(a,b) ((((a)+(b)-1)/(b))*(b))
#define CHPL_MINHEAPOFFSET  alignup(128*1024*1024,PAGESZ)

There is no reason behind the "128*1024*1024" value. I just set a reasonable 
value to get my programs running.

I will be happy to submit a patch on this issue but I will first try to fix the 
getMaxLocalSegmentSize() bug for portals4.

--
Regards,
Deepak Majeti
Co-op external research
AMD Austin
------------------------------------------------------------------------------
_______________________________________________
Chapel-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-developers

Reply via email to