当前位置: 首页 > news >正文

Linux下Intel编译器oneAPI安装和链接MKL库编译

参考: https://blog.csdn.net/qq_44263574/article/details/123582481

官网下载: https://www.intel.com/content/www/us/en/developer/tools/oneapi/base-toolkit-download.html?packages=oneapi-toolkit&oneapi-toolkit-os=linux&oneapi-lin=offline
在这里插入图片描述
填写邮件和国家,下面可以看到下载和安装链接,依次执行即可:
在这里插入图片描述
安装后查看:

$ ls /opt/intel/oneapi/
2025.0   compiler       dnnl       ipp        mkl                   pti          tcm
advisor  dal            dpcpp-ct   ippcp      modulefiles-setup.sh  setvars.sh   umf
ccl      debugger       dpl        licensing  mpi                   support.txt  vtune
common   dev-utilities  installer  logs       oneapi-base-toolkit   tbb


一个cmake和makefile的例子, 我需要mkl, openmp:
makefile:

CC = g++ONEAPI_PATH=/opt/intel/oneapiCXXFLAGS = -std=c++14 -I${ONEAPI_PATH}/mkl/latest/include
LDFLAGS = -L${ONEAPI_PATH}/mkl/latest/lib/intel64 -L${ONEAPI_PATH}/compiler/latest/libLDLIBS = -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -liomp5 -lpthread -lm -ldl
# 在运行时查找动态库的路径
RPATH_FLAGS = -Wl,-rpath,${ONEAPI_PATH}/mkl/latest/lib/intel64 -Wl,-rpath,${ONEAPI_PATH}/compiler/latest/lib# 项目名和源文件
TARGET = test_single
SRC = test_single.cppall: $(TARGET)$(TARGET): $(SRC)$(CC) $(CXXFLAGS) $(LDFLAGS) $^ -o $@ $(LDLIBS) $(RPATH_FLAGS)clean:rm -f $(TARGET)

cmakelists:

cmake_minimum_required(VERSION 3.10)
project(MyMKLProject)# 设置 C++ 标准
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)# Intel MKL options
set(MKL_ROOT "/opt/intel/oneapi/mkl/latest")# 包含 MKL 头文件目录
include_directories(${MKL_ROOT}/include)# 链接
link_directories(${MKL_ROOT}/lib/intel64)
link_directories(/opt/intel/oneapi/compiler/latest/lib)# 添加执行文件
add_executable(test_single test_single.cpp)# 链接到 MKL 库
target_link_libraries(test_singlemkl_intel_lp64    # LP64 modelmkl_sequential    # Single-threadedmkl_core          # Core MKL routinesiomp5             # Intel OpenMP library (if using MKL with OpenMP)pthreadmdl
)
http://www.lryc.cn/news/489991.html

相关文章:

  • 【通俗理解】ELBO(证据下界)——机器学习中的“情感纽带”
  • php 使用mqtt
  • STM32学习笔记-----什么是同步/异步/全双工/半双工/单工?
  • 网络安全之内网安全
  • Odoo中,要实现实时数据推送,SSE 与 WebSocket 该如何选择
  • CTF--php伪协议结合Base64绕过
  • 设计模式-创建型-抽象工厂模式
  • Hadoop 系列 MapReduce:Map、Shuffle、Reduce
  • Axios 响应拦截器与未登录状态的统一处理
  • 深度学习每周学习总结J6(ResNeXt-50 算法实战与解析 - 猴痘识别)
  • Flask 中的 `url_for` 使用指南
  • xiaolin coding 图解网络笔记——HTTP篇
  • Oracle热备过程中对数据库崩溃的处理方法
  • 【phpseclib】 PHP 使用加密算法 RSA、DES、AES等
  • 【ubuntu】开机进入initramfs,无法开机
  • ECLAIR:利用基础模型实现企业自动化
  • The Yarn application application_xxx_xxx doesn‘t exist in RM
  • elasticsearch介绍和部署
  • Flutter之使用mqtt进行连接和信息传输的使用案例
  • 汽车HiL测试:利用TS-GNSS模拟器掌握硬件性能的仿真艺术
  • 【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
  • 前端知识点---rest(javascript)
  • 13. 猜最大公约数最小公倍数小游戏
  • Git 多仓库提交用户信息动态设置
  • 2024.6使用 UMLS 集成的基于 CNN 的文本索引增强医学图像检索
  • 了解Redis(第一篇)
  • UE5 第一人称射击项目学习(二)
  • npm/cnpm的使用
  • go-zero(六) JWT鉴权
  • 做一个FabricJS.cc的中文文档网站——面向markdown编程