歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux技術

linux下Intel TBB、 Open MPI、OpenMP

多核編程
簡單來說,由於現在電腦CPU一般都有兩個核,4核與8核的CPU也逐漸走入了尋常百姓家,傳統的單線程編程方式難以發揮多核CPU的強大功能,於是多核編程應運而生。按照我的理解,多核編程可以認為是對多線程編程做了一定程度的抽象,提供一些簡單的API,使得用戶不必花費太多精力來了解多線程的底層知識,從而提高編程效率。這兩天關注的多核編程的工具包括OpenMP和TBB。按照目前網上的討論,TBB風頭要蓋過OpenMP,比如OpenCV過去是使用OpenMP的,但從2.3版本開始拋棄OpenMP,轉向TBB。

Linux下TBB安裝

1) 到官方網站下載最新的TBB源程序。
https://www.threadingbuildingblocks.org/
2) 建立安裝目錄,這個目錄就是用來裝TBB庫的,當然我們得先在目錄裡編譯TBB源程序。比如:
/opt/tbb/
3) 將下載的文件解壓到2.2文件夾中,切換到2.2文件夾:
cd /opt/tbb/
make
make之後等一會就編譯好了。
4) 在shell中運行:
source /opt/tbb/build/linux_*_release/tbbvars.sh ( “ * ” 號部分根據不同的系統情況而不同 )
5) 進入/opt/tbb//example目錄隨便找個例子make一下,如果通過了,說明安裝成功。
補充: 不想每次打開shell都執行 4)中的命令,可在~/.bashrc中加入4)中的命令。

Ubuntu下安裝OpenMPI

1. 下載OpenMPI
在官網上下載最新版本的安裝包,如:openmpi-1.8.4.tar.gz
2. 解壓並進行配置
tar -zxvf openmpi-1.8.4.tar.gz
cd openmpi-1.8.4
./configure --prefix="/usr/local/openmpi"
注意: 最後一行是將其安裝到 /usr/local/openmpi目錄下,可以指定為其他目錄,如,用戶目錄下。
3. Build 並安裝
make
sudo make install
可以在make後加參數-j8, 表示用8核編譯
4. 添加環境變量
在.bashrc文件中添加下列幾行
export PATH="$PATH:/usr/local/openmpi/bin"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/openmpi/lib/"

保存後,執行
sudo ldconfig

打開新的終端,使環境變量生效。
5. 測試是否安裝成功
mpirun

OpenMP

不需要什麼額外的軟件!
現在最新版的C、C++、Fortran編譯器基本上都內置OpenMP支持。
比如gcc、g++、gfortran(GCC套件4.2版之後開始支持)
Intel C++ compiler、Intel Fortran compiler
Microsoft visual C++ (版本8.0或者叫2005之後開始支持)
由支持OpenMP的編譯器編譯出來的可執行文件可以獨立運行,
不再需要額外的什麼支持,它會根據源代碼裡面指定的線程數生成相應線程,
在SMP主機上分布在多個CPU或者多核心上執行,單CPU單核則分時多線程執行。
Enjoy it !
Copyright © Linux教程網 All Rights Reserved