Archives


- Beowulf
- Beowulf Announce
- Scyld-users
- Beowulf on Debian

[Beowulf] Module file for Intel 11

Many of your questions may have already been answered in earlier discussions or in the FAQ. The search results page will indicate current discussions as well as past list serves, articles, and papers.

Search

Kilian CAVALOTTI kilian.cavalotti.work at gmail.com
Tue Jan 20 05:32:11 PST 2009


Hi John,

On Tuesday 20 January 2009 13:46:14 John Hearns wrote:
> The recommended way to set it up is to source ifortvars.sh <architecture>
> It rather goes against the grain to have a module which works out the
> architecture then sources this file

If you have an homogeneous cluster, architecture-wise, you can hardcode the 
architecture in your module file. But I guess that if you ask, that's not the 
case. 

I would try to determine the machine type in the module file itself. Not sure 
if a modulefile could get the result of an external $(uname -m | sed 
's/x86_64/intel64/;s/i[3-6]86/ia32/'), but the modulefile(4) manpage mentions 
a uname directive.


For me, Intel xxxvars.{c,}sh files never really fit into the module model. But 
I guess that's not what they have been designed for. So I used to give a look 
at was they do, which is often not much, and try to re-implement them using a 
modulefile. It would give something along the lines of:

-- 8< -----------------------------------------------------------------------
#%Module1.0#####################################################################
##
## modulefile
##

# for Tcl script use only
set     name         "Intel Fortran Compiler"
set     version      "10.1.008"
set     arch         "em64t"
set     desc         "$name ($version, $arch)"
set     url  "http://www.intel.com/cd/software/products/asmona/eng/346152.htm"

proc ModulesHelp { } {
        global name
        global desc
        global url
        puts stderr "This modulefile provides $desc\n"
        puts stderr "More information about $name can be found at:"
        puts stderr "    $url\n"
}

module-whatis   "Sets the environment for $desc"

# Make sure no other compiler modulefiles are loaded before loading this if { 
[ module-info mode load ] && ![ module-info mode remove ] } {
        ModulesHelp
        #obtain the list of modulefiles
        eval set [ array get env MODULESHOME ]
        source $MODULESHOME/modulefiles/biox2/utils.tcl
        foreach mod $fcompilers_module_list {
                if [ is-loaded "$mod" ] {
                        module unload "$mod"
                }
        }
}

conflict        compilers/*/fortran

set             root                  /opt/intel/fce
setenv          INTEL_LICENSE_FILE    28518 at frontend1
prepend-path    PATH                  $root/$version/bin
prepend-path    LD_LIBRARY_PATH       $root/$version/lib
prepend-path    MANPATH               $root/$version/man

-- 8< -----------------------------------------------------------------------

HTH,
-- 
Kilian



More information about the Beowulf mailing list