home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.parallel
- Path: sparky!uunet!zaphod.mps.ohio-state.edu!sdd.hp.com!ncr-sd!ncrcae!hubcap!fpst
- From: mlevin@husc8.harvard.edu (Michael Levin)
- Subject: how to split up task on CM-2 best?
- Message-ID: <1992Dec16.144500.18568@husc3.harvard.edu>
- Sender: fpst@hubcap.clemson.edu (Steve Stevenson)
- Nntp-Posting-Host: husc8.harvard.edu
- Organization: Harvard University Science Center
- Date: 16 Dec 92 14:44:58 EST
- Approved: parallel@hubcap.clemson.edu
- Lines: 27
-
-
- I have a question on how best to organize a task which will run on
- the Connection Machine 2 (in C*). I am going to write a genetic
- algorithm. Thus, I will have to evaluate a whole bunch of functions, which
- can be done in parallel. However, the evaluation of each function
- involves computing something which can also be done in parallel very
- well (an operation on a large array of independent values).
- Thus I have two independent loops, both of which can potentially be
- parallelized over all available processors (the external loop, and the
- one in the f() function):
-
- for each formula,
- result = f(array);
-
- So, my choices in coding this thing to run on the CM-2 seem to be:
- 1) evaluate the functions in parallel - have each processor do the
- whole function evaluation by itself
- 2) do the computation in parallel - have the algorithm do each
- function one at a time, but do the computations in parallel
- 3) do them both in parallel
- I know I can't get something for nothing, but maybe there are
- considerations of which I am not aware. Are there any benefits to
- following any of these strategies over the others, and if so, why?
- Please reply to mlevin@husc8.harvard.edu.
-
- Mike Levin
-
-