diff tool_dependencies.xml @ 1:37ff27ea37ed draft

Uploaded
author iuc
date Sat, 14 Feb 2015 22:28:18 -0500
parents 597c0e54eded
children b36c9ee883e9
line wrap: on
line diff
--- a/tool_dependencies.xml	Sun Aug 11 06:26:05 2013 -0400
+++ b/tool_dependencies.xml	Sat Feb 14 22:28:18 2015 -0500
@@ -1,43 +1,61 @@
 <tool_dependency>
-    <package name="atlas" version="3.10.1">
+    <package name="atlas" version="3.10.2">
         <install version="1.0">
-            <actions>
-                <!-- first action is always downloading -->
-                <!--<action type="download_by_url" target_filename="ATLAS.tar.bz2">http://downloads.sourceforge.net/project/math-atlas/Stable/3.10.1/atlas3.10.1.tar.bz2</action>-->
-                <action type="download_file">http://downloads.sourceforge.net/project/math-atlas/Stable/3.10.1/atlas3.10.1.tar.bz2</action>
-                <action type="shell_command">tar xfvj atlas3.10.1.tar.bz2</action>
-                <action type="download_file">http://www.netlib.org/lapack/lapack-3.4.2.tgz</action>
-
-                <action type="shell_command">
-                # try to disable cpu throttling
-                if hash cpufreq-selector 2>/dev/null; then
-                    cpufreq-selector -g performance
-                elif hash cpupower 2>/dev/null; then
-                    cpupower frequency-set -g performance
-                else
-                    echo 'Please deactivate CPU throttling by your own, or install cpufreq-selector'
-                    exit
-                fi
-                </action>
-                <action type="shell_command">
-                    cd ATLAS &amp;&amp;
-                    mkdir build &amp;&amp;
-                    cd build &amp;&amp;
-                    mkdir $INSTALL_DIR/atlas/ &amp;&amp;
-                    ../configure -Fa alg -fPIC --prefix=$INSTALL_DIR/atlas/ --with-netlib-lapack-tarfile=../../lapack-3.4.2.tgz
-                </action>
-                <action type="shell_command">cd ./ATLAS/build &amp;&amp; make </action>
-                <action type="shell_command">cd ./ATLAS/build &amp;&amp; make install</action>
-
-                <action type="set_environment">
-                    <environment_variable name="ATLAS_LIB_DIR" action="set_to">$INSTALL_DIR/atlas/lib</environment_variable>
-                    <environment_variable name="ATLAS_INCLUDE_DIR" action="set_to">$INSTALL_DIR/atlas/include</environment_variable>
-                </action>
-            </actions>
+            <actions_group>
+                <actions architecture="x86_64" os="linux">
+                    <action type="download_by_url">https://depot.galaxyproject.org/package/linux/x86_64/atlas/atlas-3.10.2-Linux-x86_64.tar.gz</action>
+                    <action type="move_directory_files">
+                        <source_directory>.</source_directory>
+                        <destination_directory>$INSTALL_DIR</destination_directory>
+                    </action>
+                    <action type="set_environment">
+                        <environment_variable action="set_to" name="ATLAS_LIB_DIR">$INSTALL_DIR/lib</environment_variable>
+                        <environment_variable action="set_to" name="ATLAS_INCLUDE_DIR">$INSTALL_DIR/include</environment_variable>
+                        <environment_variable action="set_to" name="ATLAS_BLAS_LIB_DIR">$INSTALL_DIR/lib/atlas</environment_variable>
+                        <environment_variable action="set_to" name="ATLAS_LAPACK_LIB_DIR">$INSTALL_DIR/lib/atlas</environment_variable>
+                        <environment_variable action="set_to" name="ATLAS_ROOT_PATH">$INSTALL_DIR</environment_variable>
+                        <environment_variable action="prepend_to" name="LD_LIBRARY_PATH">$INSTALL_DIR/lib</environment_variable>
+                    </action>
+                </actions>
+                <actions architecture="x86_64" os="darwin">
+                    <!-- NOOP: On OS X we will use Apple's vecLib -->
+                </actions>
+                <actions>
+                    <action type="download_file">http://downloads.sourceforge.net/project/math-atlas/Stable/3.10.2/atlas3.10.2.tar.bz2</action>
+                    <action type="download_file">http://www.netlib.org/lapack/lapack-3.5.0.tgz</action>
+                    <action type="download_file">https://depot.galaxyproject.org/patch/atlas/static_full_blas_lapack.diff</action>
+                    <action type="download_file">https://depot.galaxyproject.org/patch/atlas/shared_libraries.diff</action>
+                    <action type="download_file">https://depot.galaxyproject.org/patch/atlas/cpu-throttling-check.diff</action>
+                    <action type="shell_command">tar -jxvf atlas3.10.2.tar.bz2</action>
+                    <!-- a 64-bit architecture is assumed for compilation -->
+                    <action type="shell_command">
+                        cd ATLAS &amp;&amp;
+                        mkdir ATLAS/build &amp;&amp;
+                        patch -p1 &lt;/host/static_full_blas_lapack.diff &amp;&amp;
+                        patch -p1 &lt;/host/shared_libraries.diff &amp;&amp;
+                        patch -p1 &lt;/host/cpu-throttling-check.diff &amp;&amp;
+                        cd build &amp;&amp;
+                        ../configure --prefix="$INSTALL_DIR" -D c -DWALL -b 64 -Fa alg '-fPIC' --with-netlib-lapack-tarfile=../../lapack-3.5.0.tgz -v 2 -t 0 -Si cputhrchk 0 &amp;&amp;
+                        make &amp;&amp;
+                        make install
+                    </action>
+                    <action type="set_environment">
+                        <environment_variable action="set_to" name="ATLAS_LIB_DIR">$INSTALL_DIR/lib</environment_variable>
+                        <environment_variable action="set_to" name="ATLAS_INCLUDE_DIR">$INSTALL_DIR/include</environment_variable>
+                        <environment_variable action="set_to" name="ATLAS_BLAS_LIB_DIR">$INSTALL_DIR/lib/atlas</environment_variable>
+                        <environment_variable action="set_to" name="ATLAS_LAPACK_LIB_DIR">$INSTALL_DIR/lib/atlas</environment_variable>
+                        <environment_variable action="set_to" name="ATLAS_ROOT_PATH">$INSTALL_DIR</environment_variable>
+                        <environment_variable action="prepend_to" name="LD_LIBRARY_PATH">$INSTALL_DIR/lib</environment_variable>
+                    </action>
+                </actions>
+            </actions_group>
         </install>
-        <readme>ATLAS_LIB_DIR and ATLAS_INCLUDE_DIR (including libatlas.a) will be exported for later use.
-        During ATLAS library compilation, ATLAS performs code efficiency checks. These checks can only provide optimal results, if "frequency scaling" is disabled on the CPU, and no other load-intense processes are running. 
-        Ideally, you should compile on an empty cluster node with CPU frequency scaling disabled (see "cpufreq-selector" or "cpufreq-set").
+        <readme>Compiling ATLAS requires a C and Fortran compiler (typically gcc and gfortran). The base ATLAS installation path can be is exported as ATLAS_ROOT_PATH, libraries as ATLAS_LIB_DIR, and headers as ATLAS_INCLUDE_DIR.
+        This ATLAS build includes patches from the Debian ATLAS packages which enable additional features:
+            1. Shared versions of the standard ATLAS libraries are built in addition to the static versions
+            2. Full BLAS and LAPACK libraries are built, which can be found in the ATLAS_BLAS_LIB_DIR and ATLAS_LAPACK_LIB_DIR directories
+        This package also includes a bundled libgfortran and export LD_LIBRARY_PATH=$ATLAS_LIB_DIR so that any dependent packages which link to ATLAS will be able to resolve all necessary libraries at runtime.
+        On Mac OS X, this package is a dummy package - BLAS and LAPACK libraries are already provided in Apple's vecLib.
         </readme>
     </package>
 </tool_dependency>