[Beowulf] Module file for Intel 11
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