c++ - 同时安装ifort和icc

标签 c++ linux fortran intel

我正在尝试在我的 ubuntu 机器上安装和使用来自 intel 的 fortran 和 c++ 编译器。我遇到的问题是,当我更新一个符号链接(symbolic link)时,我失去了使用另一个的能力。 compilevars.sh 脚本为每个编译器添加必要的路径。

我想我可以将两个编译器的文件复制到一个新目录中,然后更新 compilevars.sh 以指向新目录。我不确定这是执行此操作的最佳方法。这似乎是一个常见问题,但我在谷歌或此处找不到任何解决方法。

我正在使用这个网站的编译器 http://software.intel.com/en-us/non-commercial-software-development

这是我的/opt/intel/的内容

drwxr-xr-x  2 root root  4096 Oct 27 11:02 bin
lrwxrwxrwx  1 root root    20 Oct 27 11:02 composerxe -> composer_xe_2013_sp1
drwxr-xr-x  3 root root  4096 Oct 27 11:02 composer_xe_2013_sp1
drwxr-xr-x 14 root root  4096 Oct 23 15:28 composer_xe_2013_sp1.0.080
drwxr-xr-x 13 root root  4096 Oct 27 11:02 composer_xe_2013_sp1.1.106
lrwxrwxrwx  1 root root    18 Oct 27 11:02 include -> composerxe/include
-rw-r--r--  1 root root 16113 Oct 27 11:02 intel_sdp_products.db
lrwxrwxrwx  1 root root    14 Oct 27 11:02 ipp -> composerxe/ipp
drwxr-xr-x  6 root root  4096 Oct 23 15:28 ism
lrwxrwxrwx  1 root root    14 Oct 27 11:02 lib -> composerxe/lib
drwxr-xr-x  2 root root  4096 Oct 27 10:59 licenses
lrwxrwxrwx  1 root root    14 Oct 27 11:02 man -> composerxe/man
lrwxrwxrwx  1 root root    14 Oct 27 11:02 mkl -> composerxe/mkl
lrwxrwxrwx  1 root root    16 Oct 27 11:02 mpirt -> composerxe/mpirt
lrwxrwxrwx  1 root root    14 Oct 27 11:02 tbb -> composerxe/tbb

最佳答案

我们使用环境模块在我的工作组中有效地解决了这个问题。当我需要使用 icc 时,所有环境变量都由 module load icc 设置,而当我需要 ifort 时,我执行 module load ifort。这是一个非常方便的系统。您甚至可以安装同一软件的多个版本(例如 icc 13 和 14)并使用单个命令在它们之间切换。您可以在 http://modules.sourceforge.net/ 找到该软件 学习如何设置需要一点时间,但可以相对较快地完成。您的 Linux 发行版可能在其存储库中包含该软件,因此可以进一步简化安装过程。

关于c++ - 同时安装ifort和icc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19624401/

相关文章:

c# - VS 2008 中的混合环境调试 (C# Fortran)

c++ - qmake在命令行中分配变量

c++ - boost::lockfree::函数队列?

c++ - 带括号和不带括号的可变参数之间的区别

c - 强制动态链接库

performance - 如何避免循环中的条件

integer - Fortran:处理大小的整数值:~700000000000

c++ - 查找 boost 多精度 uint512_t 的第一组指令 (ffs)

linux - RoR 部署 - 可以开发 Windows/Productiv Linux 吗?

java - 创建多个 HSQLDB 服务器数据库的最简单方法是什么?