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
