Re: hpgcc decnumber matrix solver call for betatesters



Hi,
"Veli-Pekka Nousiainen" <DROP_vpn@xxxxxx> wrote in message
news:NUdFg.6066$aY6.5989@xxxxxxxxxxxxxxxxxxxxxxxxxx
Think about it as this:

Calculator free RAM is about 240KB (binary)
LastArg is Off, LastStack is Off

A C program could use Port 1 RAM
for intermediate calculations and for the program
and it should do the system solving "in-place" if possible

100x100 matrix needs 10K elements, each 1 nibble
eg. 5KB (dec) for each digit
50 digits is about 250KB (dec)
which just might fit into the calc

A PDA with larger memory should be used instead
Linux and Parisse's Xiac-CAS could be enhanced
Also a new version of the WinCE will be introduced 2007

Veli-Pekka (from Finland, too)

Ville Koskinen wrote:
Hello,

I',m curious, what about performance with really large matrices?

Regards,
Ville Koskinen

depends on what you mean by large matrices
with
239 kB free IRAM,
126kB free ERAM,
LASTARG, UNDO disabled
librarys installed in port 2,

Solving Ax=b for x with A[n,n] and one righthandside, converting to standard
reals, solving same system with standard HPreals and calculating abs norm
of difference. All timings as reported by " MEM DROP << >>TEVAL".
n time HPReals D16 abserror 25D 50D 100D
10 1.0s 1.5s 0. 1.6s 1.7s
1.9s
20 5.8s 4.6s 0. 4.7s 5.2s
6.5s
30 15.6s 9.5s 2.0E-11 9.9s 11.5s 15.2s
40 34.3s 16.6s 1.02E-11 17.5s 20.9s err
50 63.3s 26.6s 1.0E-11 28.0s err
60 104.5s 40.0s 1.02E-11 47.2s
70 160.7s 81.7s 1.5E-11 err
80 231.6s err

err denote out of memory error.

All conversion from hp-land to arm land is done by exploding the matrix on
the stack then using non-optimized string conversion functions.This gives a
large overhead, as can be seen on the small time differences for different
precision. Thus during conversion back to longfloat matrixes you need at
least about three times size of the matrix itself.
The largest matrix of those above is matrix25 [60,60] (bytes returns 84615)
With this matrix on the stack and one exploded and converted to text strings
on the stack the free memory reported by MEM is 21.9kB only. In addition
you would have the B matrix as well.
Thus the hpgcc is really able to utilize the memory.

However, the complete matrix object converted to one string object is 104kb,
so there can possibly some improvement, espesially if the matrix is saved on
the SD-card during conversion.

What can also be seen is that multiprecision aritmetic with hpgcc is
actually faster than the hp reals.

Best regards
Gjermund Skailand
PS Note to Steen, I have sent you the library, but it may have been stopped
in your spam traps.


.



Relevant Pages

  • Re: just a second of your time...a newbie question
    ... Most secure and plenty of space. ... I never put anything in port ... which use the tgv library) does it take up memory space? ... Use it to transfer programs to the calculator rather than ...
    (comp.sys.hp48)
  • Re: What is a library?
    ... The most important reason is the memory managment of the calculator. ... As you have 0 port with memory shared with te RAM, ...
    (comp.sys.hp48)
  • Re: 2MB ram card
    ... that the memory is recognized by the calculator? ... I don't see the port numbers yet. ... is inserted the right way and is switched to be writeable, then PINIT should properly initialize it, after which all port *numbers* should be listed in LIBRARY PORTS, regardless of whether the ports are empty. ...
    (comp.sys.hp48)
  • Re: Conversion tables for changing from one med to another?
    ... to the advanced conversion calculator: ... Can I interest you in their fentanyl patch calculator? ... the physician to cut the equianalgesic dose by up to 75%, ... factor completely ignore the section on dose adjustment that say "patients ...
    (alt.support.chronic-pain)
  • Re: Legality of type conversion on instance ports?
    ... >Is this legal syntax in the vhdl standard? ... on a port map, so for example if you have a std_logic_vector signal S ... so that you can hide the type conversion and its ...
    (comp.arch.fpga)