Jump to content

Double-Precision and Floating-Point Precision?!

Go to solution Solved by ARikozuM,

I'm not sure exactly [on how to explain it].

In engineering, you're only allowed so much margin for error. As a result, the double precision is necessary to keep the tolerances very tight. Imagine drawing two lines on paint. You zoom in and they start to separate. If you do the same on Autodesk, the line will still be connected and if you placed an angle indication, it will continue to be as precise as possible.

 

Come to think of it, two applications where it will matter a lot is prosthetics where having exactly the right amount of material is important for their use and micro-machinery where using scales doesn't work well with computers.

These are very common terms in the world of Graphics Processing: Double-Precision, and Floating-Point Precision. Can someone explain to me what they are, and how are GPUs with these, used differently from the ones without?

 

Thanks!

Nothing to see here ;)

Link to post
Share on other sites

Cor Caeruleus Reborn v6

Spoiler

CPU: Intel - Core i7-8700K

CPU Cooler: be quiet! - PURE ROCK 
Thermal Compound: Arctic Silver - 5 High-Density Polysynthetic Silver 3.5g Thermal Paste 
Motherboard: ASRock Z370 Extreme4
Memory: G.Skill TridentZ RGB 2x8GB 3200/14
Storage: Samsung - 850 EVO-Series 500GB 2.5" Solid State Drive 
Storage: Samsung - 960 EVO 500GB M.2-2280 Solid State Drive
Storage: Western Digital - Blue 2TB 3.5" 5400RPM Internal Hard Drive
Storage: Western Digital - BLACK SERIES 3TB 3.5" 7200RPM Internal Hard Drive
Video Card: EVGA - 970 SSC ACX (1080 is in RMA)
Case: Fractal Design - Define R5 w/Window (Black) ATX Mid Tower Case
Power Supply: EVGA - SuperNOVA P2 750W with CableMod blue/black Pro Series
Optical Drive: LG - WH16NS40 Blu-Ray/DVD/CD Writer 
Operating System: Microsoft - Windows 10 Pro OEM 64-bit and Linux Mint Serena
Keyboard: Logitech - G910 Orion Spectrum RGB Wired Gaming Keyboard
Mouse: Logitech - G502 Wired Optical Mouse
Headphones: Logitech - G430 7.1 Channel  Headset
Speakers: Logitech - Z506 155W 5.1ch Speakers

 

Link to post
Share on other sites

float and double are floating point types used to store real numbers. You can think of them as a scientific notation.

{\displaystyle 1.2345=\underbrace {12345} _{\text{significand}}\times \underbrace {10} _{\text{base}}\!\!\!\!\!\!^{\overbrace {-4} ^{\text{exponent}}}}

They are called floating point because the decimal/binary point can be placed anywhere relative to the digits of the number, a position which is indicated by the exponent.

Of course, since we're talking about computers, these numbers are represented in binary. And here we have a problem, because there isn't a way for a computer to be 100% accurate without having infinite memory to store the numbers. Just like how in base 10, 1/3 = 0.3333333333... , there are similar recurring fractions in binary.

 

That's where the memory allocated to one floating point number comes in. The more memory it has, the more digits it can represent, and more accurately can it depict real numbers.

 

Most commonly, floating point numbers are 32 bit. That's the standard nowadays. For use cases when you need more precision, we use 64-bit floating numbers, which are called double-precision floating point numbers(for pretty obvious reasons 2*32=64). Of course, this also allows for larger numbers as well.

 

i5 4670k @ 4.2GHz (Coolermaster Hyper 212 Evo); ASrock Z87 EXTREME4; 8GB Kingston HyperX Beast DDR3 RAM @ 2133MHz; Asus DirectCU GTX 560; Super Flower Golden King 550 Platinum PSU;1TB Seagate Barracuda;Corsair 200r case. 

Link to post
Share on other sites

6 minutes ago, ARikozuM said:

But I still don't understand how it's very useful, that Autodesk recommends getting only Quadros and FirePros... Can you tell me how it affects performance?

Nothing to see here ;)

Link to post
Share on other sites

3 minutes ago, Nineshadow said:

float and double are floating point types used to store real numbers. You can think of them as a scientific notation.

{\displaystyle 1.2345=\underbrace {12345} _{\text{significand}}\times \underbrace {10} _{\text{base}}\!\!\!\!\!\!^{\overbrace {-4} ^{\text{exponent}}}}

They are called floating point because the decimal/binary point can be placed anywhere relative to the digits of the number, a position which is indicated by the exponent.

Of course, since we're talking about computers, these numbers are represented in binary. And here we have a problem, because there isn't a way for a computer to be 100% accurate without having infinite memory to store the numbers. Just like how in base 10, 1/3 = 0.3333333333... , there are similar recurring fractions in binary.

 

That's where the memory allocated to one floating point number comes in. The more memory it has, the more digits it can represent, and more accurately can it depict real numbers.

 

Most commonly, floating point numbers are 32 bit. That's the standard nowadays. For use cases when you need more precision, we use 64-bit floating numbers, which are called double-precision floating point numbers(for pretty obvious reasons 2*32=64).

 

They can be more precise alright, but how is it useful, in say, 3D-Rendering applications?

Nothing to see here ;)

Link to post
Share on other sites

I'm not sure exactly [on how to explain it].

In engineering, you're only allowed so much margin for error. As a result, the double precision is necessary to keep the tolerances very tight. Imagine drawing two lines on paint. You zoom in and they start to separate. If you do the same on Autodesk, the line will still be connected and if you placed an angle indication, it will continue to be as precise as possible.

 

Come to think of it, two applications where it will matter a lot is prosthetics where having exactly the right amount of material is important for their use and micro-machinery where using scales doesn't work well with computers.

Cor Caeruleus Reborn v6

Spoiler

CPU: Intel - Core i7-8700K

CPU Cooler: be quiet! - PURE ROCK 
Thermal Compound: Arctic Silver - 5 High-Density Polysynthetic Silver 3.5g Thermal Paste 
Motherboard: ASRock Z370 Extreme4
Memory: G.Skill TridentZ RGB 2x8GB 3200/14
Storage: Samsung - 850 EVO-Series 500GB 2.5" Solid State Drive 
Storage: Samsung - 960 EVO 500GB M.2-2280 Solid State Drive
Storage: Western Digital - Blue 2TB 3.5" 5400RPM Internal Hard Drive
Storage: Western Digital - BLACK SERIES 3TB 3.5" 7200RPM Internal Hard Drive
Video Card: EVGA - 970 SSC ACX (1080 is in RMA)
Case: Fractal Design - Define R5 w/Window (Black) ATX Mid Tower Case
Power Supply: EVGA - SuperNOVA P2 750W with CableMod blue/black Pro Series
Optical Drive: LG - WH16NS40 Blu-Ray/DVD/CD Writer 
Operating System: Microsoft - Windows 10 Pro OEM 64-bit and Linux Mint Serena
Keyboard: Logitech - G910 Orion Spectrum RGB Wired Gaming Keyboard
Mouse: Logitech - G502 Wired Optical Mouse
Headphones: Logitech - G430 7.1 Channel  Headset
Speakers: Logitech - Z506 155W 5.1ch Speakers

 

Link to post
Share on other sites

5 minutes ago, Anand_Geforce said:

But I still don't understand how it's very useful, that Autodesk recommends getting only Quadros and FirePros... Can you tell me how it affects performance?

Because those GPUs have drivers specifically tuned for such apps. They also go through more extensive validation than regular consumer cards to assure stability, as well as next level customer support. That's why they are the only ones recommended.

Want to help researchers improve the lives on millions of people with just your computer? Then join World Community Grid distributed computing, and start helping the world to solve it's most difficult problems!

 

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×