Re: Use of subroutines

From: glen herrmannsfeldt (gah_at_ugcs.caltech.edu)
Date: 03/01/04

  • Next message: Dave Thompson: "Re: Portable "system" interaction"
    Date: Mon, 01 Mar 2004 07:23:40 GMT
    
    

    James Van Buskirk wrote:
    (snip)

    > This discussion about big program units boggling the compiler was
    > one reason I have been working a bit harder on one of my pet
    > projects this week. I now have working a program that writes DFT
    > computational kernals of order any power of 2. It's on my website,
    > http://home.comcast.net/~kmbtib/index.html in the file scaled2d.f90.
    > When run, it prompts the user for the power of 2 (e.g. if you
    > wanted a computational kernal of order 1024, your response should
    > be 10, NOT 1024 which would just hang the program.)

    This reminds me of an FFT program I saw many years ago, probably
    around 1977, but before F77 compilers were out.

    It did power of two FFT's, and at one point, or maybe two, had
    to do the FFT reversal, to rearrange the data in the proper order.
    It had some number of nested DO loops, for the maximum power
    of two that it could process, and then IFs and GOTOs to enter the
    nest at the appropriate level. That should completely violate the
    DO entrance rules, but they did it anyway, as it apparently worked
    with the compiler in question.

    > Fairly
    > quickly it spits out two files, if your response to its question
    > was 10, for example, you would get fft1024.i90 and fft1024.f90.
    > The *.i90 file has all the code in it; the *.f90 file is a test
    > program which needs the *.i90 include file to compile. Anyhow,
    > testing compilation speed of the resulting files with LF95 5.70d
    > a knee in the performance curve was readily evident: it compiles
    > fft512.f90 in under a minute, takes about 5 minutes to slog
    > through fft1024.f90, and crashes after about 2.25 hr on fft2048.f90.
    > Since this program is capable of creating arbitrarily large code
    > with one of the most tangled possible data flow graph, it seems to
    > be a reasonable candidate for probing the complexity limits of a
    > given compiler. How big a DFT module does it take to crash
    > Salford or Intel?

    That is a pretty sharp knee. I will have to look at the program.

    -- glen


  • Next message: Dave Thompson: "Re: Portable "system" interaction"

    Relevant Pages

    • Re: Free FAT16 Filesystem
      ... being an honourable reason. ... Dave, I made every effort 3 weeks ago to have you understand that if you ... >>Murray did not mention Keil in his correspondence to you. ... >>both your compiler AND under Keil's, ...
      (comp.arch.embedded)
    • Re: "Sorting" assignment
      ... issue on some ancient compiler doesn't make a lot of sense. ... to his on a few commonly used platforms and compilers, ...  Be sure and call the swap ... reason to find algorithms which operate independent of it. ...
      (comp.programming)
    • Re: IMPLICIT NONE (F2k8+/-)
      ... >convention that has served Fortran for 50 years, is itself, no good ... >reason for change. ... >done, using implicit typing. ... The IBM 1130 compiler could do ...
      (comp.lang.fortran)
    • Re: AVR interrupt response time
      ... Maybe with C/IAR or some other compiler. ... critical handler is serviced with minimum delay... ... there is no reason to even push the PSR in this case since the ... I have seen you recommending IAR earlier. ...
      (comp.arch.embedded)
    • Re: Generating a simple hand-coded like recursive descent parser
      ... I see no reason to use that to bootstrap a compiler. ... a smarter algorithm using a fusionned DFA for the ... There's no specific algorith to build the AST. ...
      (comp.compilers)