Path: utzoo!attcan!uunet!jarthur!elroy.jpl.nasa.gov!usc!zaphod.mps.ohio-state.edu!swrinde!emory!hubcap!sjl From: sjl@myrias.com (Stuart Lomas) Newsgroups: comp.parallel Subject: SIMD vs MIMD programming (was Acceptable efficiency factors) Message-ID: <9633@hubcap.clemson.edu> Date: 11 Jul 90 13:02:20 GMT Sender: fpst@hubcap.clemson.edu Lines: 47 Approved: parallel@hubcap.clemson.edu In article <9521@hubcap.clemson.edu> argosy!ian@decwrl.dec.com (Ian L. Kaplan) writes: > Perhaps the difference in the execution efficiency between the Intel >cube (an MIMD machine) and the CM-2 (a SIMD machine) is due to the >fact (not doubt hotly contested) that SIMD systems are easier to >program. ... > > ... SIMD systems can be programmed in >_standard_ Fortran 90. MIMD systems can only be programmed in a >language that contains extensions for synchronization. The SIMD >programmer need only consider machine architecture when it comes to >making their program run more efficiently. The MIMD programmer must >consider the machine architecture or the program will not run >deterministicly. Full symbolic debugging can also be supported on a >SIMD machine. Has anyone done a symbolic debugger for a large scale >MIMD system? > > Of course I am biased. > > Ian Kaplan > MasPar Computer Corp. > ian@maspar.com Most MIMD machines are indeed dificult to program. However, if the net will forgive me an arguably commercial posting, I would like to present a counter example. The machine in question is the SPS series from Myrias Research Corporation, a large scale MIMD machine. Please be warned that I work for Myrias Research. Myrias machines are programmed in standard Fortran 77. To make a program run in parallel, it is necessary to label the loops that can be executed in parallel, by putting 'PAR' in front of the 'DO'. If you don't do this, your program runs serially, but it still runs. Programs on a Myrias machine run deterministicly, and the machine architecture can be ignored except for efficiency considerations. (It is possible to generate a race condition if you go through the I/O system, but that is really stretching a point). If a program runs correctly on N processors, it will run correctly on any other number of processors provided there is enough memory. All Myrias machines support full source-level symbolic debugging as a standard feature. Stuart Lomas sjl@myrias.com or uunet!myrias!sjl Myrias Research Corporation phone: +1 403 428 1616 #900 10611 98 Ave, Edmonton, Alberta, Canada, T5K 2P7