Skip to Content.
Sympa Menu

charm - Re: [charm] different charm++ questions: array initiation, sun profiler

charm AT lists.cs.illinois.edu

Subject: Charm++ parallel programming system

List archive

Re: [charm] different charm++ questions: array initiation, sun profiler


Chronological Thread 
  • From: Gengbin Zheng <gzheng AT ks.uiuc.edu>
  • To: Kristian Rune Larsen <s991029 AT student.dtu.dk>
  • Cc: ppl AT cs.uiuc.edu, charm AT cs.uiuc.edu
  • Subject: Re: [charm] different charm++ questions: array initiation, sun profiler
  • Date: Thu, 07 Jul 2005 22:31:06 -0500
  • List-archive: <http://mail.cs.uiuc.edu/pipermail/charm>
  • List-id: CHARM parallel programming system <charm.cs.uiuc.edu>


Hi Kristian,


Kristian Rune Larsen wrote:

Hi
I have some charm++ questions.

The first question is just to clarify array initiation. I have tried to run my program on four processes on two nodes , but I get seg-fault when trying to initiate chare arrays on node 2. The arrays are initiated by chares, one on each processor, and the seg-fault happens when the chare on the second processor on node two tries in initiate a chare array. If I create the arrays in advance and pass their proxies to the chares in the constructor everything works fine. Does arrays need to be initialised on PE 0 ?

I don't know what you mean by "initialize", do you mean create?
It will be helpful if you post your code here.

The default map object for a chare array is a round-robin map. I can't figure out, is this a kind of load-balancing ?. Is the "home" PE the processor where the array element is located or is just responsible for knowing where the element is ?

Yes, default mapping is round-robin. It is a kind of initial load-balancing. But it is not important because charm++ load balancing framework can migrate them when needed. Home PE is only responsible for keeping track of where the array element is.

You can also write your own map object. See charm manual at:
http://charm.cs.uiuc.edu/manuals/html/charm++/3_8Advanced_Arrays.html#SECTION00038400000000000000
The blockMap is available in Charm++ (you need to write new code), you can use it in CkArrayOptions directly.

I have tried to profile my program using the sun profiler called "analyzer". I think it is a java frontend for the collect program. My program is called pprospect. If I use
$ collect -<..> charmrun pprospect args ++<..>
I get the profiling data for charmrun, and if I try to run the stand alone version
$collect -<opt> pprospect args It ends prematurely, but with exit success. The stand alone version works fine outside of the collect program. Has anyone experienced this ?


I didn't use collect before. But I just tried some simple test program on our SUN with collect, and they works.
When your program ends prematurely, what error it gave?

Gengbin

best wishes Kristian Rune Larsen
_______________________________________________
charm mailing list
charm AT cs.uiuc.edu
http://mail.cs.uiuc.edu/mailman/listinfo/charm






Archive powered by MHonArc 2.6.16.

Top of Page