How to build math libraries for 64-bit integers

Before you continue please verify whether you really need 64-bit integers. It is extra work and perhaps not needed.

If you decide to build DIRAC for 64-bit integers, you have to link to 64-bit integer aware math library/libraries providing both BLAS and LAPACK.

The following things can happen:

  • Your math library is compiled for 64-bit integers and DIRAC will link and run properly.
  • Your math library is not compiled for 64-bit integers and DIRAC will not link.
  • Your math library is not compiled for 64-bit integers and DIRAC will link but stop at runtime.
  • Your math library is not compiled for 64-bit integers and DIRAC will link and not stop at runtime because you deactivated the self-test and may produce wrong numbers.

For cases 2-4 you may have to either:

  • Verify linking.
  • Compile your own math library.
  • Use DIRAC’s internal math implementation (slow).
  • Go back to 32-bit integers.

MKL

MKL provides bindings for 64-bit integers and normally DIRAC should correctly link if you have specified MATH_ROOT correctly.

Atlas

It is not trivial but doable to compile your own Atlas library with 64-bit integer support.

The difficulty is that you need to compile both LAPACK and Atlas.

To do this we recommend to follow the nice example: Installing ATLAS with full LAPACK on Linux/AMD64.