- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I installed Intel Cluster Studio 2011 (which includes MKL 10.3), and then I updated the C and Fortran XE Compilers with 2011 Update 2 (which includes MKL 10.3 Update 2).
ictvars.sh sets up the newest compilers correctly:
source ics/2011.0.013/ictvars.sh
which icc
/global/software/intel12/composerxe-2011.2.137/bin/intel64/icc
which ifort
/global/software/intel12/composerxe-2011.2.137/bin/intel64/ifort
But it sets up the older version of MKL:
echo $MKLROOT
/global/software/intel12/composerxe-2011.0.084/mkl
echo $LIBRARY_PATH
/global/software/intel12/composerxe-2011.0.084/compiler/lib/intel64:/global/software/intel12/composerxe-2011.0.084/mkl/lib/intel64:/global/software/intel12/composerxe-
2011.2.137/compiler/lib/intel64:/global/software/intel12/composerxe-2011.2.137/ipp/../compiler/lib/intel64:/global/software/intel12/composerxe-2011.2.137/ipp/lib/intel
64:/global/software/intel12/composerxe-2011.2.137/compiler/lib/intel64:/global/software/intel12/composerxe-2011.2.137/mkl/lib/intel64:/global/software/intel12/composer
xe-2011.2.137/tbb/lib/intel64//cc4.1.0_libc2.4_kernel2.6.16.21:/global/software/intel12/composerxe-2011.2.137/compiler/lib/intel64:/global/software/intel12/composerxe-
2011.2.137/ipp/../compiler/lib/intel64:/global/software/intel12/composerxe-2011.2.137/ipp/lib/intel64:/global/software/intel12/composerxe-2011.2.137/compiler/lib/intel
64:/global/software/intel12/composerxe-2011.2.137/mkl/lib/intel64:/global/software/intel12/composerxe-2011.2.137/tbb/lib/intel64//cc4.1.0_libc2.4_kernel2.6.16.21
Notice that the newer version of mkl (composerxe-2011.2.137/mkl) appears later in the path, but composerxe-2011.0.084/mkl comes first.
The reason is that
ictvars.sh calls ics/2011.0.013/cc/bin/iccvars.sh
which links to composerxe-2011.0.084/bin/iccvars.sh
which links to composerxe-2011.0.084/bin/compilervars.sh
which calls composerxe-2011/mkl/bin/mklvars.sh
which links to composerxe-2011.2.137/mkl/bin/mklvars.sh
and then the newest version of MKL is set up correctly:
export MKLROOT=/global/software/intel12/composerxe-2011.2.137/mkl
But later, when ictvars.sh calls ics/2011.0.013/mkl/bin/mklvars.sh which links to composerxe-2011.0.084/mkl/bin/mklvars.sh, the environment variables are overwritten with the old MKL version.
It is hard to understand what's going on in this maze of scripts and symlinks. Why is the newest MKL not set up automatically by ictvars.sh ?
I noticed this thread: http://software.intel.com/en-us/forums/showthread.php?t=80302&o=a&s=lr
But the links in ics/ have not been updated to point to the newest versions, even for the compilers (confusingly) :
ls -l ics/2011.0.013/
lrwxrwxrwx 1 root root 46 Feb 3 16:34 cc -> /global/software/intel12/composerxe-2011.0.084
lrwxrwxrwx 1 root root 46 Feb 3 16:34 fc -> /global/software/intel12/composerxe-2011.0.084
lrwxrwxrwx 1 root root 46 Feb 3 16:34 idb -> /global/software/intel12/composerxe-2011.0.084
lrwxrwxrwx 1 root root 34 Feb 3 16:34 imb -> /global/software/intel12/imb/3.2.2
lrwxrwxrwx 1 root root 39 Feb 3 16:34 impi -> /global/software/intel12/impi/4.0.1.007
lrwxrwxrwx 1 root root 39 Feb 3 16:34 itac -> /global/software/intel12/itac/8.0.1.009
lrwxrwxrwx 1 root root 50 Feb 3 16:34 mkl -> /global/software/intel12/composerxe-2011.0.084/mkl
lrwxrwxrwx 1 root root 39 Feb 3 16:34 mpi -> /global/software/intel12/impi/4.0.1.007
Thanks,
Ryan
I installed Intel Cluster Studio 2011 (which includes MKL 10.3), and then I updated the C and Fortran XE Compilers with 2011 Update 2 (which includes MKL 10.3 Update 2).
ictvars.sh sets up the newest compilers correctly:
source ics/2011.0.013/ictvars.sh
which icc
/global/software/intel12/composerxe-2011.2.137/bin/intel64/icc
which ifort
/global/software/intel12/composerxe-2011.2.137/bin/intel64/ifort
But it sets up the older version of MKL:
echo $MKLROOT
/global/software/intel12/composerxe-2011.0.084/mkl
echo $LIBRARY_PATH
/global/software/intel12/composerxe-2011.0.084/compiler/lib/intel64:/global/software/intel12/composerxe-2011.0.084/mkl/lib/intel64:/global/software/intel12/composerxe-
2011.2.137/compiler/lib/intel64:/global/software/intel12/composerxe-2011.2.137/ipp/../compiler/lib/intel64:/global/software/intel12/composerxe-2011.2.137/ipp/lib/intel
64:/global/software/intel12/composerxe-2011.2.137/compiler/lib/intel64:/global/software/intel12/composerxe-2011.2.137/mkl/lib/intel64:/global/software/intel12/composer
xe-2011.2.137/tbb/lib/intel64//cc4.1.0_libc2.4_kernel2.6.16.21:/global/software/intel12/composerxe-2011.2.137/compiler/lib/intel64:/global/software/intel12/composerxe-
2011.2.137/ipp/../compiler/lib/intel64:/global/software/intel12/composerxe-2011.2.137/ipp/lib/intel64:/global/software/intel12/composerxe-2011.2.137/compiler/lib/intel
64:/global/software/intel12/composerxe-2011.2.137/mkl/lib/intel64:/global/software/intel12/composerxe-2011.2.137/tbb/lib/intel64//cc4.1.0_libc2.4_kernel2.6.16.21
Notice that the newer version of mkl (composerxe-2011.2.137/mkl) appears later in the path, but composerxe-2011.0.084/mkl comes first.
The reason is that
ictvars.sh calls ics/2011.0.013/cc/bin/iccvars.sh
which links to composerxe-2011.0.084/bin/iccvars.sh
which links to composerxe-2011.0.084/bin/compilervars.sh
which calls composerxe-2011/mkl/bin/mklvars.sh
which links to composerxe-2011.2.137/mkl/bin/mklvars.sh
and then the newest version of MKL is set up correctly:
export MKLROOT=/global/software/intel12/composerxe-2011.2.137/mkl
But later, when ictvars.sh calls ics/2011.0.013/mkl/bin/mklvars.sh which links to composerxe-2011.0.084/mkl/bin/mklvars.sh, the environment variables are overwritten with the old MKL version.
It is hard to understand what's going on in this maze of scripts and symlinks. Why is the newest MKL not set up automatically by ictvars.sh ?
I noticed this thread: http://software.intel.com/en-us/forums/showthread.php?t=80302&o=a&s=lr
But the links in ics/ have not been updated to point to the newest versions, even for the compilers (confusingly) :
ls -l ics/2011.0.013/
lrwxrwxrwx 1 root root 46 Feb 3 16:34 cc -> /global/software/intel12/composerxe-2011.0.084
lrwxrwxrwx 1 root root 46 Feb 3 16:34 fc -> /global/software/intel12/composerxe-2011.0.084
lrwxrwxrwx 1 root root 46 Feb 3 16:34 idb -> /global/software/intel12/composerxe-2011.0.084
lrwxrwxrwx 1 root root 34 Feb 3 16:34 imb -> /global/software/intel12/imb/3.2.2
lrwxrwxrwx 1 root root 39 Feb 3 16:34 impi -> /global/software/intel12/impi/4.0.1.007
lrwxrwxrwx 1 root root 39 Feb 3 16:34 itac -> /global/software/intel12/itac/8.0.1.009
lrwxrwxrwx 1 root root 50 Feb 3 16:34 mkl -> /global/software/intel12/composerxe-2011.0.084/mkl
lrwxrwxrwx 1 root root 39 Feb 3 16:34 mpi -> /global/software/intel12/impi/4.0.1.007
Thanks,
Ryan
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I did the installation as 'sudo ./install.sh' so all the files in the installation should be owned by root. However, I noticed there are 2 files in the installation directory that are owned by my uid!
/global/software/intel12/bin/link_install.sh
/global/software/intel12/composerxe-2011/bin/link_install.sh
Are these the scripts that update the symlinks when updates are installed? If they were created using my uid, perhaps they were also executed using my uid, and they wouldn't have permission to update the links? Is that a bug in the installer?
Thanks.
/global/software/intel12/bin/link_install.sh
/global/software/intel12/composerxe-2011/bin/link_install.sh
Are these the scripts that update the symlinks when updates are installed? If they were created using my uid, perhaps they were also executed using my uid, and they wouldn't have permission to update the links? Is that a bug in the installer?
Thanks.

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page