🧠 Intel MKL 安裝指南(Ubuntu 完整版)
適用平臺:Ubuntu 18.04 / 20.04 / 22.04
更新時間:2025 年最新版(適配 Intel oneAPI 2024)
? 一、安裝方式選擇
安裝方式 | 適合用戶群體 | 特點 | 推薦程度 |
---|---|---|---|
🧱 官方 oneAPI | C/C++/Fortran 編程者 | 功能最全,官方推薦,支持 ICC | ????? |
🧊 Conda 安裝 | Python 用戶 | 輕量便捷,占用空間小 | ???? |
🧱 二、方式一:使用 Intel oneAPI 安裝 MKL(完整版)
2.1 安裝前準備
sudo apt update && sudo apt install build-essential wget curl git -y
2.2 下載 oneAPI Base Toolkit 安裝器
從官網下載安裝腳本(或用 wget):
wget https://registrationcenter-download.intel.com/akdlm/irc_nas/18915/l_BaseKit_p_2024.0.0.49540_offline.sh
📦 安裝器大小約 2.5 GB
2.3 安裝 Toolkit(僅選 MKL)
chmod +x l_BaseKit_p_2024.0.0.49540_offline.sh
sudo ./l_BaseKit_p_2024.0.0.49540_offline.sh
- 選擇 自定義安裝
- 勾選
Intel Math Kernel Library (MKL)
- 默認安裝路徑為
/opt/intel/oneapi/
2.4 添加環境變量
echo 'source /opt/intel/oneapi/setvars.sh' >> ~/.bashrc
source ~/.bashrc
2.5 驗證安裝
echo $MKLROOT
輸出應為:
/opt/intel/oneapi/mkl/latest
檢查庫文件:
ls $MKLROOT/lib/intel64/
2.6 編譯并測試 C 示例
保存以下代碼為 mkl_test.c
:
#include <stdio.h>
#include "mkl.h"int main() {double A[2][2] = {{1.0, 2.0}, {3.0, 4.0}};double B[2] = {1.0, 1.0};double C[2];cblas_dgemv(CblasRowMajor, CblasNoTrans, 2, 2, 1.0, *A, 2, B, 1, 0.0, C, 1);printf("Result: %f, %f\n", C[0], C[1]);return 0;
}
使用 gcc 編譯:
gcc mkl_test.c -I$MKLROOT/include -L$MKLROOT/lib/intel64 \
-lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -lm -ldl -o mkl_test
./mkl_test
🧊 三、方式二:使用 Conda 安裝 MKL(適合 Python)
3.1 安裝 Miniconda(如未安裝)
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
安裝后,執行:
source ~/.bashrc
3.2 創建 Conda 環境并安裝 MKL
conda create -n mkl-env python=3.10 -y
conda activate mkl-env
conda install -c intel mkl numpy scipy -y
3.3 驗證 Python 中是否啟用 MKL
保存以下代碼為 verify_mkl.py
:
import numpy
import numpy.__config__ as cfgprint("NumPy 配置:")
cfg.show()
運行:
python verify_mkl.py
輸出中應包含:
mkl_info:libraries = ['mkl_rt']...
📁 四、MKL 安裝目錄結構(官方安裝)
默認路徑:/opt/intel/oneapi/mkl/latest
目錄結構如下:
include/ → MKL 頭文件
lib/intel64/ → 動態/靜態庫文件
benchmarks/ → 性能測試程序
examples/ → 官方樣例代碼(C/Fortran)
tools/ → 腳本與鏈接工具
? 五、卸載 MKL
5.1 卸載 Conda 中的 MKL
conda deactivate
conda remove -n mkl-env --all -y
5.2 卸載官方安裝的 MKL
sudo rm -rf /opt/intel/oneapi
也可刪除 .bashrc
中的配置:
sed -i '/setvars.sh/d' ~/.bashrc
🛠 六、Makefile 示例(使用 MKL 編譯)
如果你在大型工程中使用 MKL,可使用如下 Makefile
:
CC = gcc
CFLAGS = -I$(MKLROOT)/include
LDFLAGS = -L$(MKLROOT)/lib/intel64 -lmkl_intel_lp64 -lmkl_core -lmkl_sequential -lpthread -lm -ldlall: mkl_test
mkl_test: mkl_test.c$(CC) $(CFLAGS) $< $(LDFLAGS) -o $@
📌 七、總結
步驟 | 內容說明 |
---|---|
準備 | 更新系統、安裝構建工具 |
安裝 | oneAPI 或 Conda 兩種方式 |
配置 | 添加環境變量(oneAPI) |
驗證 | 編譯測試程序或 Python 腳本 |
卸載 | 一條命令即可清理 |