From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII X-Google-Thread: 103376,56250291936154a0 X-Google-Attributes: gid103376,public From: gisle@apal.ii.uib.no (Gisle S�lensminde) Subject: Re: Where is the elusive jump command? Date: 2000/03/31 Message-ID: #1/1 X-Deja-AN: 604747785 Content-Transfer-Encoding: 8bit References: <38D771CA.D41AF9B5@port.ac.uk> <8bq7ku$mc8$1@nnrp1.deja.com> <38E0E723.C39C392@quadruscorp.com> <8brfm4$4uc$1@nnrp1.deja.com> <38E240D1.DB36C983@quadruscorp.com> <38E2333B.2109F2BB@lmtas.lmco.com> <8bu4ek$412$1@nnrp1.deja.com> <8bul06$9aa1@news.cis.okstate.edu> <38E396E7.45941282@quadruscorp.com> <20000330.16284896@mis.configured.host> <38E3CDF4.CF5450E2@Raytheon.com> Organization: University of Bergen, Norway Content-Type: text/plain; charset=iso-8859-1 Mime-Version: 1.0 Newsgroups: comp.lang.ada Date: 2000-03-31T00:00:00+00:00 List-Id: In article <38E3CDF4.CF5450E2@Raytheon.com>, Samuel T. Harris wrote: >Dan Nagle wrote: >> >> Hello, >> >> >>>>>>>>>>>>>>>>>> Original Message <<<<<<<<<<<<<<<<<< >> >> On 3/30/00, 1:03:19 PM, "Marin D. Condic" >> wrote regarding Re: Where is the >> elusive jump command?: >> >> >> Does Ada have any loop, branch or assignment statements, which, by >> definition, >> may be executed in parallel? My reading and exercises haven't shown >> them to me yet. Maybe I just haven't gotten to the right chapter... > >Parallelization of language constructs is a function of the compiler. >If a compiler is written for a high end parallel machine, then I >expect it to produce parallel code for the basic stuff. Such a question >might become a compiler requirement in the selection process. And typically the available parallelizing compilers have been fortran compilers, due to demand from those using these parallel machines. > >In any event, Ada provides parallel constructs both in the forms >of tasks as well as the distributed systems annex. Both are powerful >forms with standardized semantics upon which you can rely. >I can produce parallel algorithms using tasks. If my compiler does >not parallelize record assignments, then I can use tasks to >parallelize the operation (at least logically). Of course, the >degree to which a compiler takes advantage of multiple processors >is also an implementation dependent issue, but you are more likely >to score positive results across vendors on this question >than with basic operations such as assignment. > >Since Ada already incorporates parallel constructs in the form >of tasks and partitions, perhaps a later generation Ada will >include keywords or pragmas which enable parallel operations >on more basic syntactic structures like assignment. Much of the parallel code written in fortran and C uses libraries like MPI. These can be interfaced from Ada. Some machines can also use tasking/multithreading for parallel programs, and in this case Ada may be more easy to use than fortran/C. One of the good things with F90 is the array semantics where you can do arithmetric operations on 2-dimensional arrays, and the SIMD constructs. The array-syntax can be implemeted through operator overloading, but I have not seen any widely used libraries in Ada doing this, but I have not looked too hard, since I no longer do numeric programming. -- -- Gisle S�lensminde ( gisle@ii.uib.no ) ln -s /dev/null ~/.netscape/cookies