gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gcl-devel] Re: MPI


From: Camm Maguire
Subject: Re: [Gcl-devel] Re: MPI
Date: 10 Oct 2002 12:38:24 -0400

Greetings!  Welcome aboard!  

The most convenient way to integrate your work on this module would be
for you to register as a user on the savanna.gnu.org website, and send
my your user id.  I can then set you up as a gcl developer, with cvs
access, etc.

I'd like to support this in the main distribution.  Hopefully, it will
serve as a catalyst for us to think about the proper way to support
3rd party functionality (X, mpi, blas, lapack,...).

Here is my preliminary patch just designed to see if I could get it
basically working on my cluster:

cd ~/gclmpi/
diff -c /home/camm/gclmpi/gcl-mpi.new /home/camm/gclmpi/gcl-mpi.ori
Only in /home/camm/gclmpi/gcl-mpi.new: #init-nofaslink.lsp#
diff -c /home/camm/gclmpi/gcl-mpi.new/Makefile 
/home/camm/gclmpi/gcl-mpi.ori/Makefile
*** /home/camm/gclmpi/gcl-mpi.new/Makefile      Thu Oct  3 10:29:37 2002
--- /home/camm/gclmpi/gcl-mpi.ori/Makefile      Sun Nov  3 19:25:15 1996
***************
*** 1,10 ****
  # You may need to edit the macros below.
  SRC = .
  # This assumes gcl is in your path.  Otherwise, use a full pathname.
! GCL = /fix/t2/camm/gcl-2.5.0.cvs20020625/bin/gcl
  
  # GCL_DIR needed only if doing:   make gcl_libmpi OR nofaslink
! GCL_DIR = /fix/t2/camm/gcl-2.5.0.cvs20020625
  
  LSP_FILES = ${SRC}/mpi_glue.lsp ${SRC}/mpi_defglue.lsp \
        ${SRC}/slave-listener.lsp ${SRC}/master-slave.lsp ${SRC}/init-gclmpi.lsp
--- 1,10 ----
  # You may need to edit the macros below.
  SRC = .
  # This assumes gcl is in your path.  Otherwise, use a full pathname.
! GCL = gcl
  
  # GCL_DIR needed only if doing:   make gcl_libmpi OR nofaslink
! GCL_DIR = /proj/gal2/KCL2/gcl-2.2
  
  LSP_FILES = ${SRC}/mpi_glue.lsp ${SRC}/mpi_defglue.lsp \
        ${SRC}/slave-listener.lsp ${SRC}/master-slave.lsp ${SRC}/init-gclmpi.lsp
***************
*** 40,47 ****
  
  nofaslink:
        make gcl_libmpi
!       (cd ${SRC}; echo '(compile-file "mpi_glue.lsp" :system-p t)' | ${GCL}) 
!       - mv ${SRC}/mpi_glue.o ./
        - mv ${SRC}/mpi_glue.data ${SRC}/so_locations ./
        cp `which ${GCL}` `basename ${GCL}`-mpi
        cp ${SRC}/init-nofaslink.lsp ./init.lsp
--- 40,47 ----
  
  nofaslink:
        make gcl_libmpi
!       (cd ${SRC}; echo '(compile-file "mpi_glue.lsp")' | ${GCL})
!       mv ${SRC}/mpi_glue.o ./
        - mv ${SRC}/mpi_glue.data ${SRC}/so_locations ./
        cp `which ${GCL}` `basename ${GCL}`-mpi
        cp ${SRC}/init-nofaslink.lsp ./init.lsp
Only in /home/camm/gclmpi/gcl-mpi.new: Makefile~
Only in /home/camm/gclmpi/gcl-mpi.new: example.lsp~
Only in /home/camm/gclmpi/gcl-mpi.new: gcl-mpi
Only in /home/camm/gclmpi/gcl-mpi.new: init.lsp
Only in /home/camm/gclmpi/gcl-mpi.new: init.lsp.bck
Only in /home/camm/gclmpi/gcl-mpi.new: init.lsp.foo
Only in /home/camm/gclmpi/gcl-mpi.new: init.lsp~
Only in /home/camm/gclmpi/gcl-mpi.new: libmpi.a
diff -c /home/camm/gclmpi/gcl-mpi.new/master-slave.lsp 
/home/camm/gclmpi/gcl-mpi.ori/master-slave.lsp
*** /home/camm/gclmpi/gcl-mpi.new/master-slave.lsp      Thu Oct  3 14:25:37 2002
--- /home/camm/gclmpi/gcl-mpi.ori/master-slave.lsp      Wed Oct 23 03:13:30 1996
***************
*** 120,129 ****
       ;;SHOULD CHANGE broadcast-tag TO RESULT OF MPI ENVIRONMENT
       (if (>= curr-tag broadcast-tag) (setf curr-tag 0))
       ;;This could be DEAD-SLAVE
! ;     (if (and (aref pending curr-tag)
! ;           (not (eq (aref pending curr-tag) DEAD-SLAVE)))
! ;       (error "Previous task appears to not yet have completed:~%~a~%"
! ;           (aref pending curr-tag)))
       (setf (aref pending curr-tag) task)
       (setf (aref slave-tags dest) curr-tag)
       ,@(if trace `((if ,trace (format t "TRACE: -> ~d: ~s~%" dest task))))
--- 120,129 ----
       ;;SHOULD CHANGE broadcast-tag TO RESULT OF MPI ENVIRONMENT
       (if (>= curr-tag broadcast-tag) (setf curr-tag 0))
       ;;This could be DEAD-SLAVE
!      (if (and (aref pending curr-tag)
!             (not (eq (aref pending curr-tag) DEAD-SLAVE)))
!        (error "Previous task appears to not yet have completed:~%~a~%"
!             (aref pending curr-tag)))
       (setf (aref pending curr-tag) task)
       (setf (aref slave-tags dest) curr-tag)
       ,@(if trace `((if ,trace (format t "TRACE: -> ~d: ~s~%" dest task))))
***************
*** 136,142 ****
  (defvar *master-slave-trace* nil
    "If no :trace keyword specified for master-slave, uses this default.
     If non-nil and used, traces all messages inside function, master-slave")
- 
  ;;SHOULD PROBABLY gensym LOCAL VAR'S OF master-slave
  (defun master-slave (&key get-task set-task do-task
                     get-task-result update-environment buffer-size
--- 136,141 ----
Only in /home/camm/gclmpi/gcl-mpi.new: master-slave.lsp~
Only in /home/camm/gclmpi/gcl-mpi.new: mpi_glue.c
Only in /home/camm/gclmpi/gcl-mpi.new: mpi_glue.data
diff -c /home/camm/gclmpi/gcl-mpi.new/mpi_glue.lsp 
/home/camm/gclmpi/gcl-mpi.ori/mpi_glue.lsp
*** /home/camm/gclmpi/gcl-mpi.new/mpi_glue.lsp  Thu Oct  3 11:16:58 2002
--- /home/camm/gclmpi/gcl-mpi.ori/mpi_glue.lsp  Mon Nov 11 04:57:02 1996
***************
*** 11,21 ****
                             (if (boundp 'user::gcl-mpi-src) user::gcl-mpi-src
                             *default-pathname-defaults*)))
  )
! (defconstant mpi-include "mpi/mpi.h")
! ;  (concatenate 'string
! ;    (namestring (if (boundp 'user::gcl-mpi-src) user::gcl-mpi-src
! ;                     *default-pathname-defaults*))
! ;    "/usr/include/mpi/mpi.h"
     ;; "../mpich-alpha/include/mpi.h"
    ))
  
--- 11,21 ----
                             (if (boundp 'user::gcl-mpi-src) user::gcl-mpi-src
                             *default-pathname-defaults*)))
  )
! (defconstant mpi-include
!   (concatenate 'string
!     (namestring (if (boundp 'user::gcl-mpi-src) user::gcl-mpi-src
!                      *default-pathname-defaults*))
!     "/home/gene/projects/mpinu/nov-11/mpi.h"
     ;; "../mpich-alpha/include/mpi.h"
    ))
  
***************
*** 79,85 ****
  "#include <sys/resource.h> /* For getpriority(), setpriority(), setrlimit() 
*/"
  "#include <unistd.h> /* For getpid() inside nice() */"
  $ static int logout_time = 60; /* default of 60 minutes */
! $ extern void sigint(void);
  $ 
  $   /* logout_time (minutes) guaranteed >= 0; 0 means disable timer */
  $   /* Also, see autologout() */
--- 79,85 ----
  "#include <sys/resource.h> /* For getpriority(), setpriority(), setrlimit() 
*/"
  "#include <unistd.h> /* For getpid() inside nice() */"
  $ static int logout_time = 60; /* default of 60 minutes */
! $ extern sigint();
  $ 
  $   /* logout_time (minutes) guaranteed >= 0; 0 means disable timer */
  $   /* Also, see autologout() */
Only in /home/camm/gclmpi/gcl-mpi.new: mpi_glue.lsp~
Only in /home/camm/gclmpi/gcl-mpi.new: mpi_glue.o
Only in /home/camm/gclmpi/gcl-mpi.new: saved_gcl_mpi

Diff finished at Thu Oct 10 12:35:23


Take care,

address@hidden (Gene Cooperman) writes:

> I'm pleased to see that some people are now using this code for GCL/MPI.
> 
> I had developed  the code about 7 years ago.  During the first 6 years,
> there didn't seem to be any people using it.  Since there is now
> some interest in it, I would be very interested in helping to update
> the code.
> 
> I also have a PhD student, Viet Ha Nguyen (address@hidden), who
> is interested in working on this project.
> 
> If you could send us a copy of the current version of GCL/MPI, with
> your patches, and a description of what is not working, we could work
> on fixing the rest of it.  If GCL/MPI can then be distributed via the
> GCL web site, that would be even better.
> 
> SIDE NOTE:
> Since the original GCL/MPI code, I had gone on to build a version that
> supports the same master-slave model  of parallelism in C.  That code
> is:  TOP-C  (Task Oriented Parallel C/C++)
> The URL is: http://www.ccs.neu.edu/home/gene/topc.html
> We also just started an open source project on it at freshmeat.org.
> 
> We could support GCL/MPI from freshmeat.org or from your site.
> In either case, we would be very interesting in having GCL/MPI
> distributed from the GCL web site, and we would be happy to
> bring GCL/MPI up to date so others can easily use it.
>                                               - Gene Cooperman
> 
> 
> _______________________________________________
> Gcl-devel mailing list
> address@hidden
> http://mail.gnu.org/mailman/listinfo/gcl-devel
> 
> 

-- 
Camm Maguire                                            address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah




reply via email to

[Prev in Thread] Current Thread [Next in Thread]