CFD(ID:1894/cfd001)

Computational Fluid Dynamics. 


Computational Fluid Dynamics.

FORTRAN-based parallel language for the Illiac IV, exposed the separate PE elements etc to the programmers

Places Hardware:
  • ILLIAC IV University of Chicago at Illinois/Burroughs

Related languages
FORTRAN IV => CFD   Extension of

References:
  • [Burroughs Corporation], ILLIAC IV Systems Characteristics and Programming Manual. NASA Contractor Report 2159, 1972 view details
  • [Computational Fluid Dynamics Branch] "CFD — A FORTRAN-like Language for the ILLIAC IV", internal paper, NASA Ames Research Center, 1973. view details
  • Feustel, E. A., et al., "Future Trends in Computer Hardware" view details
          in Proceedings AIAA Computational Fluid Dynamics Conference, July, 1973 view details
  • Stevens, K. G. Jr. "CFD ? A FORTRAN-like language for the ILLIAC IV" pp72-76 view details Abstract: A FORTRAN-like language, CFD, is described as it relates to the parallel hardware of ILLIAC IV. Included are the basic goals of the authors of CFD and some of the author's own experiences during the evolution of the language. CFD was developed for the ILLIAC IV to provide programmers with a language similar to commonly used versions of FORTRAN. Many of the deviations from FORTRAN found in CFD were dictated by the parallel hardware architecture of ILLIAC IV. DOI
          in SIGPLAN Notices 10(03) March 1975 Proceedings of the conference on Programming languages and compilers for parallel and vector machines, January 1975 view details
  • Davis, E. W. (Raleigh, NC) Review of Hord view details Extract: COntent
    It is perhaps ironic, perhaps appropriate, that this book should be published in the year that ILLIAC IV was disassembled for scrap [ 1 ] . The author, who was a manager for the Institute for Advanced Computation (IAC) where ILLIAC IV was operated, reports on more than 15 years of the computer's history. A brief discussion of political and technical implementation difficulties during the late 1960s and early 1970s development period at the University of Illinois provides an interesting perspective on the project. Not many computer histories can include sentences like "It was during the firebombing and rioting that shook the University of Illinois campus in the spring of 1970 that the ILLIAV IV computer project reached its climax." It was an exciting time. Any of us who were there could add items to the discussion of difficulties and successes.
    The book is organized into chapters on Background, The Computer, Programming, Applications, and Commentary. Much of the material is based on IAC newsletters and reports and published papers. The book gathers material together in an organized fashion and supplements it with supporting narrative and figures. Unfortunately, there is no index to aid the reader in locating items of interest. The book as a whole does not have a list of references, only "sources," most of which are IAC documents. Individual sections based on previously published work usually do include references.
    More than half of the book is devoted to applications. It provides a thorough view of formulating algorithms for a parallel machine and demonstrates the usefulness of ILLIAC IV over a range of applications. By contrast, coverage of ILLIAC IV hardware is quite slim. In a 64-page chapter called The Computer, only 11 pages are concerned with ILLIAC IV, and less than one page with the actual processing unit. The rest of the material is a documentary description of the IAC facility, what IAC did to implement overlap between control and processing units, and some performance figures. As just one example of the lack of appropriate balance of description, more space is devoted to the IAC facility air conditioning system than to the ILLIAC IV processing unit.
    There are many inconsistencies in the text that could have been eliminated by careful editing. For example, the overview of the IAC computational facility has the sentences "Five physically distinct memory subsystems comprise the three levels of the hierarchy. The third or primary level separates into the PEM (Processor Element Memory), the 14DM, and the Central Memory." Why is the third level the primary level? Why does this single level include both solid state random access memory (the PEM) and disk memory (the 14DM)? The book also states "This hierarchy is illustrated in Figure 3.2." Figure 3.2 then shows four levels of memory.
    Basing sections of the book on reports prepared by others introduces redundancy. Several figures are duplicated, along with their textual discussion. Figure 3.3 is captioned "Simplified Diagram of the ILLIAC IV." The same diagram is used as Figure 4.1 but is labeled "Example #2 Overlap Code." The obvious mislabeling should have been corrected. However, simply referring to the earlier figure would have avoided the problem altogether. The author's intent might have been to make each section self-contained; if so, direct reprints of papers might have been better than just basing sections on previous work. Actually, it's not clear what the author wrote and what is taken from others.
    The programming of ILLIAC IV is discussed both in the chapter on applications and in a separate chapter titled Programming. The programming chapter emphasizes the CFD and GLYPNIR languages. It briefly examines two other languages: IVTRAN and APPLE. Early in the chapter it says "The ILLIAC is difficult to program; it is even harder to program well." This must be meant as a comparison with more conventional machines. Yet later in the same chapter we see "Software development for the ILLIAC is not much different from software development for other machines." Either it is more difficult or about the same; the reader should be given a clear view of the programming complexity. In the first few paragraphs of the chapter the author reveals a management problem at the IAC. He tells us "There is no central repository for application programs. Even the programs developed at IAC get lost in time or become useless through incomplete documentation."
    According to the author, the book was written primarily for computer professionals. It does include much material of interest to them and to a broader group of technical people. Certainly not all parts are of equal interest to all readers, but the author has performed a service in gathering diverse material on this influential machine into a single volume.

          in SIGPLAN Notices 10(03) March 1975 Proceedings of the conference on Programming languages and compilers for parallel and vector machines, January 1975 view details
  • Hord, R. Michael "The ILLIAC IV: the first supercomputer" Computer Science Press, Inc., Rockville, MD, 1982 view details
          in SIGPLAN Notices 10(03) March 1975 Proceedings of the conference on Programming languages and compilers for parallel and vector machines, January 1975 view details
    Resources
    • Slides on CFD at UCS Indiana

      Data types in CFD



      • Basic types included CU REAL, CU INTEGER, PE REAL, PE INTEGER.



      • Ordinary arrays can be in PE or CU memory:



              CU REAL A, B(100)


              PE INTEGER I

              PE REAL D(25), E(1000)

      • Vector-aligned arrays in PE memory:



              PE INTEGER J(*)


              PE REAL X(*,4), Y(*,2,8)

      external link