Ubuntu下安装Intel MKL完整指南

🧠 Intel MKL 安装指南(Ubuntu 完整版)

适用平台:Ubuntu 18.04 / 20.04 / 22.04
更新时间:2025 年最新版(适配 Intel oneAPI 2024)


✅ 一、安装方式选择

安装方式适合用户群体特点推荐程度
🧱 官方 oneAPIC/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 cfg

print("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 -ldl

all: mkl_test
mkl_test: mkl_test.c
	$(CC) $(CFLAGS) $< $(LDFLAGS) -o $@

📌 七、总结

步骤内容说明
准备更新系统、安装构建工具
安装oneAPI 或 Conda 两种方式
配置添加环境变量(oneAPI)
验证编译测试程序或 Python 脚本
卸载一条命令即可清理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值