• 1 reply
  • Latest Post - ‏2010-08-30T13:08:18Z by PGK
15 Posts

Pinned topic Large spu-gfortran exes

‏2010-08-03T21:44:43Z |

I used the SPU and PPU versions of gfortran to compile a 5-line example program using the Fortran print, spread and transpose intrinsics.

ppu-gfortran ex1.f95
spu-gfortran ex1.f95

The PPU-compiled version is 14K while the SPU-version is 610K.

Why is the SPU version so large? Presumably the majority of this will not actually be transferred to the SPU local store. Can I look into that?

I noticed that the spu gcc library directory /usr/lib/gcc/spu/4.1.1/ contains no dynamic libraries; unlike the ppu version. I also saw that the 'C' hello spulet example program is only 26K.

Should I be concerned at the size of such exes?

Updated on 2010-08-30T13:08:18Z at 2010-08-30T13:08:18Z by PGK
  • PGK
    15 Posts

    Re: Large spu-gfortran exes

    It's likely glue code. Nevertheless, a minimal fortran file:

    program main
    end program main

    compiles to a 593K exe using spu-gfortran; while a minimal C file:

    int main(int argc, char *argv[]) { return 0; }

    compiles to 20K using spu-gcc.

    The -Os switch makes no difference, and I'm using SDK 3.0.

    To find out what is actually loaded to the SPE local store,
    using the cell simulator is the best approach.