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

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/oneapi

CXXFLAGS = -std=c++14 -I${ONEAPI_PATH}/mkl/latest/include
LDFLAGS = -L${ONEAPI_PATH}/mkl/latest/lib/intel64 -L${ONEAPI_PATH}/compiler/latest/lib

LDLIBS = -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.cpp

all: $(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_single
    mkl_intel_lp64    # LP64 model
    mkl_sequential    # Single-threaded
    mkl_core          # Core MKL routines
    iomp5             # Intel OpenMP library (if using MKL with OpenMP)
    pthread
    m
    dl
)


http://www.kler.cn/a/406584.html

相关文章:

  • Chrome离线安装包下载
  • 小红书运营教程10(小红书笔记制作01)
  • 第T8周:Tensorflow实现猫狗识别(1)
  • PVE的优化与温度监控(二)—无法识别移动硬盘S.M.A.R.T信息的思考并解决
  • 小鹏汽车智慧材料数据库系统项目总成数据同步
  • go的依赖注入究竟是毒药还是解药
  • Android——连接MySQL(Java版)
  • 淘宝关键词订单API接口:电商运营的新利器
  • Python笔记2-六种标准数据类型3
  • android 使用MediaPlayer实现音乐播放--权限请求
  • PHP 高并发解决方案
  • Easyexcel(2-文件读取)
  • Elasticsearch 中的热点以及如何使用 AutoOps 解决它们
  • 【Lambda基础】Python Lambda 函数的 9 种玩法
  • 【1.2 Getting Started--->Installation Guide】
  • Cmakelist.txt之Linux-redis配置
  • Java、Android引用类型
  • rust中解决DPI-1047: Cannot locate a 64-bit Oracle Client library问题
  • C++ String
  • 【嵌入式】手把手教你入门STM32的GPIO:使用GPIO输入
  • SpringBoot入门准备——Maven的使用
  • Web3与智能合约:区块链技术下的数字信任体系
  • Python世界:力扣题解875,珂珂爱吃香蕉,中等
  • Python操作neo4j库py2neo使用之py2neo 删除及事务相关操作(三)
  • uniapp跨域问题解决方案
  • 博客文章怎么设计分类与标签