[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
custom guile stdin port for MPI users
From: |
Alexander Shirokov |
Subject: |
custom guile stdin port for MPI users |
Date: |
Tue, 28 Nov 2006 13:52:30 -0500 (EST) |
[please disregard my prev message - the misprint in the subject line is
now fixed]
---
Dear GUILE Developers
I would like to embed guile interpreter into my application - a
parallel program using MPI (message passing interface) and operating
massive data and computations. I would like that program to be able to
process standard input in order to be able to have a live interactive
session with my application. Below I describe the problem i
encountered.
I am currently using Tcl as an embedded
interpreter but looking for a possibility of other alternatives.
Since Tcl does not take over the control of stdin, I am currently just
reading stdin on the MPI process zero until the Tcl command is complete
(checking with Tcl_CommandComplete after each line of stdin) and when
the command is complete i stop reading stdin, copy the string to all
the other MPI processes using MPI_Bcast and process (with Tcl_Eval)
them on worker processes.
With guile however, I am limited to using
scm_shell(argc, argv);
which is supposed to do the stdin processing itself, - I hoped it would
even in the parallel environment. I inserted
MPI_Init(&argc,&argv);
MPI_Finalize()
into the tortoise.c program of the guile tutorial (the complete copy of
the program is attached) and compiled it with 'mpicc', but I do not get
the expected behavior, for example when i run on 4 processes:
mpirun -np 4 ./tortoise2
guile> (tortoise-move 100)
the next guile prompt does not appear after the entered command has
completed.
I looked into the guile archieves using search "MPI" and found
that another person was having the same problem one year ago.
That user has recieved a very informative message :
http://lists.gnu.org/archive/html/guile-user/2005-02/msg00018.html
but unfortunately, the thread stops there.
I did some followup and found nice documentation on setting custom
ports on stdin at
http://www.gnu.org/software/guile/docs/docs-1.8/guile-ref/Port-Types.html#Port-Types
but the resources of my expertise in scheme and setting custom
ports have exhausted there.
There are many people using MPI, I think a solution very be greatly
appreciated by a sizable community of MPI users.
Thank you.
Regards,
Alexander Shirokov
--
tortoise2.c
Description: Text document
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- custom guile stdin port for MPI users,
Alexander Shirokov <=