From: anon@anon.org (anon)
Subject: Re: Interested about number crunching in Ada
Date: Fri, 17 Aug 2007 04:44:07 GMT
Date: 2007-08-17T04:44:07+00:00 [thread overview]
Message-ID: <rI9xi.40141$ax1.20593@bgtnsc05-news.ops.worldnet.att.net> (raw)
In-Reply-To: 46c49e6e$1_6@news.bluewin.ch
As for F2A:
Language converts are nice but in the GNU series they may add useless
code because of the number of steps take to convert the code from the
source to object code.
An example:
GNU F77
GNU F90 -- to --> C then using GCC -- to --> asm
GNU F95
asm then using GCC -- to --> object
GNU F2C -- to --> C then using GCC -- to --> asm
asm then using GCC -- to --> object
GNAT -- to --> C then using GCC -- to --> asm
asm then using GCC -- to --> object
F2A -- to --> Ada then using GNAT -- to --> C
C using GCC -- to --> asm
asm then using GCC -- to --> object
The asm package is internal data file unless you ask for a assembly
listing by insert -S into the command line. The "-S" cause the "GCC"
to format and write the data to the 'stdout'.
To truly optimize the code you need to stop and perform code
optimization at each step and then repeat all previous steps. That's a
lot of coding and testing just to optimize code that is already optimize
in FORTRAN. And rewriting the code 2 .. x times to optimize the
algorithm, is pure boring. Some programmers may take the full time
alotted by the school for a Doctoral just to try to increase performance
and optimize an algorithm. After the first couple of months re-writing
the same algorithm they state they are truly bored with the whole
process.
To test this try re-writing an algorithm a couple of times a day for a
month to try to increase the performance. You will get bored too.
Also, as many will tell you those little codes seams to turn into bigger
ones in a blink of an eye. For school projects, that is fine, but in big
business, time is money and that can mean someone job. So, the faster
it works is not always the best policy, it faster you can get operational
the best policy. And that's the reason why people use the pre-defined
libraries.
Then there the compatibility, any library code written in FORTRAN 2, or
IV can be compiled and be linked in FORTRAN 77, 90, 95 or beyond.
I/O may need to be redirected but numerical code needs no rewriting.
But in Ada, like JAVA the packages have changed. Such as
'LOW_LEVEL_IO' package which as defined in Ada 83 but in not in Ada
95, see RM Annex J for some other changes. This suggest that Ada 95
compiler are not required to support Ada 83, and Ada 2005 compiles may
not support Ada 83 or 95. Which means the built-in Ada packages that
you use today may not be there tomorrow and that includes the numeric
packages.
Gnat allows one to limit its code to Ada 83, Ada 95, and Ada 05, but
will that be the case in the next Ada specification update. Of course,
they still have GNAT obsolescent features that still work like the
'pragma No_Run_Time'. So, only time will see!
Then, you forgot to say that HP is playing politics.
That is, there are three main groups that deal with FORTRAN.
First, is the part-time programmers. Like Doctors who program uses
the language because the FORTRAN routine libraries exist. That save
time and lives. but it does increase cost that is pass on to the
end-user for libraries fees.
The second group, loves FORTRAN and actively use FORTRAN and push
for modifications/updates that will make it easier for them to use
the language. They HATE the idea that they may have to rewrite the
FORTRAN libraries so the function of the code can still be used.
Plus, some do not want to give up the copyrights or licenses they
own. So, more Software Patents.
Then there are the one that are trying to kill FORTRAN. HP
since the late 70's is one companies that is trying to retire
FORTRAN. They also voted against adopting FORTRAN 90 and 95,
stating that FORTRAN is outdated and should stop with FORTRAN
77. HP has it reasons, and one could be Ada.
Which brings us to Ada. Ada was developed for the military by DEC
using DEC computer systems. So, DEC had at that time had the
Software Licenses and Copyright to Ada. DEC was purchase by
COMPAQ then both were purchase by HP. This means that HP owns
the Software licenses and Copyright to Ada. Now, HP pays for
the FORTRAN Software licenses to third parties for the FORTRAN
libraries. If they sell that Ada out performs FORTRAN then they can
start receiving more fees for Ada libraries license then what they are
paying for FORTRAN. Since, licensing fees is a big business, HP
wants a bigger piece of the pie.
TI did something like this with their TI-990 series computers
and PASCAL. They wrote all compilers, assemblers, and Operating
Systems in PASCAL for their home-owned and mini-frame computer
system. The PASCAL programs would be allowed to steal resources
from other users environments or programs. Such as memory and would
receive more time-slice from the operating system. In some cases
FORTRAN programs would require twice to triple the time just to
equal the execution of a PASCAL program. After fine tuning the
operating system for balancing executions, a numeric algorithm
written in FORTRAN would out perform the same algorithm in
PASCAL.
In <46c49e6e$1_6@news.bluewin.ch>, Gautier <gautier@fakeaddress.nil> writes:
>anon wrote: plenty of right things that explain the situation - first of all
>the issue of Ada compilers i.r.o. performance for numerics (it exists: at
>least, there is a performant one, HP Ada). Now, there are two missing aspects:
>
>- even if you intend to use Ada for number crunching, you don't need to
>translate all the large building blocks that are presently in Fortran: Ada
>provides the Import and Convention pragmata. If you look at GNAT's sources
>behind the new Ada.Numerics.Generic_Real_Arrays, you will see that it cleverly
>uses the famous and broadly-tested and possibly non-GNU-compiled BLAS and
>LAPACK libraries.
>
>- for small and/or less tested pieces of code, it is relatively easy to
>translate them with the f2a tool and the amount of bugs that pop during the
>Ada-ptation is not boring at all!
>
>Maybe a kind of Sourceforge repository for Ada numerical code would be a good
>idea - any volunteer ? At least, there would be several contributors...
>______________________________________________________________
>Gautier -- http://www.mysunrise.ch/users/gdm/index.htm
>Ada programming -- http://www.mysunrise.ch/users/gdm/gsoft.htm
>
>NB: For a direct answer, e-mail address on the Web site!
next prev parent reply other threads:[~2007-08-17 4:44 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-16 3:42 Interested about number crunching in Ada holst
2007-08-16 6:43 ` Nasser Abbasi
2007-08-16 9:16 ` Colin Paul Gloster
2007-08-17 9:43 ` Jerry
2007-08-16 11:17 ` anon
2007-08-16 18:59 ` Gautier
2007-08-17 4:44 ` anon [this message]
2007-08-17 7:24 ` Gautier
2007-08-17 23:42 ` anon
2007-08-18 11:22 ` Gautier
2007-08-18 11:40 ` Markus E.L. 2
2007-08-20 22:31 ` To Markus anon
2007-08-17 8:23 ` Interested about number crunching in Ada Markus E.L. 2
2007-08-17 9:01 ` Stuart
2007-08-17 9:39 ` Martin Krischik
2007-08-18 0:47 ` anon
2007-08-18 11:58 ` Markus E.L. 2
2007-08-19 6:43 ` anon
2007-08-19 16:14 ` Markus E.L. 2
2007-08-19 16:23 ` Markus E.L. 2
2007-08-20 8:46 ` Stuart
2007-08-21 1:06 ` Randy Brukardt
2007-08-21 1:28 ` Gary Scott
2007-08-21 8:14 ` History of Ada - was " Stuart
2007-08-22 7:13 ` anon
2007-08-23 11:24 ` Stuart
2007-08-23 21:51 ` Gautier
2007-08-24 13:04 ` History of Ada - and about the NYU DOS version anon
2007-08-24 16:25 ` Georg Bauhaus
2007-08-25 11:49 ` History of Ada - to answer your question anon
2007-11-02 13:51 ` History of Ada - and about the NYU DOS version adaworks
2007-08-17 1:24 ` Interested about number crunching in Ada Gary Scott
2007-08-16 22:55 ` Jerry
2007-08-17 9:21 ` Nasser Abbasi
2007-08-17 9:52 ` Jerry
2007-08-17 14:35 ` Gautier
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox