这是骨头第二次非自然发烧,而且还比较严重,觉得有必要记录一下过程以备后查。10月2日是周六,突然觉得很久没有带妈妈出去玩了,想带她去IMM逛逛。于是就在下午和妈妈推着宝宝出去IMM玩了。在超市里买了很多东西,再加上又碰到孙一家,于是决定一起打车回去。这样也不用拎着东西,推着宝宝走很远的路了。谁知道,妈妈居然不高兴了,抱怨浪费钱。路上碎碎念,碎碎念了一路。打车一共花了7块钱。回到了家还在那里不停的说我,不知道节省。晚上可能是妈妈吃了不好的东西(她说是吃了剩下的海带),可能再加上不高兴。居然就拉了一晚上的肚子,而且还发烧。很没有力气, 于是我和老婆周日就在家安心照顾宝宝,也希望妈妈能快点恢复。怕妈妈没有完全恢复,老婆就在周一请了一天的无薪加,在家照顾宝宝。经过一天多的休息,妈妈在周日晚上终于觉得好了很多。晚上吃完晚饭,觉得没有事情,就和妈妈,老婆一起推着宝宝去升松超市玩。还推着宝宝在超市冷柜旁转了转。去超市收获很丰盛,买了很多饮料和蔬菜。这天晚上觉得一切过得都挺好。谁知道,第二天早上(10月5日),妈妈突然退开房门说宝宝发烧了。老婆很着急,就过去看宝宝乐,结果一量38.2度。老婆就一直在那里陪宝宝,不断地用酒精给宝宝擦手,脚和脑袋。给宝宝将体温。由于,周一老婆已经请了一天假了,没法再请。只能去上班,反倒是我留在家里陪宝宝,好在学校请假很方便。一天在家,不停的给宝宝擦手,拿湿毛巾放在脑袋上降温。虽然宝宝发烧了,可是她的精神去很好,逗她还能笑。到了晚上,骨头还是一直发烧,体温没有降下来。后来,妈妈想起家里还有上次打疫苗时,医生给的退烧药。就想给宝宝吃,但是又怕不能吃,就一个劲的催我
2010年10月3日
COMPLIE SELFE in windows platform
1. SELFE need two external library: ParMETISLib and METISLib. The compliation of the two libraries can reference the previous blog.
2. FOR SELFE compile, as the program need fpp compile instruction. The fpp function needed to be turn on in MSIDE. Two additional preprocessor definitions needed to be added:
USE_MPIMODULE;MPIVERSION=2.
2.1 The compiler may report error on the max function in file “elfe_main.f90”. An additional file is created to ower-write the max file as flowing:
MODULE funMaxModule
IMPLICIT NONE;INTERFACE max
MODULE PROCEDURE max2i
END INTERFACECONTAINS
INTEGER FUNCTION max2i(x,y)
INTEGER ::x,y;max2i= max(x,y);
END FUNCTION
END MODULE
Use the funMaxModule in the file may solve the problem.
2.2 slefe have problem in calling “netcdf ” function. in file “sflux_9c.F90”
change
“integer time_dim” to “integer time_dim(2)”
and
“iret = nf_inq_dimlen(ncid, time_dim, num_file_times)” to
iret = nf_inq_dimlen(ncid, time_dim(1), num_file_times)
2.3 IF the MPICH2 library was used: It looks like the MPICH2 library don’t support MPI_REAL8 data, need to change in file “elfe_msgp.F90” :
integer,public,save :: rtype = MPI_REAL8 to
integer,public,save :: rtype = MPI_DOUBLE_PRECISION
2.4 The SELFE can run in release model but will have problems in debug model. Because the SELEF will access the array(0) and will cause problem.
2010年10月2日
compile ParMetis-3.1.1 on windows.
1. compile METISLib:
1.1 create library project in IDE;
1.2 add all the source file to the project.
1.3 add “#include <stdlib.h>” in file “metis.h”. This is because the visual c++ can’t find constant variable “RAND_MAX”;
1.4 compile the project will be ok.
(include “parmetis.h” to the additional include search folder.
2. compile ParMETISLib:
2.1 create library project in IDE;
2.2 add all the source file to the project.
2.3 add the function declaration into the file “msetup.c”
MeshType *CreateMesh(void);
void InitMesh(MeshType *mesh);2.4 compile the project will be ok.
(include “parmetis.h” to the additional include search folder.
2010年10月1日
make 文件以及VC++自带的nmake
1.Dos下运行VC++自带的Nmake,设置路径
==========================================
注:摘录侯俊杰--在 console mode 中使用 C/C++ 编译器,更多参照http://jjhou.csdn.net/article99-10.htm
●C/C++ 编译器需要的环境变数设定
古早以来,PC 上的 C 编译器,就需要两个环境变数:
LIB:这个环境变数告诉编译器说,必要的 libraries 在哪里(哪个磁碟目录下)
INCLUDE:告诉编译器说,必要的 header files 在哪里(哪个磁碟目录下)
另外,为了让我们能够在任何 working directory 都叫得到编译器,当然我们必须设定 PATH。
从古早以来,一直到现在,C/C++ 编译器都需要这三个环境变数。
●以 Visual C++ 为例
以 Visual C++ 为例,如果安装後的档案布局如下:
C:\MSDEV\VC98\BIN : 这里放有编译器 CL.EXE
C:\MSDEV\VC98\INCLUDE : 这里放有 C/C++ header files
C:\MSDEV\VC98\LIB : 这里放有 C/C++ standard libraries
那麽你可以写一个批次档如下:
set PATH=C:\MSDEV\VC98\BIN;C:\MSDEV\COMMON\MSDEV98\BIN
set INCLUDE=C:\MSDEV\VC98\INCLUDE
set LIB=C:\MSDEV\VC98\LIB
之所以需要另外设定 PATH=C:\MSDEV\COMMON\MSDEV98\BIN,是因为编译器 CL.EXE 执行时需要 MSPDB60.DLL,而它被安装於 C:\MSDEV\COMMON\MSDEV98\BIN 之中。
如果你写的程式不只是单纯的 C/C++ 程式,还用到了 MFC,一样可以在 console mode 下编译,这时候你的环境变数应该如此设定:
set PATH=C:\MSDEV\VC98\BIN;C:\MSDEV\COMMON\MSDEV98\BIN
set INCLUDE=C:\MSDEV\VC98\INCLUDE;C:\MSDEV\VC98\MFC\INCLUDE
set LIB=C:\MSDEV\VC98\LIB;C:\MSDEV\VC98\MFC\LIB
多指定了 MFC\INCLUDE 和 MFC\LIB,就可以让编译器和联结器找到 MFC 的 header files 和 libraries。如果你还需要用到 ATL,就得在 INCLUDE 环境变数中再加上 C:\MSDEV\VC98\ATL\INCLUDE。
=========================================
我的VC++安装在D:\Program Files\Microsoft Visual Studio下,所以改写批次档如下:
set PATH=D:\Program Files\Microsoft Visual Studio\VC98\Bin;D:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin
set INCLUDE=D:\Program Files\Microsoft Visual Studio\VC98\Include;D:\Program Files\Microsoft Visual Studio\VC98\MFC\Include
set LIB=D:\Program Files\Microsoft Visual Studio\VC98\Lib;D:\Program Files\Microsoft Visual Studio\VC98\MFC\Lib
然后运行cmd,将以上设置复制粘贴到鼠标闪烁处。如果想要确认路径更改正确,可以键入set命令查看。
注:这样的环境变量修改,仅对本次命令行窗口有效,因为它是一个虚拟设备。如果想要每次进入时,不做这个工作。可以运行VCVARS32.BAT然后设置你的环境变量。为了不影响VC++的原本设置方便集成环境的使用,我并没有实际操作,一个简单的复制粘贴也不见得麻烦。另外还可以在我的电脑-属性-高级 -环境变量里直接修改,这个修改也是永久性的。到这里,路径就设置好了。下面试操作一下:
我在F:\盘保存了一个test.cpp文件作为测试文件。文件内容如下:
=======================================
#include <iostream.h>
void main()
{
cout<<"hello"<<endl;
}
=========================================
使用cd命令把当前命令行窗口路径切换到F:\>,然后执行cl test.cpp命令,在F:\盘路径下生成了两个文件,test.obj和test.exe。然后再运行test.exe,就可以看到结果了(输出 hello)。
下面再举一个例子,也就是下面要学习的makefile文件。测试文件名为mypath.mak(你可以任意取名),依旧存储在当前路径下。
===========================
all:
@echo $(PATH)
==========================
运行命令nmake mypath.mak,你可以看到输出结果为你刚才设置过的路径(我的结果是D:\Program Files\Microsoft Visual Studio\VC98\Bin;D:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin)。
2.产生自己的makefile文件
下面是我在网上找到的一个简单的例子及其解说(http://www.readygo.com.cn/it-1104697.html)
==================================
下面来看一个简单的例子(以下内容均以Win32平台为例):
文件名:makefile
1. # makefile
2. # this is a example of make file
3. all:a1 a2
4. @echo this is all!
5. a1:
6. @echo this is a1!
7. a2:
8. @echo this is a2!
运行make后,结果如下:
this is a1!
this is a2!
this is all!
现在让我们来分析一下这个简单的规则文件。
第1、2行不用说,一眼就可以看出是注释。在Make规则文件中,注释是以“#”开始,是行注释,和C++中的“//”功能一样。不过你可不能把它放到其它的语句之后,否则就错了。第3行就是规则开始了!all:a1 a2一行中,规则的名字就是all,它通常是目标名(target)。一条规则可以有不止一个名字,像这一行,你也可以把它写成all all2:a1 a2。这时,规则就有了两个名称—all和all2。当然,还可以有更多,都看你自己。后面的5、7两行也分别是两条规则的起始。在“:”之后的,就是依赖项。在这一行里,依赖项有两个,分别是a1和a2。这些依赖项可以是其它的规则名(目标名),也可以是文件名。依赖和目标之间的关系就是“依赖关系”。一条规则中,可以有零个(像后面的两条规则)、一个或多个依赖。第4行@echo this is all!是命令行。它是执行all规则时要执行的命令。要注意的是,一条规则内的命令要以tab为一行的起始,以表示命令是属于一个规则。一条规则也可以有多条命令,每条命令占一行(要以tab开头)。至于可以使用哪些命令,这完全取决于你使用的OS和SHELL。
当执行make时,它会找到第一条规则。然后,make就会检查依赖和目标之间的关系。如果目标比依赖旧,就执行规则,以更新目标。执行完规则就结束。如何判定目标和依赖的新旧呢?如果目标(文件)不存在,目标的时间就为0;如果目标(文件存在),目标的时间就为文件的修改时间。如果依赖项是一条规则,就执行依赖的规则(这里是一个递归),然后依赖的时间就是当前最新时间;如果是一个存在的文件,就为文件的修改时间,否则就报错。之后,就可以比较目标和依赖之间的关系。不过,有一点特殊的是,在没有依赖项时,依赖的时间为1。
在这个例子中,make先找到规则“all”,发现目标不存在,所以目标的时间为0;然后在查找依赖“a1”,结果“a1”不存在;于是,执行规则 “a1”。“a1”不存在,所以它的时间为0,而“a1”没有依赖,它的依赖时间为1;1>0,所以,执行规则“a1”。然后返回规则“all”,再检查依赖“a2”。“a2”执行过程同“a1”。这时,“all”的目标时间为0,依赖时间为最新时间。于是,执行规则“all”的命令。
当然,大家也可以指定一条规则让make执行,比如:make a1这个命令就是告诉make程序不去找第一条规则,而是规则“a1”来执行。并且我们还可以一次执行多条规则,比如:执行make a1 a2就会连续执行“a1”、“a2”两条规则。
OK,虽然讲得很混乱,但也费了我半天的力气。大家应该有一点了解make规则的执行过程了吧。
==============================================
依赖的基本写法如下:
Target:Dependence
Command
==============================================
Target可以是文件名。Dependence可以是其它的target名或文件名。Command就是操作系统所运行的命令行。
变量
一个make规则文件有这些内容就已经基本可以工作了。可是,当我们在编译一个程序时,如果有些内容要反复用到,每次都要写一长串的话,是很麻烦的。于是,make就引入了宏这个概念(其实也可以看成简单的脚本语言)。
宏变量的定义如下:
var1 = this is a macro demo!
var1就是变量名,它的值就是“this is a macro demo!”
如果我们要使用这个变量的值,那只有通过$这个运算符才行—$(var1)代表的就是“this is a macro demo!”。
如下makefile
1. var1 = this is a macro demo!
2. all:
3. @echo $(var1)
结果输出:
this is a macro demo!
用户在执行命令行时也可以定义宏变量。其形式如下:
make all var1=”this is a test”
执行结果为:
this is a test
我们不仅可以使用自定义变量,还可以通过这种方式使用系统环境变量。这样可以大大方便我们建议灵活的规则。如下makefile
1. all:
2. @echo $(WINDIR)
执行结果为:
C:\WINDOWS
(注意:makefile中的变量是大小写敏感的)
==========================================
下面介绍makefile文件的一些内置变量:
==========================================
$@代表规则中的目标名(也就是规则名)。
$<代表规则中的依赖项目。注意,它只代表规则所有依赖项目中的第一项!
其它还有:
$^代表规则中所有的依赖项目。
$?代表规则中时间新于目标的依赖项目。
不仅如此,还可以给这些特殊的变量加一些限制。
如:
在规则
debug/out.exe : out.obj
中,$@代表debug/out.exe,而$(@D)代表目录名debug,$(@F)代表文件名out.exe。其它如$(<D)、$(<F)、$(^D)、$(^F)、$(?D)、$(?F)与此类似。
=============================================
举个例子说明,下面是原始makefile文件内容:
==============================================
myprog : foo.o bar.o
gcc foo.o bar.o -o myprog
foo.o : foo.c foo.h bar.h
gcc -c foo.c -o foo.o
bar.o : bar.c bar.h
gcc -c bar.c -o bar.o
==============================================
用变量代替后的文件内容:
==============================================
OBJS = foo.o bar.o
CC = gcc
CFLAGS = -Wall -O -g
myprog : $(OBJS)
$(CC) $^ -o $@
foo.o : foo.c foo.h bar.h
$(CC) $(CFLAGS) -c $<-o $@
bar.o : bar.c bar.h
$(CC) $(CFLAGS) -c $<-o $@
==============================================
2010年4月5日
run MPICH2 in win7
2010年3月2日
Using windows MPI (MSMPI)
https://docs.google.com/Doc?docid=0AWYFUBanwCqaZGd2Z3A2eHRfMTEwZGJjNHM5Y2c&hl=en
Debugging MPI.NET Programs in Visual Studio
https://docs.google.com/Doc?docid=0AWYFUBanwCqaZGd2Z3A2eHRfMTAzZGdnd3F4Y2Q&hl=en
2010年2月18日
2010年2月15日
Compile PPM library in Ubuntu 9.1 Linux
1. For compiling vizing: because the C++ in not support "iostream.h" head file, the iostream.h need to be replaced by iostream . The "using namespace std;" is also need to be add in edge.h file. Below is the detail:
1.1 list.h:6:22: error: iostream.h: No such file or directory
change iostream.h to iostream
1.2 Array.h:12:22: error: iostream.h: No such file or directory
change iostream.h to iostream
1.3 edge.h:5:22: error: iostream.h: No such file or director.
change iostream.h to iostrea
1.4 Add inf file "edge.h": using namespace std;
-------------------------------------------------------------
after that using the make to copile generate the: "libvizing.a" lib
2. For metis Library. The __log2 function defined in metis is confited with __log2 in g++. Using the idea pubulished in: http://www-old.cae.wisc.edu/pipermail/bug-octave/2006-May/000047.html.
#define log2 __log2
to
#define log2 __Log2
in Lib/rename.h of metis to get around this problem..
3.Install the MPICH2 and fftw package from the synaptic package manger
4.set the FC = mpif90 -f90=ifort ;using the ifort as the compiler.
5.run: ./ppm_install.sh
2010年2月14日
install Photran
1.1 install sun jdk:
$ sudo apt-get install sun-java6-bin sun-java6-jre sun-java6-jdk
1.2 install eclipse: $ sudo apt-get install eclipse eclipse-jdt
2. install CDT and photran: by the instruction in the website
Using Intel Compilers for Linux with Ubuntu
Cited from:http://software.intel.com/en-us/articles/using-intel-compilers-for-linux-with-ubuntu/
Using Intel Compilers for Linux with Ubuntu
| Last Modified On : | November 3, 2009 3:44 PM PST |
Rate | |
rev history:
2009 November 3: added notes for Ubuntu 9.10
Note: Newer versions of this linux distribution may NOT be officially supported by Intel Compiler Professional Editions 11.1. Please see your ReleaseNotes document with your compiler to find the support Linux distributions and versions. These instructions are merely to help install the compiler, keep in mind that versions of this distribution NOT in the ReleaseNotes document are NOT tested nor supported. You are on your own here.
Introduction :
Using Intel(R) Compilers version 11.1 under Ubuntu (9.10, 9.04, 8.04 and 8.10) Desktop and Debian Desktop
For older Ubuntu and Debian versions, see THIS ARTICLE. Make sure to use the latest Intel Compilers version 11.1. Older compilers will not be compatible with the latest Ubuntu distributions. For compatibility and supported versions always read the ReleaseNotes document for your compiler.
These notes apply to Ubuntu Desktop. Ubuntu Server was not tested but should be similar.
2 November 2009: Ubuntu 9.10
For users of Ubuntu 9.10, follow the instructions here. If you have 9.04 or older, skip ahead to the section titled "Ubuntu 9.04 and Older"
BEFORE YOU INSTALL Intel(R) Fortran for Linux or Intel(R) C++ for Linux on your fresh Ubuntu Desktop installation, you will first need to install several packages to prepare the system to serve as a development platform. First, open a Terminal window and become root:
sudo bash
(type your user password)
At this point, you should have a root shell. Test this with command 'whoami' which should return "root"
Check that gcc is installed. By default. Check this with:
gcc --version
It should return "gcc (Ubuntu 4.4.1-4ubuntu8) 4.4.1 (or some newer version - as long as it returns a version you have gcc installed)
If, for some reason, you do not have gcc installed, use Synaptic Package Manager (under 'System' -> 'Administration' menus) OR use apt-get to install gcc:
apt-get install gcc
Next, install the 'build-essential' package and package g++. This is not installed by default. Again, use Synaptic Package Manager or apt-get :
apt-get install build-essential
this should also install g++, but in test this with:
g++ --version
if g++ is not found, install it:
apt-get install g++
A few other packages are required:
apt-get install rpm
apt-get install ia32-libs (this is only required on 64bit Ubuntu/Debian systems)
To use the Intel IDB graphical debugger, you will also need the Java JRE 5 or 6 installed. We recommend the Sun JRE:
get the latest JRE from:
http://java.com/en/download/manual.jsp
OR you can use the OpenJDK from the distribution:
apt-get install openjdk-6-jre-headless
Next, Ubuntu 9.10 Desktop does not provide libstdc++5, which is required for the Intel Compilers. You will have to get the package for libstdc++5 from an older Debian or Ubuntu distribution ( 9.04 for example ). A repository is here:
http://packages.debian.org/stable/base/libstdc++5
On this page, you will see the title "The GNU Standard C++ Library V3". Scrolling down, find the table for "Download libstdc++5".
9.10: For 32bit Ubuntu i386 libstdc++5 Installation:
For 32bit Ubuntu systems you will need to install the 32bit version of libstdc++5, that is, the "i386" package.
Select the download for the libstdc++5 package for "i386". Pick a mirror site to begin the download. If you are using Firefox, you will be prompted if you want to "Open with GDebi Package Installer" - select OK to continue. Otherwise, save the deb package and use your favorite package manager to install. Install the i386 libstdc++ deb package. SKIP the Intel 64 Libstdc++5 (AMD64) directions below and find the section on installing the compiler after prerequisites are installed.
9.10: For Intel 64 / AMD64 (64bit Linux installation) Libstdc++5:
follow these instructions IF AND ONLY IF you have a 64bit Ubuntu installation.
Intel 64 installation: Select the download for the libstdc++5 package for "amd64". If you are using Firefox, you will be prompted if you want to "Open with GDebi Package Installer" - select OK to continue. Otherwise, save the deb package and use your favorite package manager to install. Install the amd64 libstdc++ deb package.
by default, the 64bit libstdc++.so.5 library will install in /usr/lib which is linked to /usr/lib64.
Now, you also will need the 32bit libstdc++.so.5 installed in /usr/lib32. Unfortunately, the "i386" version of the libstdc++5 package wants to install in /usr/lib which is your 64bit library directory and where you just installed the "amd64" libraries - so you DON'T want to download and install the "i386" package into the default location.
We'll need to download the "i386" package to a temporary directory, use dpkg to extract the contents to the temp directory, then manually copy the library to /usr/lib32 and create the symbolic link:
First, download libstc++5 package for "i386" - save to disk and do NOT launch a package manger to install it. Save it in your 'Downloads' folder or /tmp (or any other scratch directory).
Using your root terminal window, cd to the directory where you have downloaded the .deb package, it should have a name similar to 'libstdc++5_3.3.6-18_i386.deb'. The exact version is not important, but make sure it is a "i386" deb package.
Extract to the local directory:
dpkg --extract libstdc++5_3.3.6-18_i386.deb ./
Notice that a 'usr/' folder was created and the package contents extracted here. Now we'll copy the library to /usr/lib32
cd usr/lib
cp libstdc++.so.5.0.7 /usr/lib32
cd /usr/lib32
ln -s libstdc++.so.5.0.7 libstdc++.so.5
9.10: Installing the Compiler Now That Prerequisities are Installed (32 and 64bit):
Once you've completed the above, extract your compiler .tgz kit, cd to the compiler installation directory, and run ./install.sh
During the installation, you WILL get a warning message "Detected operating system Debian* (generic) is not supported", followed by
----------------------------------------------------------------- ---------------
Missing optional pre-requisite
-- operating system type is not supported.
-- system glibc or kernel version not supported or not detectable
-- binutils version not supported or not detectable
----------------------------------------------------------------- ---------------
"Would you like to perform an unsupported install of this product [yes/no] (no)?"
enter "yes"
This will complete the installation. Keep in mind, you will get this warning from the compiler installer until such time as this particular OS and version are supported. Once installed, you can read the ReadMe notes in ...installdir.../Documentation directory which has a list of the supported Linux distributions and versions.
Debugger Notes:
Known Intel® IDB Debugger issues under Ubuntu:
1) Ubuntu 9.x versions, IA32 and Intel64 platforms:
- When loading an executable, a startup dialog may appear that should not. If this dialog, "Unable to locate source file “…/start.S – Do you like to search for it manually?” appears, click ‘No’ and continue normal debugging.
- Avoid using debug commands such as ‘next’, ‘step’ on the Console Window of the Debugger GUI since this may lead to unexpected behavior of the debugger; use the corresponding options ‘Continue’, Step Into’ etc. from the Run menu instead.
2) Ubuntu 9.10, IA32 and Intel64 platforms:
- You need to set the environment variable GDK_NATIVE_WINDOWS=1 to avoid a known bug in Eclipse delivered with Ubuntu 9.10. Add export GDK_NATIVE_WINDOWS=1
to your ~/.bashrc file or execute this command on command line:
export GDK_NATIVE_WINDOWS=1
Ubuntu 9.04 and Older:
In order to use Intel(R) Compilers ( Fortran or C++ ) under Ubuntu 9.04, 8.04 or 8.10 you will need the latest 11.0 or 10.1 version of the Intel compiler(s). Older 10.0 and 9.1 versions of the compilers may not work properly under Ubuntu 9.04, 8.04 or 8.10. Keep in mind that new versions of Ubuntu/Debian may not be OFFICIALLY supported by the Intel Compilers. Please see your ReleaseNotes document with your compiler version for a list of officially supported distributions and versions.
If you have active support for your compiler, you can download the latest Intel compiler version from
https://registrationcenter.intel.com
BEFORE YOU INSTALL Intel(R) Fortran for Linux or Intel(R) C++ for Linux on your fresh Ubuntu Desktop installation, you will first need to install several packages to prepare the system to serve as a development platform:
Check that gcc is installed. By default. Check this with:
gcc --version
By default, Ubuntu 8.04 Desktop installs gcc 4.2.3-2ubuntu7. 8.10 should have gcc 4.3.2, 9.04 gcc 4.3.3
If, for some reason, you do not have gcc installed, use Synaptic Package Manager (under 'System' -> 'Administration' menus) OR use apt-get to install gcc:
apt-get install gcc
Next, install g++. This is not installed by default. Again, use Synaptic Package Manager or apt-get to install package "g++"
apt-get install build-essential
apt-get install g++
Next, you need to install the 32bit compatibility library libstdc++.so.5. To do this, use apt-get or Synaptic Package Manager to retrieve and install package "libstdc++5"
apt-get install libstdc++5
This package may require installing another package as a prerequisite,
"gcc-3.3-base"
If so, go ahead and install this older gcc package.
For x86-64 architecture, you will also need a number of other packages, including package 'ia32-libs' to install the 32bit versions of libstdc++.so.5 in /usr/lib32 as well as 32bit header files in libc6-dev-i386. These notes apply to Ubuntu 9.04 but should also apply to 8.10 and 8.04
apt-get install ia32-libs
apt-get install lib32stdc++6
apt-get install libc6-dev-i386
apt-get install gcc-multilib
apt-get install g++-multilib
Finally, there is an optional package to consider: The 11.0 version of the Intel Compiler for Linux has a graphical
debugger, a new graphical interface for the IDB debugger. If you want to use this debugger, please make sure to install the Java JRE version 1.5 or greater. This can be done at anytime after the installation of the compiler. However, you will get a warning message about 'missing prerequisite' for the JRE - simply ignore that message and proceed with the installation. OR to avoid that message and enable the graphical IDE, get the latest JRE from:
http://java.com/en/download/manual.jsp
Once installation of prerequisites is complete, you are ready to start the Intel compiler(s) installation. During the installation, you may get a message "Detected operating system Debian* (generic) is not supported", followed by
----------------------------------------------------------------- ---------------
Missing optional pre-requisite
-- operating system type is not supported.
-- system glibc or kernel version not supported or not detectable
-- binutils version not supported or not detectable
----------------------------------------------------------------- ---------------
"Would you like to perform an unsupported install of this product [yes/no] (no)?"
enter "yes"
This will complete the installation. Keep in mind, you will get this warning from the compiler installer until such time as this particular OS and version are supported. Once installed, you can read the ReadMe notes in ...installdir.../Documentation directory which has a list of the supported Linux distributions and versions.
2010年2月8日
configuration MKL in Fortran (windows)
1.For version 8.1, if we want to link with static libaray and assume intel fortran compile is used then the following libaraies need to be linked:
for IA32 enviroment: mkl_c.lib mkl_lapac.lib mkl_solver.li mkl_ia32.lib libguide.lib. If you want to link with the dynamic library (libguide40.lib mkl_c_dll.lib are needed to be linked)
the details can be found in the "Getting_Started.html"
2.for version 10.0,if we want to link with static libaray and assume intel fortran compile is used then the following libaraies need to be linked:
for IA32 enviroment: mkl_intel_c.lib mkl_intel_thread.lib mkl_core.lib libiomp5mt.lib
The detials can be found in "userguide.pdf"
When the OpenMp is used, make sure the reserved stack size is not too large, otherwise the creation of OpneMp thread will have problem( no resources for the thread to create)
The intel link advisor can be used:
http://software.intel.com/en-us/articles/intel-mkl-link-line-advisor/