ATLAS Build Instructions: ========================= 1) Turn off CPU throttling on build host. You can switch off in the BIOS, or run: #/usr/bin/cpufreq-selector -g performance. For dual-core machines, the cpufreq-selector command above may only disable throttling for the first core. You must manually disable the other cores as follows: # cp /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor 2) Build an ATLAS RPM for each supported CPU architecture: # make atlas_bin This command will generate two RPMs in the "prebuilt-rpms" directory: - atlas- - atlas--devel where is the build host's CPU architecture type e.g., GenuineIntel_x86_64 Commit the RPMs in the "prebuilt-rpms". These RPMs are used to construct the RPM in step 3. 3) Build an ATLAS RPM that contains everything built from 2): # make atlas_using_prebuilt This command will generate two RPMS in the $(TOPDIR)/RPMS directory: - atlas - atlas-devel These RPMs will be installed by the Platform HPC components. Tuning Notes: ============= - When the ATLAS library is finished building, "make time" is executed to run the benchmark tests. - Performance is measured as % of clock rate achieved by the ATLAS library. The larger the value, the better the performance. - The performance of the current build is compared against a reference build. If the reference and present builds have comparable performance, then the current build will have adequate performance. - Compiling against GCC 4.1 will produce an ATLAS library that will perform poorly. Present builds have lower performance compared to reference builds: Data from Single Core 2GHz Athlon64: Reference clock rate=1597Mhz, new rate=2009Mhz Refrenc : % of clock rate achieved by reference install Present : % of clock rate achieved by present ATLAS install single precision double precision ******************************** ******************************* real complex real complex --------------- --------------- --------------- --------------- Benchmark Refrenc Present Refrenc Present Refrenc Present Refrenc Present ========= ======= ======= ======= ======= ======= ======= ======= ======= kSelMM 346.9 348.0 337.9 363.9 181.7 180.5 180.6 179.6 kGenMM 167.6 173.3 179.0 165.4 159.0 160.9 153.0 162.6 kMM_NT 126.4 89.7 137.7 87.7 105.8 113.4 116.7 122.8 kMM_TN 151.2 96.9 156.7 97.5 124.1 125.3 125.4 133.9 BIG_MM 325.3 344.2 319.8 333.2 171.1 167.7 168.3 172.7 kMV_N 50.5 35.2 96.7 98.7 48.2 38.0 91.1 74.1 kMV_T 54.3 65.7 63.0 57.6 32.0 31.4 49.8 46.4 kGER 39.3 30.9 69.9 59.1 20.9 15.7 44.3 32.0 - ATLAS 3.8.0 is optimized against GCC 4.2. Building against 4.2 will produce a better performing build. Reference and present builds have comparable performance: Data from Single Core 2GHz Athlon64: Reference clock rate=1597Mhz, new rate=2009Mhz Refrenc : % of clock rate achieved by reference install Present : % of clock rate achieved by present ATLAS install single precision double precision ******************************** ******************************* real complex real complex --------------- --------------- --------------- --------------- Benchmark Refrenc Present Refrenc Present Refrenc Present Refrenc Present ========= ======= ======= ======= ======= ======= ======= ======= ======= kSelMM 346.9 361.3 337.9 340.4 181.7 178.1 180.6 179.5 kGenMM 167.6 174.9 179.0 161.4 159.0 159.9 153.0 164.0 kMM_NT 126.4 138.2 137.7 142.7 105.8 112.9 116.7 126.3 kMM_TN 151.2 138.7 156.7 148.5 124.1 124.9 125.4 138.2 BIG_MM 325.3 321.4 319.8 324.3 171.1 170.3 168.3 172.1 kMV_N 50.5 46.3 96.7 99.6 48.2 39.0 91.1 73.7 kMV_T 54.3 63.2 63.0 63.4 32.0 31.6 49.8 46.4 kGER 39.3 30.9 69.9 58.5 20.9 15.7 44.3 31.8 - Either make GCC 4.2 your default compiler, or tell ATLAS to only build the kernel components against 4.2 using "-Ss kern " on the configure line in the atlas.spec line. Reference: ========== 1. http://math-atlas.sourceforge.net/atlas_install/atlas_install.html