Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

Compiling with gotoblas

Help
JesseLasky
2011-04-29
2012-09-01
  • JesseLasky
    JesseLasky
    2011-04-29

    I am trying to install jags in my home directory. I need to specify a location
    for the BLAS and LAPACK libraries, otherwise they are not found when
    configuring. I first compiled using MKL, following instructions in the JAGS
    installation manual. However, there appeared to be some problem with the
    memory, and I received "terminate called after throwing an instance of
    'St9bad_alloc'" messages when compiling models in JAGS. There should have been
    enough memory available on the node, so I think it was a problem with the
    installation.

    Now I would like to try compiling with BLAS/LAPACK libraries recommended by
    the administrators on the cluster (i.e. Texas Advanced Computing Center's
    Longhorn cluster). They suggested gotoblas, which includes LAPACK.

    The following path points to a module file named 1.30:

    opt/apps/intel11_1/modulefiles/gotoblas/1.30

    It contains the following:

    %Module3.1.1

    This module file sets up the environment variables and path for the

    gotoBLAS distribution.

    proc ModulesHelp { } {

    puts stderr "The gotoblas module defines the following environment variables:"

    puts stderr "TACC_GOTOBLAS_DIR and TACC_GOTOBLAS_LIB for the location "

    puts stderr "of the gotoblas distribution and libraries.\n"

    puts stderr "To use the gotoblas library, include compilation directives"

    puts stderr "of the following form in your link command:"

    puts stderr " "

    puts stderr " Single Threaded: -L\$TACC_GOTOBLAS_LIB -lgoto_lp64"

    puts stderr " Multi Threaded: -L\$TACC_GOTOBLAS_LIB -lgoto_lp64_mp"

    puts stderr " Single Threaded 64bit int: -L\$TACC_GOTOBLAS_LIB -lgoto_ilp64"

    puts stderr " Multi Threaded 64bit int: -L\$TACC_GOTOBLAS_LIB -lgoto_ilp64_mp"

    puts stderr " "

    puts stderr " F90 programs should include the -lsvml library option."

    puts stderr " C programs should include the -lsvml -lifcore -limf -lm library
    options."

    puts stderr " "

    puts stderr "You can control the number of threads with the SMP (mp) version
    using"

    puts stderr "the OMP_NUM_THREADS environment variable. TACC sets
    OMP_NUM_THREADS"

    puts stderr "to 1 in the default user environent."

    puts stderr "\nVersion 1.30"

    }

    module-whatis "Name: Goto BLAS"

    module-whatis "Version: 1.30"

    module-whatis "Category: library, mathematics"

    module-whatis "URL: http://www.tacc.utexas.edu/resources/software/#blas"

    module-whatis "Description: Optimized versions of the Basic Linear Algebra
    Subrograms"

    Create environment variables.

    setenv TACC_GOTOBLAS_DIR /opt/apps/intel11_1/gotoblas/1.30

    setenv TACC_GOTOBLAS_LIB /opt/apps/intel11_1/gotoblas/1.30

    I have tried following instructions in the installation manual to configure
    with this library, but I have so far been unsuccessful. For example, I tried
    the following:

    export JAGS_HOME=$HOME/jags

    LDFLAGS="-L/opt/apps/intel11_1/modulefiles/gotoblas/1.30"

    ./configure --bindir=$JAGS_HOME/bin --libdir=$JAGS_HOME/lib
    --libexecdir=$JAGS_HOME/bin --includedir=$JAGS_HOME/include --with-
    blas=/opt/apps/intel11_1/modulefiles/gotoblas/1.30 --with-
    lapack=/opt/apps/intel11_1/modulefiles/gotoblas/1.30

    I am relatively inexperienced with such issues and I would appreciate any
    help. Thanks,

    Jesse