Mars Exploration Rover Spirit had landed successfully on Mars!
Back to work.

More on 64-bit Processors and AutoCAD

closerFPU-look.jpgI am posting more on the 64-bit CPUs that are slowly coming to market from both Intel & AMD. I mentioned the AMD Opteron and the increased performance with standard AutoCAD 2004 in my post to this blog on October 25th 2003 "64 bit Computers & AutoCAD". I was hoping that the 64-bit platform would offer a 128-bit double precision floating point allowing for 30-32 digit double extended precision. Unfortunately it does not in either the Intel or AMD processors that have been announced to this date.

The IEEE-754 and 854 standards specify the numeric formats, value sets, and how the basic floating point arithmetic works.

AutoCAD Currently used 64-bit precision and has since the early 80s. No other known CAD or geometry kernel I know of exceeds this 64-bit precision and a few CAD systems just recently got this level of precision after the year 2000 about 15 years later than AutoCAD.
The current 64-bit Precision Limit: Double-precision format – 64-bit data width, 15 to16 digit precision
1,000,000,000,000 to 0.0000000000000001
Normalized as 53 bits of significance 1 bit sign 10 bits exponent

We have been researching the implications of going to the maximum allowed by the 32 & 64-bit processors which is 80-bit. It may change the DWG and also affect many other core functions
Extended-precision format: 80-bit data width, 18 to 20 digit precision
Normalized as 64 bits of significance 1 bit sign 15 bits exponent

In the AMD Opteron there is 128-bit XXM registers, but you do not get 128-bit precision. You get two 64-bit doubles at the same time which is normalized as 53 bits of significance.

In the Intel Itanium the native floating point is 82-bit which is normalized as 64 bits of significance.

But with the 64-bit Operating Systems we do get a larger addressable memory beyond the current 3gig which would allow larger models for example. But that means a total recompile to the 64-bit platform which is a huge undertaking. Also the Operating Systems and compilers have not all been released.

It is my own opinion that a true 64-bit port of a CAD application will be some time down the road, maybe years when the market adopts a standard and there are compilers, Operating Systems, and also available 3rd party libraries which many CAD applications depend on such as geometry kernels that must also be ported to the 64-bit platform.

More Information on the Floating Point Standards and mathematics behind it.

  • IEEE Standard 754 Floating Point Numbers Steve Hollasch 2003-Jan-02
    Excerpt
    "What Are Floating Point Numbers?
    There are several ways to represent real numbers on computers. Fixed point places a radix point somewhere in the middle of the digits, and is equivalent to using integers that represent portions of some unit. For example, one might represent 1/100ths of a unit; if you have four decimal digits, you could represent 10.82, or 00.01. Another approach is to use rationals, and represent every number as the ratio of two integers.

    Floating-point representation - the most common solution - basically represents reals in scientific notation. Scientific notation represents numbers as a base number and an exponent. For example, 123.456 could be represented as 1.23456 x 102. In hexadecimal, the number 123.abc might be represented as 1.23abc x 162.

    Floating-point solves a number of representation problems. Fixed-point has a fixed window of representation, which limits it from representing very large or very small numbers. Also, fixed-point is prone to a loss of precision when two large numbers are divided.

    Floating-point, on the other hand, employs a sort of "sliding window" of precision appropriate to the scale of the number. This allows it to represent numbers from 1,000,000,000,000 to 0.0000000000000001 with ease. "


  • AMD Opteron™ Processor Models 148 and 248 for Workstations Product Overview
  • AMD64 Architecture Programmer’s Manual Volume 5: 64-Bit Media and x87 Floating-Point Instructions (PDF)
  • The Intel® Itanium® 2 processor Product Overview
  • Intel® Architecture Software Developer's Manual Volume 1: Basic Architecture PDF (see 8.1.4.2 & 8.3.10)
  • Intel® Itanium Architecture Software Developer's Manual PDF (see 5.1.2 & 5.2)
  • AMD64 Architecture Tech Docs
  • AMD's and Intel's End-of-Year CPU Buyer's Guide from Tomshardware.com
  • Intel/AMD Processor Comparison from aceshardware.com
  • Extremetech.com Review: AMD Athlon 64 3400+

    bored.jpgYou asleep yet? I apologize for the length of this post but much of the background and references need to be present to explain the floating point. In any case the industry and Autodesk will continue to research new ways to get beyond the current floating point limitations. The most affected users are those using very large coordinates such as mapping and GIS and the limitation applies to all applications with 64-bit precision. I am definitely no mathematical expert, software, or a hardware developer, but I have spoken with many experts on this subject as well as read the reference material and spoken with the processor and operating system providers to form my personal opinions on this topic.

    But on the bright side is that you can run the current 32-bit AutoCAD 2004 on the 64-bit AMD processors and initial testing has shown in some cases a 40% increase in performance. The increase must be from an improved floating point calculation speed. For more on this subject see my other post on running on the 64-bit system.

    I will post an update in the future on this subject.

    Cheers,
    -Shaan

  • Comments