Silverfrost Forums

Welcome to our forums

Complex*32

20 Apr 2020 2:48 #25256

I know I can get to complex*20 - 18 digit precision. Is there any support for higher precision?

20 Apr 2020 3:51 #25257

complex*20 is available with FTN95 but only for Win32. Higher precision is not supported.

20 Apr 2020 8:36 #25259

The hardware does not provide it.

21 Apr 2020 1:51 #25260

Paul,

Is there a more extensive explanation ? Is a 8087 - 80 bit hardware supported in Win32 or is it emulated in 32-bit ? If it is available from Win32, why can't it be accessed from x64 ?

I did have a use for 80 bit use in eigenvector 'filtering' (Gram-Schmidt Orthogonalization), where I was calculating a tri-product of 2 eigenvectors and mass vector. I thought I proved that 80-bit filtering was better than 64-bit, although I gave that away with the 64-bit conversion. One of those projects on the to-do list. Might get a Covid bump up the list !

John

21 Apr 2020 6:57 #25262

John

There will be but I don't have the experience and knowledge to give it.

With my limited understanding, if I wanted 80 bit reals in a 64 bit executable then I would set up a pipe to a 32 bit executable running in the background that would access the FPU. As I understand it, if there is a direct way to get to the FPU then Microsoft do not support it.

21 Apr 2020 5:31 #25270

I think the hardware does provide it but it is difficult to use in x64. 80-bit reals use the FP stack model whereas efficient x64 code uses SSE instructions. 80-bit reals are not supported in .NET either

22 Apr 2020 3:16 #25276

It has been a puzzle to me to know if there is still an '80-bit 8087' like FPU on modern processors. Certainly we are encouraged to use SSE or AVX instructions due to their efficiency. But if an 80-bit hardware computation existed for, say dot_product_80, it can in theory improve the accuracy, without resorting to a much slower higher precision emulation library. It is only recently that FTN95 has provided access to SSE and AVX, so haven't we been mostly using 64-bit calculations, without the extra bits that 80-bit registers provide, at no performance cost?

I do have a dot_product_kahan (...), although only used it in test examples.

I never had a FE modelling job where 80 bit made a real difference. Not sure why, as in theory it could, although all the arrays were real*8. I did these tests many years ago.

22 Apr 2020 9:14 #25285

FTN95 x64 has always used the SSE instructions for floating point arithmetic.

19 May 2020 9:00 #25448

Quoted from Robert FTN95 x64 has always used the SSE instructions for floating point arithmetic.

Robert, when you say 'SSE instructions', do you mean 64-bit (as opposed to 80-bit) ? I understand FTN95 /OPT does not incorporate any SSE or AVX register/vector instructions for FP calculations.

Please login to reply.