🧠 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 脚本 |
卸载 | 一条命令即可清理 |