home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / comp / os / vms / 22229 < prev    next >
Encoding:
Text File  |  1993-01-28  |  4.4 KB  |  92 lines

  1. Newsgroups: comp.os.vms
  2. Path: sparky!uunet!charon.amdahl.com!pacbell.com!decwrl!pa.dec.com!engage.pko.dec.com!nntpd.lkg.dec.com!dbased.nuo.dec.com!quark.enet.dec.com!lionel
  3. From: lionel@quark.enet.dec.com (Steve Lionel)
  4. Subject: Re: fortran/nohpo?
  5. Message-ID: <1993Jan27.162038.21893@dbased.nuo.dec.com>
  6. Lines: 79
  7. Sender: news@dbased.nuo.dec.com (USENET News System)
  8. Reply-To: lionel@quark.enet.dec.com (Steve Lionel)
  9. Organization: Digital Equipment Corporation, Nashua NH
  10. References:  <8CF0CF8DB01F23A12E@MAX.U.WASHINGTON.EDU>
  11. Date: Wed, 27 Jan 1993 16:20:38 GMT
  12.  
  13.  
  14. In article <8CF0CF8DB01F23A12E@MAX.U.WASHINGTON.EDU>, 
  15. DEREK@U.WASHINGTON.EDU writes:
  16. |>
  17. |>First, after Mark's query, Steve Lionel wrote something about people
  18. |>peeking into the FORTRAN CLDs.  The /[NO]HPO qualifier is documented
  19. |>in *our* HELP text, but maybe that's only because we field tested
  20. |>FORTRAN-HPO.  Can anyone out there confirm/refute this?
  21.  
  22. I made the comment about "peeking into CLDs" because of the way the question
  23. was phrased.  Mark asked about the "NOHPO" qualifier.  It would only appear
  24. that such a thing existed to someone who looked at the VAX FORTRAN V5.9
  25. CLD file, which is placed in SYS$LIBRARY:.  (FORTRAN-HPO and V6 don't leave
  26. the CLD on the system).  If you had FORTRAN-HPO, you'd know it as the HPO
  27. qualifier and wouldn't be prone to asking what it did.  Certainly the HPO
  28. qualifier was documented for FORTRAN-HPO customers.
  29.  
  30. |>
  31. |>Second, Bob Marshall (marshall@force.ssd.lmsc.lockheed.com) wrote:
  32. |>
  33. |>>... In many cases they are compiling on a uniprocessor system in our
  34. |>>system which has no vector processor, anyway.
  35. |>> 
  36. |>>So, there's at least one situation where the /NOHPO switch makes sense,
  37. |>>even when the FORTRAN-HPO compiler is available.
  38. |>
  39. |>I think that this is wrong, but Steve might correct me.  There are
  40. |>*other* benefits which can be gained by using the HPO compiler.  As I
  41. |>understand things, it does a much better job of code optimization.
  42. |>Also, at least here, vector code is NOT generated unless you explicitly
  43. |>ASK for it via the /VECTOR qualifier.
  44.  
  45. Right on both counts.  In particular, code that uses COMPLEX data types are
  46. much better optimized by FORTRAN-HPO than by VAX FORTRAN.  Also, FORTRAN-HPO
  47. generates inline code for BLAS routines, which is important to some.  Vector
  48. and multiprocessor code requires use of non-default compiler options.
  49.  
  50. |>
  51. |>HOWEVER, a co-worker refuses to use the HPO compiler because, in the
  52. |>early field test, we ran into a couple of bugs is the code generator.
  53. |>(These have been fixed, btw.)  The worst problem he had, however, was
  54. |>the COMMON block alignment issue.  He didn't want to change all of the
  55. |>MACRO code, nor did he want to change the build procedures.
  56. |>
  57.  
  58. Was this the warnings for misaligned fields?  If so, that's easily suppressed
  59. by /WARNINGS=NOALIGNMENT.  However, for V6, NOALIGNMENT is the default.
  60. As for code generator bugs, I know of no cases where the V6 compiler generates
  61. improper code; we've had a six-month field test at sites which use the compiler
  62. in production and which compile millions of lines of code.  We also have our
  63. 9000+ program test system which we run frequently.  I fully expect V6.0 to
  64. look to VAX FORTRAN V5.x customers as equally reliable, with a lot more
  65. useful features (and with no increase in price.)  V6 should be on the
  66. March ConDist CD and be shipping to service customers by the end of
  67. February.
  68.  
  69. |>As for the alignment, depending upon your processor access to non-aligned
  70. |>data may be significantly slower than access to aligned data.
  71.  
  72. Sort of true.  It is slower, but whether or not it's "significant" is
  73. subjective.  If your program has tens of thousands of unaligned accesses,
  74. aligning the data could result in a noticeable performance boost.  But the
  75. warnings are more important to those using vectors and those porting to
  76. Alpha AXP systems, where natural data alignment is required.  (AXP systems
  77. include alignment "fixup" code, but it's MUCH slower than getting the
  78. alignment right.)
  79.  
  80. Alignment is really only an issue in COMMONs and RECORDs (or where 
  81. EQUIVALENCE is used).  Otherwise, the compiler naturally aligns data (and the
  82. way we do that for stack-allocated double-precision variables is intriguing;
  83. details are in the release notes.) It also tries to longword-align loop tops 
  84. for better execution performance.
  85. --
  86.  
  87. Steve Lionel                    lionel@quark.enet.dec.com
  88. SDT Languages Group
  89. Digital Equipment Corporation
  90. 110 Spit Brook Road
  91. Nashua, NH 03062
  92.