825 | | ``POWER3``, ``POWER4``, ``POWER5``, ``PPCG4``, ``PPCG5``, ``P5``, |
826 | | ``P5MMX``, ``PPRO``, ``PII``, ``PIII``, ``PM``, ``CoreSolo``, |
827 | | ``CoreDuo``, ``Core2Solo``, ``Core2``, ``Corei7``, ``P4``, |
828 | | ``P4E``, ``Efficeon``, ``K7``, ``HAMMER``, ``AMD64K10h``, |
829 | | ``IA64Itan``, ``IA64Itan2``, ``USI``, ``USII``, ``USIII``, |
830 | | ``USIV``, ``UnknownUS``, ``MIPSR1xK``, ``MIPSICE9`` |
| 825 | ``POWER3``, ``POWER4``, ``POWER5``, ``PPCG4``, ``PPCG5``, |
| 826 | ``POWER6``, ``POWER7``, ``IBMz9``, ``IBMz10``, ``IBMz196``, |
| 827 | ``x86x87``, ``x86SSE1``, ``x86SSE2``, ``x86SSE3``, ``P5``, |
| 828 | ``P5MMX``, ``PPRO``, ``PII``, ``PIII``, ``PM``, ``CoreSolo``, |
| 829 | ``CoreDuo``, ``Core2Solo``, ``Core2``, ``Corei1``, ``Corei2``, |
| 830 | ``Atom``, ``P4``, ``P4E``, ``Efficeon``, ``K7``, ``HAMMER``, |
| 831 | ``AMD64K10h``, ``AMDDOZER``, ``UNKNOWNx86``, ``IA64Itan``, |
| 832 | ``IA64Itan2``, ``USI``, ``USII``, ``USIII``, ``USIV``, ``UST2``, |
| 833 | ``UnknownUS``, ``MIPSR1xK``, ``MIPSICE9``, ``ARMv7``. |
854 | | files :file:`libatlas`, :file:`liblapack`, :file:`libcblas`, and |
855 | | :file:`libf77blas` with extensions ``.a``, ``.so``, or |
856 | | ``.dylib``. For backward compatibility, the libraries may also be in |
857 | | the subdirectory ``SAGE_ATLAS_LIB/lib/``. |
| 858 | files :file:`libatlas`, :file:`liblapack`, :file:`libcblas`, |
| 859 | :file:`libptcblas`, :file:`libf77blas`, and :file:`libptf77blas` |
| 860 | with extensions ``.a``, ``.so``, or ``.dylib``. For backward |
| 861 | compatibility, the libraries may also be in the subdirectory |
| 862 | ``SAGE_ATLAS_LIB/lib/``. |
1050 | | ATLAS |
1051 | | ~~~~~ |
| 1055 | Usually Sage will build ATLAS with architectural defaults that are not |
| 1056 | tuned to your particular CPU. In particular, if your CPU has |
| 1057 | powersaving enabled then no accurate timings can be made to tune the |
| 1058 | ATLAS build for your hardware. If BLAS performance is critical for |
| 1059 | you, you must recompile ATLAS after installing Sage either with |
| 1060 | architecture settings that match your hardware, or run through ATLAS' |
| 1061 | automatic tuning process where timings of different implementations |
| 1062 | are compared and the best choice used to build a custom ATLAS |
| 1063 | library. To do so, you have to |
1058 | | - Also, the ATLAS build can fail if the system load is too high, and in |
1059 | | particular this has been known to happen when building with |
1060 | | ``MAKE='make -jNUM'`` with NUM large. If this happens, just try |
1061 | | running "make" again. If "make" fails after five or six attempts, |
1062 | | report your problem to the sage-devel mailing list. |
| 1073 | - If your architecture is listed in :envvar:`SAGE_ATLAS_ARCH`, you |
| 1074 | should set it as it can help ATLAS in narrowing down the timing |
| 1075 | search. |
| 1076 | |
| 1077 | To help you disable CPU power saving, Sage includes a ``atlas-config`` |
| 1078 | script that will turn off CPU powersave and rebuild ATLAS. The script |
| 1079 | will call ``sudo`` to gain the necessary rights, which may prompt you |
| 1080 | for the root password. For example:: |
| 1081 | |
| 1082 | atlas-config |
| 1083 | |
| 1084 | will run through the full automatted tuning, and:: |
| 1085 | |
| 1086 | SAGE_ATLAS_ARCH=Corei2,AVX,SSE3,SSE2,SSE1 atlas-config |
| 1087 | |
| 1088 | would be appropriate if you have a Core i3/5/7 processor with AVX |
| 1089 | support. |
| 1090 | |