Please excuse me if this contribution duplicates
comments already made in the multicore thread.
I have dropped working in J pending the restoring
of [: and ]: as functions like [. and ]., and unlike the
dropped lev and dex conjunctions, to allow me to
avoid explicit coding, so I have just been skimming
this forum's discussions. (Not that I really expect
this change to take place, but hope springs eternal.)
However, my eye was caught by Viktor Cerovski's raising
arithmetic associativity in Message 6 of Digest 27/39.
This raised a number of thoughts in my head, though
maybe these are naive, as I am quite unfamiliar with
the details of multicore architecture.
The associativity problem is a very real one because
increased computing speed has led to increasingly
complex computations being attempted, computations
on increasingly large arrays of data. This means that
truncation errors accumulate, apart from pathological
problems like b+(a-a) and (b+a)-a giving very different
results when a is much greater than b (ultimately b
in the first case and 0 in the second).
However, exact arithmetic is of course associative and
free of truncation error. This suggests that, at the scalar
level, the multicores might be useful for J's exact and
rational arithmetic, both real and complex, provided
the process of sharing the load between processors is
significantly quicker. If it is, then maybe consideration
should be given to making exact arithmetic the default,
with floating point only resorted to when the starting
data or basic functions are inexact, or with results
exceeding a certain length adjustable by the user.
For floating point computation, in particular for the
common multiply and accumulate kind, truncation
error can be avoided by doing the arithmetic and
accumulation in a long fixed point register. This
was implemented in the '70s in microcode on an
IBM mainframe (google acrith for details) and later
on a chip (see www.bookpool.com/sm/3211838708).
Multicore processors could well provide support
for such arithmetic. Indeed, I understand that the
revised IEEE standard for binary floating point
arithmetic could include such arithmetic under
the name "complete arithmetic".
Neville Holmes, P.O.Box 404, Mowbray 7248, Tasmania
Normal e-mail: [EMAIL PROTECTED]
Make the switch to the world's best email. Get the new Yahoo!7 Mail now.
www.yahoo7.com.au/worldsbestemail
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm