Date: Tue, 15 Dec 1998 09:22:09 -0800 (PST) From: Steve Kargl <sgk@troutmask.apl.washington.edu> To: bdodson@beowulf.utmb.edu (M. L. Dodson) Cc: mike@smith.net.au, hackers@FreeBSD.ORG Subject: Re: sysinstall Message-ID: <199812151722.JAA67152@troutmask.apl.washington.edu> In-Reply-To: <199812151507.JAA27744@beowulf.utmb.edu> from "M. L. Dodson" at "Dec 15, 1998 9: 7:18 am"
next in thread | previous in thread | raw e-mail | index | archive | help
According to M. L. Dodson: > Mike Smith writes: >>> If I might, I would like to suggest that any project along this >>> line look to include g77 as well as C++ as part of the base >>> system. This would help those of us interested in using FBSD for >>> number crunching. I can generate some testing time, including >>> compiling and testing some pretty hefty computational chemistry >> >> Can you clarify for us why having g77 in the base system, rather than >> an easily-installable and easily-upgradeable port would be worthwhile? f77 = stock f2c+gcc g77 = from egcs-1.1.1 port pgf77 = Portland Group Fortran compilers for linux The compiled program computes the acoustical scattering from an elastic spherical shell using standard partial wave analysis. f77 -O0 43.82 seconds g77 -O0 36.14 pgf77 -O0 19.68 f77 -O1 26.35 g77 -O1 15.12 pgf77 -O1 17.57 f77 -O2 22.78 g77 -O2 14.94 pgf77 -O2 16.16 f77 -O3 22.96 g77 -O3 14.87 pgf77 -O3 15.85 f77 -O3 22.97 (f2c+gcc does not honor a PPro flag) g77 -O3 -mpentiumpro 14.84 pgf77 -O3 -tp p6 15.83 >> Our current drive is to increase, not decrease, the modularity of the >> system where possible; an addition like this would have to have a >> compelling justification that was key to the system's functionality to >> be considered. g77 can be run in a manner that is fairly strict to the deprecated Fortran 77 standard. There are, however, well documented extensions in g77 that move g77 towards a standard conforming Fortran 90/95 compiler. g77 includes libU77 which permits a Fortran program to access the environment (e.g., getargs(), time(), date(), secnds(), subroutines). > I'm absolutely sympathetic with a desire for modularity. The > problem is specific to g77 (and, possibly, to other of the > optional gnu compilers). You can't just install g77; you have to > take, at least, a custom version of gcc along with it. That > means that you have to juggle your path in order to pick up the > correct versions of everything. Let me point out that people > using this compiler are not likely to be as knowledgable as your > ordinary "hackers" subscriber. I have had success getting things > done in spite of this behavior, but it is a royal PITA. Not to > mention the possible differences in code generation between the > system gcc and the g77-specific gcc. I have no way of judging > whether that might or might not be a general source of > difficulty. I do have experience with the behavior of the > regression tests accompanying some number crunching packages > being dependent on the compiler optimization level chosen, in > some quite unexpected ways. This is really important to us. A > 5% speedup means something when a run is 2 weeks long. This is > one of the PsITA I would like to avoid. Install the egcs-1.1.1 port and place /usr/local/bin in front of /usr/bin in our path. g77 will always use the right gcc and libraries. (Sorry for the long lines below) troutmask:kargl[207] g77 -v shell.f g77 version egcs-2.91.60 19981201 (egcs-1.1.1 release) (from FSF-g77 version 0.5.24-19980804) Driving: g77 -v shell.f -lg2c -lm Reading specs from /usr/local/lib/gcc-lib/i386-unknown-freebsdelf/egcs-2.91.60/specs gcc version egcs-2.91.60 19981201 (egcs-1.1.1 release) /usr/local/lib/gcc-lib/i386-unknown-freebsdelf/egcs-2.91.60/f771 shell.f -quiet -dumpbase shell.f -version -fversion -o /var/tmp/ccKPWs36.s GNU F77 version egcs-2.91.60 19981201 (egcs-1.1.1 release) (i386-unknown-freebsdelf) compiled by GNU C version egcs-2.91.60 19981201 (egcs-1.1.1 release). GNU Fortran Front End version 0.5.24-19980804 as -V -Qy -o /var/tmp/ccXhhSXa.o /var/tmp/ccKPWs36.s GNU assembler version 2.9.1 (i386-unknown-freebsdelf), using BFD version 2.9.1 /usr/local/lib/gcc-lib/i386-unknown-freebsdelf/egcs-2.91.60/collect2 -m elf_i386 -dynamic-linker /usr/libexec/ld-elf.so.1 /usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtbegin.o -L/usr/local/lib/gcc-lib/i386-unknown-freebsdelf/egcs-2.91.60 -L/usr/local/i386-unknown-freebsdelf/lib -L/usr/local/lib /var/tmp/ccXhhSXa.o -lg2c -lm -lgcc -lc -lgcc /usr/lib/crtend.o /usr/lib/crtn.o -- Steve finger kargl@troutmask.apl.washington.edu http://troutmask.apl.washington.edu/~clesceri/kargl.html To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199812151722.JAA67152>