Re: Another computer algebra system : smib
- From: Richard Fateman <fateman@xxxxxxxxxxxxxxx>
- Date: Thu, 01 Oct 2009 11:25:32 -0700
David Kirkby wrote:
(RJF) The failures of code in one or more of the multiple Sage environments
merely illustrates how poorly the notion of "machine independence" is
supported by the C specification, current C compilers, and whatever else
you need. (Does Python break this way too?)
You have a total mis-understanding of the issues.
Most of the problems are due to things like
<snip>
.... a list of problems caused by failures of compilers, or programmers to abide by some consistent specification.
Seems like just what I said, and not a mis-understanding at all.
.....
I can give you a few specific examples.
* A colleage of mine wrote some finite element software on a dual
processor linux machine. I then got a quad processor Sun, and he found
it would mis-behave. When he found the bug, he realised it was a
genuine bugs, which had simply not shown up on his machine, but did on
mine.
Certainly sometimes a bug is discovered only after a program is ported to a new environment -- a bug that existed in the old environment too, but just had not been exercised. Spending time porting a program is
worthwhile if you want the program to run on other machines. Is it the way you should spend your time if you want to learn about computer algebra programs, or if you want to debug them? I think there are better
ways of spending time.
IMHO, testing code on a variety of operating systems, on a variety of
hardware often shows up bugs.
Yes, principally bugs in compilers, operating systems, and (more often) programmers' understanding of compilers, operating systems, parallelism, etc.
Systems with multiple processors often show up bugs that single
processor systems do not. With time, more and more machines will have
multiple processors or cores.
I think that using the now commercially common multiple processors is a challenge for implementers of compilers, operating systems, and indeed computer algebra systems. Getting a CAS working well on a particular (one hopes, common) multiple-processor machine would be worthwhile. Debugging it for each and every one? Unlikely to be as worthwhile.
In the mid 1980s there were a host of multiple-processor machines, typically motorola 68020s with a shared memory bus, but also processors from MIPS. And a history of multiple-processor systems from SUN, etc. Some ran Lisp, Macsyma, Maple, etc. Also, there is a history of
research on parallel computer algebra (search on Google Scholar).
Such research does not consist of porting program X to many different implementations of multi-core machine OS/compiler/etc by diddling with compiler flags.
<snip>
.... Your speculation about someone who doesn't share your view about the value/importance of porting his program to Solaris ... is that such
a programmer must be guilty of various inadequacies. Like lax testing etc.
I don't know enough about the specifics, but disagree with your view,
and see no reason to believe this person's code is inadequately tested
if it runs really robustly on the machine for which it was programmed.
RJF
.
- Follow-Ups:
- Re: Another computer algebra system : smib
- From: Dave
- Re: Another computer algebra system : smib
- References:
- Re: Another computer algebra system : smib
- From: David Kirkby
- Re: Another computer algebra system : smib
- Prev by Date: Re: Another computer algebra system : smib
- Next by Date: Re: Another computer algebra system : smib
- Previous by thread: Re: Another computer algebra system : smib
- Next by thread: Re: Another computer algebra system : smib
- Index(es):
Relevant Pages
|