On Apr 12, 2006, at 4:08 AM, Zhenxia Zhang wrote:
> Hi,
>
> I am a newbie and want to use LAM-MPI to checkpoint/restart my MPI
> application.
> I have installed blcr-0.4.2 and lam-7.1.2, but entouner some problems.
> My environment is RedHat 9 with kernel 2.4.20-8. LAM-MPI and blcr
> is installed in /home/cesc53/local.
>
> 1. I compile application with
> $ mpicc hello_mpi.c -L/home/cesc53/local/lib -lcr -o hello_mpi
> The error information is :
> /home/cesc53/local/lib/libmpi.a(malloc.o)(.text+0x30e9): In
> function `ptmalloc_init':
> : undefined reference to `pthread_atfork'
> collect2: ld returned 1 exit status
You shouldn't need to add any additional flags to mpicc for BLCR
support. The mpicc wrapper handles that for you.
>
> 2. Then I complie with
> $ mpicc hello_mpi.c -o hello_mpi
This is the expected way to compile.
> That is OK.
> I run application with
> $ mpirun -ssi rpi crtcp C ./hello_mpi
> It seems that the commad has syntax error. Following is displayed:
>
> ----------------------------------------------------------------------
> -------
> Synopsis: mpirun [options] <app>
Hummm... you shouldn't be getting this. I tried that command it it
worked fine for me on the same install. Can you double check that you
didn't type '--ssi' instead of '-ssi'.
> ..........................
> .........................
> ----------------------------------------------------------------------
> -------------------
> Could you tell me what I have done wrong? And how to checkpoint a
> MPI application using LAM-MPI
> with blcr?Thanks.
The LAM/MPI user manual has pretty good coverage for the 'blcr'
checkpoint module and how to use it. It is available here:
http://www.lam-mpi.org/using/docs/
You will also want to checkout the man pages for:
man 7 lamssi_cr
man 1 lamcheckpoint
man 1 lamrestart
-- Josh
>
> Regards,
> Zhenxia Zhang
>
> ----------------------------------------------------------------------
> -------------------
> laminfo:
> LAM/MPI: 7.1.2
> Prefix: /home/cesc53/local
> Architecture: i686-pc-linux-gnu
> Configured by: cesc53
> Configured on: Wed Apr 12 14:00:36 CST 2006
> Configure host: CESC53
> Memory manager: ptmalloc2
> C bindings: yes
> C++ bindings: yes
> Fortran bindings: no
> C compiler: gcc
> C++ compiler: g++
> Fortran compiler: false
> Fortran symbols: none
> C profiling: yes
> C++ profiling: yes
> Fortran profiling: no
> C++ exceptions: no
> Thread support: yes
> ROMIO support: yes
> IMPI support: no
> Debug support: no
> Purify clean: no
> SSI boot: globus (API v1.1, Module v0.6)
> SSI boot: rsh (API v1.1, Module v1.1)
> SSI boot: slurm (API v1.1, Module v1.0)
> SSI coll: lam_basic (API v1.1, Module v7.1)
> SSI coll: shmem (API v1.1, Module v1.0)
> SSI coll: smp (API v1.1, Module v1.2)
> SSI rpi: crtcp (API v1.1, Module v1.1)
> SSI rpi: lamd (API v1.0, Module v7.1)
> SSI rpi: sysv (API v1.0, Module v7.1)
> SSI rpi: tcp (API v1.0, Module v7.1)
> SSI rpi: usysv (API v1.0, Module v7.1)
> SSI cr: blcr (API v1.0, Module v1.1)
> SSI cr: self (API v1.0, Module v1.0)
> ----------------------------------------------------------------------
> ------------------
> Code:
> #include <stdio.h>
> #include <sys/types.h>
> #include <sys/wait.h>
> #include <mpi.h>
>
> int main(int argc, char * argv[])
> {
> int rank,size,i,provided;
> char name[512];
> int namelen;
>
> MPI_Init(&argc, &argv);
> MPI_Comm_rank(MPI_COMM_WORLD, &rank);
> MPI_Comm_size(MPI_COMM_WORLD, &size);
> MPI_Get_processor_name(name, &namelen);
>
> for (i=0; i<100; i++) {
> printf ("Hello! 100 -- %d. I am %d of %d on %s.\n", i, rank,
> size, name);
> sleep(1);
> }
> MPI_Finalize();
>
> return 0;
> }
>
> _______________________________________________
> This list is archived at http://www.lam-mpi.org/MailArchives/lam/
----
Josh Hursey
jjhursey_at_[hidden]
http://www.lam-mpi.org/
|