Skip to Content.
Sympa Menu

charm - Re: [charm] compilation problem

charm AT lists.cs.illinois.edu

Subject: Charm++ parallel programming system

List archive

Re: [charm] compilation problem


Chronological Thread 
  • From: Harshitha Menon <gplkrsh2 AT illinois.edu>
  • To: Sabrina Bergoch <sabrinabms AT gmail.com>
  • Cc: "charm AT cs.uiuc.edu" <charm AT cs.uiuc.edu>
  • Subject: Re: [charm] compilation problem
  • Date: Thu, 27 Nov 2014 22:06:53 -0600
  • List-archive: <http://lists.cs.uiuc.edu/pipermail/charm/>
  • List-id: CHARM parallel programming system <charm.cs.uiuc.edu>

Do you need to add the location of your load balancer module in library path?
$(CHARMC) -o $(TARGET) -L/path-to-the-lib $(OBJS) -module FooLB

The documentation on writing and using your own load balancer is in the manual here point number 3. 

On Thu, Nov 27, 2014 at 1:37 PM, Sabrina Bergoch <sabrinabms AT gmail.com> wrote:
Hi Phil,

Firstly, thanks for help!
I followed your suggestions.  Step 1 and 2 (the first 2) ok.

Related to step 3 (the second 2): charmc -o application_name foo.o bar.o baz.o -module NameLB
The system reports fatal error. 

Attention: I'm using the command "ampi" instead of "charmc".

I tried to use 2 command lines: 

ampicc prod.cpp -o prog -tlsglobals  -thread context-tls -static -L/stornext/home/eduardo.rocha/opt/gcc-4.3.2/lib64/ -Wl,--allow-multiple-definition -memory isomalloc -language ampi -module FooLB

ampicc prod.cpp -o prog -tlsglobals  -thread context-tls -static -L/stornext/home/eduardo.rocha/opt/gcc-4.3.2/lib64/ -Wl,--allow-multiple-definition -memory isomalloc -language ampi -module /stornext/home/cpt2.sabrina/sbms/charm-20141124/tmp/FooLB

For the first command line, this is the system answer:

/usr/bin/ld: cannot find -lmoduleFooLB

collect2: ld returned 1 exit status

Fatal Error by charmc in directory /scratchin/projetos/cptc0002/home/cpt2.sabrina/ex_ampi/T1_ProdInt

   Command CC -rdynamic -static -Wl,--allow-multiple-definition -static -Wl,--allow-multiple-definition -L/stornext/home/eduardo.rocha/opt/gcc-4.3.2/lib64/ -static -Wl,--allow-multiple-definition -o prog -L/stornext/home/cpt2.sabrina/sbms/charm-20141124/bin/../lib -I/stornext/home/cpt2.sabrina/sbms/charm-20141124/bin/../include /stornext/home/cpt2.sabrina/sbms/charm-20141124/bin/../lib/libldb-rand.o prod.o moduleinit2419.o -lmoduletcharmmain -lmoduleampi -lmetis -lddt -lampi-compat -lmoduleFooLB -lmoduletcharm /stornext/home/cpt2.sabrina/sbms/charm-20141124/bin/../lib/libmemory-isomalloc.o /stornext/home/cpt2.sabrina/sbms/charm-20141124/bin/../lib/libthreads-context-tls.o -lck -lconv-cplus-y -lconv-core -lconv-util -lckqt -ldl -lmoduletcharmmain -lmoduleampi -lmoduleFooLB -lmoduletcharm -ltcharm-compat -lm returned error code 1

charmc exiting...

And for the second command line, the system is following:

moduleinit4186.C:3:22: error: expected initializer before '/' token
moduleinit4186.C: In function 'void _registerExternalModules(char**)':
moduleinit4186.C:8:3: error: '_register' was not declared in this scope
moduleinit4186.C:8:13: error: 'stornext' was not declared in this scope
moduleinit4186.C:8:22: error: 'home' was not declared in this scope
moduleinit4186.C:8:27: error: 'cpt2' was not declared in this scope
moduleinit4186.C:8:40: error: 'sbms' was not declared in this scope
moduleinit4186.C:8:45: error: 'charm' was not declared in this scope
moduleinit4186.C:8:60: error: 'tmp' was not declared in this scope
moduleinit4186.C:8:70: error: 'FooLB' was not declared in this scope
Fatal Error by charmc in directory /scratchin/projetos/cptc0002/home/cpt2.sabrina/ex_ampi/T1_ProdInt
   Command CC -DCMK_GFORTRAN -DCMK_GFORTRAN -DCMK_GFORTRAN -DCMK_GFORTRAN -DCMK_GFORTRAN -DCMK_GFORTRAN -DCMK_GFORTRAN -D__CHARMC__=1 -static -Wl,--allow-multiple-definition -mno-tls-direct-seg-refs -c moduleinit4186.C -o moduleinit4186.o returned error code 1

charmc exiting...


I'd appreciate other idea for helping.

Thanks in advance,

Sabrina


On Wed, Nov 26, 2014 at 5:24 PM, Phil Miller <mille121 AT illinois.edu> wrote:
Hi Sabrina,

We're actually in the process of changing our documentation to suggest that users simply compile their new load balancing strategies independently of the core system. This doesn't change anything about their performance or how to link them in - solely when and where they get built. If you subsequently want to suggest that we include the LB strategy you've written in our distribution, we'll take care of the various script updates and build system incorporation.

Here's the summary version of the way this would go:
1. charmc NameLB.ci
2. charmc -o libmoduleNameLB.a NameLB.C
2. charmc -o application_name foo.o bar.o baz.o -module NameLB

Hope this helps.

Phil

On Wed, Nov 26, 2014 at 1:18 PM, Sabrina Bergoch <sabrinabms AT gmail.com> wrote:
Hi,

I'm trying do include a new load balancer on Charm++. 
What I did:
    Put the file in the directory: ./charm-20141124/tmpRun: Makefile_lb.sh (for creating Make.lb)Generate the balancer interface using "charmc NameLB.ci"Run: make depends (*)
    (*) In this step, I dropped in the trouble. The system informes to me: 
    (after several checking dependencies, appears)
       "checking dependencies for ScotchLB.C
        checking dependencies for TeamLB.C
        TeamLB.C:13:19: fatal error: metis.h: No such file or directory
        compilation terminated.

        Compilation of 'TeamLB.C' failed, please fix it first!!!!"

    The compilation fail because the system could not find the file "metis.h".
    Actually, when I did a comment on this checking point the trouble repeats in other checking.

    Does someone have one idea how can I solve this problem?
    

    I'd appreciate any help.
    
    

    Sabrina.
    

    _______________________________________________
    charm mailing list
    charm AT cs.uiuc.edu
    http://lists.cs.uiuc.edu/mailman/listinfo/charm







    Archive powered by MHonArc 2.6.16.

    Top of Page