Topic: parallel C++ question.


Author: P.Rocha@cs.ucl.ac.uk (Paulo V Rocha)
Date: 28 Apr 92 07:02:17 GMT
Raw View
Hello,

Here at University College London we are initiating a major ESPRIT II
European project on the implementation of Genetic Algorithms (Papagena
Project). We are going to produce a programming environment to be freely
distributed in its first version. One of the target execution platforms for
the system is the Transputer machine offered by Telmat (FR), who are one of
the partners. However, we would also like the system to be used be people
with simple workstations or PCs. Therefore, the system must also run on this
machines.

Our intention is to try to establish a standard language (& compiler) for
all partners. Our problem is the desire to run on conventional workstations
and microcomputers. For this, the chosen compiler (or language dialect) would
have to be able to be compiled by standard C++ compilers such as GNU C++ or
Borland C++ (or other).

My questions are: What would happen to a program written for a parallel C++
compiler (cfront or real compiler) if submitted to a standard C++ compiler?
Is it possible to produce code that would be compiled without problem into
conventional workstations and still be able to be used to generate parallel
code if the hardware support is present? Am I looking for automatic
parallelisation? Can I have conditional compilation of code sections,
according to the target hardware?

Trying to clarify, what we would like to have is:

                              the_program
                                   |
                      +------------+------------+
                     /                           \
      Standard C++  /                             \  3L compiler
                   /                               \
           workstation or PC               workstation or PC
                                         with Transputer board

Thanks for any help.

Paulo.

+-----------------------------+---------------------------------------------+
Paulo Valverde de L. P. Rocha |   JANET:procha@uk.ac.ucl.cs
Department of Computer Science|  BITNET:procha%uk.ac.ucl.cs@UKACRL
University College London     |Internet:procha%cs.ucl.ac.uk@nsfnet-relay.ac.uk
Gower Street                  | ARPANet:procha@cs.ucl.ac.uk
London WC1E 6BT               |    UUCP:...!mcvax!ukc!ucl-cs!procha
England                       |     tel: +44 (071) 387 7050 x 3719
                              |     fax: +44 (071) 387 1397
+-----------------------------+---------------------------------------------+




Author: davidm@consilium.com (David S. Masterson)
Date: 29 Apr 92 00:44:50 GMT
Raw View
>>>>> On 28 Apr 92 07:02:17 GMT, P.Rocha@cs.ucl.ac.uk (Paulo V Rocha) said:

> Here at University College London we are initiating a major ESPRIT II
> European project on the implementation of Genetic Algorithms (Papagena
> Project). We are going to produce a programming environment to be freely
> distributed in its first version. One of the target execution platforms for
> the system is the Transputer machine offered by Telmat (FR), who are one of
> the partners. However, we would also like the system to be used be people
> with simple workstations or PCs. Therefore, the system must also run on this
> machines.

How are you arranging to handle parallelism?  Are you going to work on the
basis that every object *may* potentially be a parallel line of execution?
Are you going to derive from a Thread class in this respect?  Perhaps you want
to consider the AT&T Task library and simply arrange that every Task is a
parallel line of execution that is sent to another Transputer to be worked on.
Then all you have to do is change the definition of Task when moving to a
single processor system.
--
====================================================================
David Masterson     Consilium, Inc.
(415) 691-6311     640 Clyde Ct.
davidm@consilium.com    Mtn. View, CA  94043
====================================================================
"It wasn't lies.  It was just bullshit, that's all."
-- Elwood Blues