• SONAR
  • 64 bit double precision engine - on or off ? (p.2)
2012/11/20 22:03:14
gswitz
I found this interesting... it would suggest that if you are getting audio dropouts due to processing power constraints you might try turning off the double precision floats (64)...

http://en.wikipedia.org/wiki/Double_precision

Execution speed with double-precision arithmetic Using floating-point variables and mathematical functions (sin(), cos(), atan2(), log(), exp(), sqrt() are the most popular ones) of double precision as opposed to single precision comes at execution cost: the operations with double precision are usually slower. On average, on a PC of year 2012 build, calculations with double precision are 1.1 - 1.6 times slower than with single precision.
2012/11/20 23:23:49
SuperG
drewfx1


It just does internal mathematical calculations with more precision (64 bits instead of 32) and is different from the 64 bit OS or SW versions, which involve memory addressing instead of calculations.

As a general idea, you can think of it in terms of dividing 10/6 and the result is 1.666666667 instead of 1.67.

But in reality (despite what some people's imagination tells them) 32bit single precision floating point already puts calculation errors far below ever being audible, so whether you turn it on or not doesn't really matter. And it has no effect on whether or not plugins use 32 bits  or 64 bits internally (programmers use what is needed when it is appropriate - 64 bit calculation becomes important for things like recursive processing, but not for simple adding or multiplying).

And the statement that, "Your chances of clipping will be significantly reduced", though technically correct, is particularly humorous in that 32 bits already provides hundreds of dB's of headroom over 0dBFS when in the real world no one ever goes more than a few dB's above 0dB (either by accident or when they're intentionally trying to distort something). But it does show that this is intended to impress people who don't understand math rather than provide any practical benefit. 

I agree....and I think that Sonar uses 64-bit fp simply because they can. A 64-bit cpu isn't gonna run any faster using 32-bit flops...
2012/11/20 23:55:47
arachnaut
A long time ago there was an 80387 Floating Point chip that was added to Pentium systems to do floating point.
This is now called the x87 FPU and there are several of these floating point engines inside our new Intel CPUs.
It doesn't matter if we run the CPU in 64 bit mode or not - the Floating point engines are capable of 32 or 64-bit operations. It's the same chip cell inside.

Since the CPUs can schedule lots of things to run in parallel - integer units, FPU, etc. - the Floating Point width does not matter a whole lot. Check your CPU and if you notice a difference turn it off.

Here are some references about Floating Point math

What Every Computer Scientist Should Know About Floating-Point Arithmetic
http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html

Here is a reference for the differences in CPU architecture:

Summary of differences in Intel 32-bit and 64-bit run time models
http://www.arachnaut.net/txt/64bit.html


Intel Manuals:
http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html



EDIT: added Intel manuals link
2012/11/20 23:59:30
ampfixer
Back when X1 was new, the 64 bit precision setting was a suspect in the bug hunt. I shut it off then and never turned it on again. D'oh!
2012/11/21 07:26:58
bobguitkillerleft
Always on here,X2 and I are walking together at a leisurely pace,though the clip fades are a new nuisance,that I have to learn better.
Bob
2012/11/21 07:28:41
SuperG
arachnaut


A long time ago there was an 80387 Floating Point chip that was added to Pentium systems to do floating point.
This is now called the x87 FPU and there are several of these floating point engines inside our new Intel CPUs.
It doesn't matter if we run the CPU in 64 bit mode or not - the Floating point engines are capable of 32 or 64-bit operations. It's the same chip cell inside.

Since the CPUs can schedule lots of things to run in parallel - integer units, FPU, etc. - the Floating Point width does not matter a whole lot. Check your CPU and if you notice a difference turn it off.

Here are some references about Floating Point math

What Every Computer Scientist Should Know About Floating-Point Arithmetic
http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html

Here is a reference for the differences in CPU architecture:

Summary of differences in Intel 32-bit and 64-bit run time models
http://www.arachnaut.net/txt/64bit.html


Intel Manuals:
http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html



EDIT: added Intel manuals link





It was a big deal when Intel introduced the '486 - because it was the first x86 to have the FPU built-in on board, as opposed to a separate, optional chip. (the FPU-less 486SX was a mistake..)

I worked on a contract around that time for some air traffic mapping software to replace an application that required an FPU. The original application performance sucked because nobody had an FPU then, and emulation was slow. We did it using fixed point and one of the first 16-bit editions of Delphi and looked like heros....

Them were the days...

Today, FPU's are taken for granted...
2012/11/21 07:42:20
bobguitkillerleft
The 486......hmmm,wasn't that back in the 60's?

Sorry,just joking,if some one told me 3 years ago I'd be recording again,with a laptop,I would have laughed,and run away!
Cheers
Bob
2012/11/21 07:45:07
DeveryH
What I don't understand is if the 64 bit floating engine is so good or even better, why even have an option to turn it off or on?
2012/11/21 08:01:16
bobguitkillerleft
spanky


What I don't understand is if the 64 bit floating engine is so good or even better, why even have an option to turn it off or on?

I tend to agree,however I'm guessing it's for those of us that don't have late model CPU's?
Bob
2012/11/21 09:40:53
arachnaut
spanky


What I don't understand is if the 64 bit floating engine is so good or even better, why even have an option to turn it off or on?

My guess would be that it was added a long time ago, when it may have made a difference, and never removed.
© 2025 APG vNext Commercial Version 5.1

Use My Existing Forum Account

Use My Social Media Account