Subject: Re: Parallel execution

From: Jan Wielemaker <[email-masked]>
Date: Wed, 9 Aug 2000 12:21:08 +0200

On Sat, 29 Jul 2000, Kourakos-Mavromichalis Evagelos wrote:
>Hello,
>I am working in a project and I want to run (in SWI prolog) two procedures
>in parallel. How I can do that in SWI?

Real paralel execution is provided in the multithreaded version, which
is pretty experimental.  You can build it on systems providing the
POSIX thread library.  It has been tested on Linux and Solaris (2.5
and 2.7).  Do:

	% ./configure --enable-mt
	% make
	% make install

and you'll have a multithreaded version.  To install both versions
in the same tree do:

	% ./configure
	% make
	% make install
	% make distclean
	% ./configure --enable-mt
	% make
	% make install-mt

Now the program pl is the normal version and pl-mt is the multithreaded
version.

Of course, (almost) any problem that can be handled in a multi-threaded
version can also be handled in the single-threaded version with proper
redesign of the program.

For server applications in Unix, consider using the `clib' foreign
library providing the fork primitive.

	Regards --- Jan