berryman-harry@CS.YALE.EDU (Harry Berryman) (07/13/90)
>>_standard_ Fortran 90. MIMD systems can only be programmed in a >>language that contains extensions for synchronization. The SIMD >> Ian Kaplan >> MasPar Computer Corp. >> ian@maspar.com SIMD is a style of programming, as well as machine orginization. You can write SIMD code for MIMD machines, just ask Q. Stoute. >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 >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 Programs on the Myrias DO NOT run deterministicly. This by the admission of several of your technical staff. The Myrias creates a page for each iteration of a PARDO loop. To deal with reduction vars, the pages are "merged", and the order of the merge is not deterministic. Thus floating point operations may get done in different orders. Also, since when is PARDO a standard Fortran 77 construct? Get your story straight. Religious wars may be entertaing, but seldom are useful. May I suggest that those who have not programed in both SIMD and MIMD think before they speak? Scott Berryman Dogma Catcher ICASE/NASA Langley Research Center or Yale University CS Dept.
sjl@myrias.com (Stuart Lomas) (07/20/90)
In article <9654@hubcap.clemson.edu> berryman-harry@CS.YALE.EDU (Harry Berryman) writes: >Programs on the Myrias DO NOT run deterministicly. This by the admission >of several of your technical staff. The Myrias creates a page >for each iteration of a PARDO loop. To deal with reduction vars, >the pages are "merged", and the order of the merge is not deterministic. >Thus floating point operations may get done in different orders. >Also, since when is PARDO a standard Fortran 77 construct? >Get your story straight. > >Religious wars may be entertaing, but seldom are useful. May I suggest >that those who have not programed in both SIMD and MIMD think before >they speak? > >Scott Berryman >Dogma Catcher >ICASE/NASA Langley Research Center >or >Yale University CS Dept. Regarding "reduction operators": Humble apologies. You are correct that use of floating point addition reduction operators will generally result in rounding differences in the designated floating point variables between otherwise identical runs of the same program. I didn't mention this because Myrias has not yet shipped the reduction operators support; however, reduction operators will be supported in our next software release. Here are some other ways to generate non-deterministic programs on a Myrias machine: - rely on the pointer values returned by malloc() - almost anything that involves the real-time clock - use of undefined variables generated by parallel merging (the debugger will catch this for you if you ask it to) - perform I/O in parallel without using the provided seekread and seekwrite indivisible intrinsics. - ... I suspect there may be more Despite these exceptions (some of which are familiar from multi-tasking serial machines), the basic model of parallelism is entirely deterministic. In the context of the discussion that prompted my original response, it is not necessary to be concerned with any of the synchronization issues that are normally associated with MIMD machines. Nevertheless, I apologize if my original statement was misleading; it is certainly possible to create a non-deterministic program on a Myrias machine. Regarding "standard Fortran 77": To quote the Fortran 77 standard, "A processor conforms to this standard if it executes standard-conforming programs in a manner that fulfills the interpretations described herein. A standard-conforming processor may allow additional forms and relationships provided that such additions do not conflict with the standard forms and relationships" (ANSI X3.9-1978 page 1-2 lines 25 to 30). If you take a standard-conforming Fortran 77 program and run it on an SPS-2 or SPS-3, it will run as the Standard says it should (if it doesn't, you have found a bug). So, the SPS machines run "standard Fortran 77". PARDO is an extension, but the Standard explicitly allows that. I understand that NASA Langley has just acquired a Myrias SPS-2 for evaluation. I hope you will have an opportunity to try it yourself, and comment on your experiences. 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