下载链接:https://software.intel.com/en-us/mkl

文件下载

官网注册后,选择MKL下载下来,安装到指定目录就行,不在多说。

配置文件

首先创建一个Windows桌面项目,再添加一个CPP源文件。

打开项目属性页--配置属性,会多出Intel Performance...这一项,看下图配置

在打开VC++目录,进行配置。我安装MKL的地方在D:\IntelSWTools

打开D:\IntelSWTools\compilers_and_libraries_2019.5.281\windows,由于版本不同,可能后面的版本更新日期可能不同。按照下面根据你的情况添加。

可执行文件目录:D:\IntelSWTools\compilers_and_libraries_2019.5.281\windows\mkl\bin

包含目录:D:\IntelSWTools\compilers_and_libraries_2019.5.281\windows\mkl\include

库目录:

D:\IntelSWTools\compilers_and_libraries_2019.5.281\windows\compiler\lib\ia32_win

D:\IntelSWTools\compilers_and_libraries_2019.5.281\windows\mkl\lib\ia32_win

注意:在选择生成程序时,选择生成x86程序。如果要生成x64程序,那么库文件那里选择intel64_win。

打开链接器,在附加依赖项添加(如果配置64位程序,需要将mkl_intel_c.lib改成mkl_intel_lp64.lib

mkl_intel_c.lib;mkl_intel_thread.lib;mkl_core.lib;libiomp5md.lib;

配置测试

#include <stdio.h>
#include <stdlib.h> #include "mkl.h" #define min(x,y) (((x) < (y)) ? (x) : (y)) int main()
{
double* A, * B, * C;
int m, n, k, i, j;
double alpha, beta; printf("\n This example computes real matrix C=alpha*A*B+beta*C using \n"
" Intel(R) MKL function dgemm, where A, B, and C are matrices and \n"
" alpha and beta are double precision scalars\n\n"); m = , k = , n = ;
printf(" Initializing data for matrix multiplication C=A*B for matrix \n"
" A(%ix%i) and matrix B(%ix%i)\n\n", m, k, k, n);
alpha = 1.0; beta = 0.0; printf(" Allocating memory for matrices aligned on 64-byte boundary for better \n"
" performance \n\n");
A = (double*)mkl_malloc(m * k * sizeof(double), );
B = (double*)mkl_malloc(k * n * sizeof(double), );
C = (double*)mkl_malloc(m * n * sizeof(double), );
if (A == NULL || B == NULL || C == NULL) {
printf("\n ERROR: Can't allocate memory for matrices. Aborting... \n\n");
mkl_free(A);
mkl_free(B);
mkl_free(C);
return ;
} printf(" Intializing matrix data \n\n");
for (i = ; i < (m * k); i++) {
A[i] = (double)(i + );
} for (i = ; i < (k * n); i++) {
B[i] = (double)(-i - );
} for (i = ; i < (m * n); i++) {
C[i] = 0.0;
} printf(" Computing matrix product using Intel(R) MKL dgemm function via CBLAS interface \n\n");
cblas_dgemm(CblasRowMajor, CblasNoTrans, CblasNoTrans,
m, n, k, alpha, A, k, B, n, beta, C, n);
printf("\n Computations completed.\n\n"); printf(" Top left corner of matrix A: \n");
for (i = ; i < min(m, ); i++) {
for (j = ; j < min(k, ); j++) {
printf("%12.0f", A[j + i * k]);
}
printf("\n");
} printf("\n Top left corner of matrix B: \n");
for (i = ; i < min(k, ); i++) {
for (j = ; j < min(n, ); j++) {
printf("%12.0f", B[j + i * n]);
}
printf("\n");
} printf("\n Top left corner of matrix C: \n");
for (i = ; i < min(m, ); i++) {
for (j = ; j < min(n, ); j++) {
printf("%12.5G", C[j + i * n]);
}
printf("\n");
} printf("\n Deallocating memory \n\n");
mkl_free(A);
mkl_free(B);
mkl_free(C); printf(" Example completed. \n\n"); system("PAUSE");
return ;
}

VS2019配置MKL教程(Windows)的更多相关文章

  1. MKL与VS2019配置方法

    VS2019配置oneAPI并调用MKL库 oneAPI oneAPI是一个跨架构的编程工具,旨在简化跨GPU.CPU.FPGA和AI加速器之间的编程,可以与英特尔自身设备,或其他厂商的芯片配合使用, ...

  2. Windows上安装配置SSH教程(1)——知识点汇总

    1.是什么SSH? 维基百科:https://zh.wikipedia.org/wiki/Secure_Shell 其他博客:http://www.ruanyifeng.com/blog/2011/1 ...

  3. Windows上安装配置SSH教程(1)

    作者:feipeng8848 出处:https://www.cnblogs.com/feipeng8848/p/8559803.html 本站使用「署名 4.0 国际」创作共享协议,转载请在文章明显位 ...

  4. win7下IIS的安装和配置 图文教程

    转自   http://www.jb51.net/article/29787.htm 最近工作需要IIS,自己的电脑又是Windows7系统,找了下安装的方法,已经安装成功.在博客里记录一下,给需要的 ...

  5. Emacs 安装配置使用教程

    Emacs 安装配置使用教程 来源 https://www.jianshu.com/u/a27b97f900f7 序|Preface 先来一篇有趣的简介:Emacs和Vim:神的编辑器和编辑器之神 - ...

  6. Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE

    Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE Windows平台下安装Arduino IDE Windows操作系统下可以使用安装向导和压缩包形式安装.下面详细讲解这 ...

  7. JDK下载安装与环境变量配置图文教程【超详细】

    JDK下载安装与环境变量配置图文教程[超详细] 创建时间:2019年11月13日11时02分 文章目录 1. JDK介绍 1.1 什么是JDK? 1.2 JDK版本介绍 2. JDK下载与安装 3.w ...

  8. PyCharm Django Python 开发环境配置 详细教程

    PyCharm Django Python 开发环境配置 详细教程 1. Python 下载及安装 (1)根据需要的版本去 Python 官网(https://www.python.org/downl ...

  9. winsock教程- windows下的socket编程(c语言实现)

    winsock教程- windows下的socket编程(c语言实现) 使用winsock进行socket 编程     这是一个学习windows下socket编程(c语言)的快速指南.这是因为一下 ...

随机推荐

  1. Linux学习-LVS跨网段DR模型和FWM多服务绑定

    一.实验环境 系统:CentOS7.6 主机:5台 (虚拟机) 客户端1台:172.16.236.134/24 (NAT网卡),网关指向 172.16.236.185/24(路由服务器) 路由服务器1 ...

  2. <知识整理>2019清北学堂提高储备D4

    今天主要讲一下数学的知识. 一.进制转换: 十进制到k进制:短除法:顺除至0,逆序取余. k进制转十进制:乘权相加. 常见进制:四进制(对应2位二进制).八进制(对应3位二进制).十六进制(对应4位二 ...

  3. 高级软件测试技术(测试管理工具实践day1)

    今天进行了班级内部各小组选择测试工具,选择各自需要进行测试管理工具.我们小组暂定选择 禅道 但是班级内其他小组选择的工具还没确定,还没进行

  4. Matlab中imfilter()函数的用法

    Matlab中imfilter()函数的用法 功能:对任意类型数组或多维图像进行滤波.用法:B = imfilter(A,H) B = imfilter(A,H,option1,option2,... ...

  5. element-ui的rules全局验证

    原文:https://www.jianshu.com/p/6a29e9e51b61 rules.js var QQV = (rule, value, callback) => { debugge ...

  6. leetcode 258. 各位相加 (python)

    给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数. 示例: 输入: 38输出: 2 解释: 各位相加的过程为:3 + 8 = 11, 1 + 1 = 2. 由于 2 是一位数,所以 ...

  7. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_04 IO字节流_11_字节输入流一次读取多个字节

    参数带字节数组的 把字节数组转换为字符串 文件里面有ABCDE 再来读取一次 再来读取一次.读取的结果是ED 再来读取,-1到时输出了.但是还是把ED读取出来了. 原理 第一步创建流对象 第二部创建数 ...

  8. unittest框架扩展(基于代码驱动)自动化-下

    一.数据驱动/代码驱动优缺点: 使用数据驱动的好处:- 代码复用率高.同一测试逻辑编写一次,可以被多条测试数据复用,提高了测试代码的复用率,同时可以提高测试脚本的编写效率.- 异常排查效率高.测试框架 ...

  9. vi, Java, Ant, Junit自学报告 - 实训week1

    vi, Java, Ant, Junit自学报告 2017软件工程实训 15331023 陈康怡 vi Vi是linux系统的标准文本编辑器,采用指令的方式进行操作,此处仅记录部分常用的指令. vi模 ...

  10. free pascal

    https://freepascal.org/ free pascal OPEN SOURCE COMPILER FOR PASCAL AND OBJECT PASCAL GENERAL HomeNe ...