Compiler Notes

Supported compilers

The CML has been tested with the following compilers/systems:

  • gcc 3.4.3 on Linux/Opteron (x86-64, Fedora Core 3)
  • gcc 3.4.4 on Linux/x86 (RedHat Enterprise Linux 4)
  • g++ 4.0.1 on Linux/x86 (Fedora Core 4)
  • g++ 4.0.1 (5250) on Mac/Intel (Tiger)
  • g++ 4.0.1 (5341) on Mac/PPC[32,64] (Tiger)
  • g++ 4.1.1 on Linux/x86 (Fedora Core 5)
  • Intel 9 on Linux/x86 (RedHat Enterprise Linux 4, Fedora Core 4)
  • Intel 9 on Windows XP/SP2
  • VC.NET 7.1.3088 on Windows XP/SP2

Compiler settings

The CML’s expression template code should offer performance comparable to that of hand-rolled C code for vector, matrix, and quaternion operations.

To achieve maximum performance, some tweaking of compiler optimization settings may be required. As beta testing progresses, we’ll add to this page notes on all supported compilers and tips on what compiler settings or flags will yield the best results. In the meantime, we recommend that maximum optimization settings be used when evaluating the CML’s performance.

Warnings

The CML may generate warnings on some compilers even when it compiles successfully. We’re working on eliminating as many of these warnings as is possible.

Questions or problems?

If you have any problems compiling the CML or getting it to perform well on a particular system, please contact us and we will try to address the problem.