charm AT lists.siebelschool.illinois.edu
Subject: Charm++ parallel programming system
List archive
- From: "Van Der Wijngaart, Rob F" <rob.f.van.der.wijngaart AT intel.com>
- To: Phil Miller <mille121 AT illinois.edu>
- Cc: "charm AT cs.illinois.edu" <charm AT cs.illinois.edu>
- Subject: Re: [charm] Problem building charm++ on Intel platform
- Date: Fri, 12 Sep 2014 17:49:14 +0000
- Accept-language: en-US
- List-archive: <http://lists.cs.uiuc.edu/pipermail/charm/>
- List-id: CHARM parallel programming system <charm.cs.uiuc.edu>
OK, Phil. An interesting thing happens when I do that. Charmrun expects the ++verbose parameter to follow the name of the program to be executed. If I place it before that name (which is where one would normally expect it to be), the program name is not found and charmrun aborts. OK, so I run the program like this. ./charmrun +p4 ./jacobi2d 2000 ++verbose Inside the application the number of command line parameters is determined, and if it is not two (i.e. program name plus optional grid size), the default grid size is used. Adding the ++verbose flag produces three command line parameters, and the default grid size is used. So you can be verbose, or change the grid size, but not both. Of course, I can easily hack around this in the app. But I would recommend changing the charmrun command line parsing and put all non-app parameters before the name of the app. That is what users expect, and also would make charmrun conform to mpirun
Anyway, here is the output:
[rfvander@bar1 jacobi2d]$ ./charmrun +p4 ./jacobi2d 2000 ++verbose
Running on 4 processors: ./jacobi2d 2000 ++verbose charmrun> /usr/bin/setarch x86_64 -R mpirun -np 4 ./jacobi2d 2000 ++verbose Charm++> Running on MPI version: 3.0 Charm++> level of thread support used: MPI_THREAD_SINGLE (desired: MPI_THREAD_SINGLE) Charm++> Running in non-SMP mode: numPes 4 Converse/Charm++ Commit ID: Trace: traceroot: ./jacobi2d CharmLB> Load balancer assumes all CPUs are same. Charm++> Running on 1 unique compute nodes (32-way SMP). Charm++> cpu topology info is gathered in 0.003 seconds. Running Jacobi on 4 processors with (5,5) elements; myproc=0.0
Rob
From: unmobile AT gmail.com [mailto:unmobile AT gmail.com]
On Behalf Of Phil Miller
Hi Rob, Could you add the flag "++verbose" to your command line and show us the output? That will show how and where charmrun launches processes. If this is all on one node, it may be necessary to pass a flag like "+setcpuaffinity +pemap 0-3" to pin the PEs to separate cores. It would be very unusual that the OS scheduler doesn't run the multiple processes on separate cores, though, even if they may occasionally shuffle around. Details on how these flags work can be found in our manual, here: http://charm.cs.illinois.edu/manuals/html/charm++/C.html
On Fri, Sep 12, 2014 at 11:53 AM, Van Der Wijngaart, Rob F <rob.f.van.der.wijngaart AT intel.com> wrote: Hi Phil,
I am merrily playing around with the charm++ examples before creating my own applications. Right now I am looking at the jacobi2d code. I’ve been trying to make that run on more than a single core. But no matter how I run it, it never wants to do that. For example, if I run it like this: ./charmrun +p4 jacobi2d 2000 it works on a 2000x2000 grid (in a very fine-grain manner, of course, so not very efficient), and it still insists that only core 0 on node zero is used. Is there a way to coerce/tickle that runtime to use more cores? Do I need to make the code coarser grain fist? Thanks.
Rob
From:
unmobile AT gmail.com [mailto:unmobile AT gmail.com]
On Behalf Of Phil Miller
On Tue, Sep 2, 2014 at 5:49 PM, Van Der Wijngaart, Rob F <rob.f.van.der.wijngaart AT intel.com> wrote: Hi Phil, another quick question: If I install Charm++ in /tmp on a node in my cluster, it won’t be visible on other nodes. Is that going to bite me? Thanks.
The default build process generates static binaries and library archives (libfoo.a) of the various components of Charm++. These components, and applications linked against them, should have no runtime dependence on the build tree. When running the code, you may need to copy the application executable itself and the 'charmrun' binary to a parallel filesystem visible to the compute nodes and the head node, respectively.
|
- Re: [charm] Problem building charm++ on Intel platform, (continued)
- Re: [charm] Problem building charm++ on Intel platform, Van Der Wijngaart, Rob F, 09/03/2014
- Re: [charm] Problem building charm++ on Intel platform, Nikhil Jain, 09/03/2014
- Re: [charm] Problem building charm++ on Intel platform, Van Der Wijngaart, Rob F, 09/03/2014
- Re: [charm] Problem building charm++ on Intel platform, Van Der Wijngaart, Rob F, 09/03/2014
- Re: [charm] Problem building charm++ on Intel platform, Phil Miller, 09/03/2014
- Re: [charm] Problem building charm++ on Intel platform, Jeff Hammond, 09/03/2014
- Re: [charm] Problem building charm++ on Intel platform, Jeff Hammond, 09/03/2014
- Re: [charm] Problem building charm++ on Intel platform, Van Der Wijngaart, Rob F, 09/03/2014
- Re: [charm] Problem building charm++ on Intel platform, Nikhil Jain, 09/03/2014
- Re: [charm] Problem building charm++ on Intel platform, Van Der Wijngaart, Rob F, 09/03/2014
- Re: [charm] Problem building charm++ on Intel platform, Phil Miller, 09/12/2014
- Re: [charm] Problem building charm++ on Intel platform, Van Der Wijngaart, Rob F, 09/12/2014
- Re: [charm] Problem building charm++ on Intel platform, Phil Miller, 09/12/2014
- Re: [charm] Problem building charm++ on Intel platform, Van Der Wijngaart, Rob F, 09/12/2014
- Re: [charm] [ppl] Problem building charm++ on Intel platform, David Kunzman, 09/12/2014
- Re: [charm] [ppl] Problem building charm++ on Intel platform, Van Der Wijngaart, Rob F, 09/12/2014
- Re: [charm] [ppl] Problem building charm++ on Intel platform, Nikhil Jain, 09/12/2014
- Re: [charm] [ppl] Problem building charm++ on Intel platform, Van Der Wijngaart, Rob F, 09/12/2014
- Re: [charm] Problem building charm++ on Intel platform, Van Der Wijngaart, Rob F, 09/12/2014
Archive powered by MHonArc 2.6.16.