下载链接: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. SQL插入字段

    //SQL插入字段 String dropTable="drop table if exists test;"; String columnGid ="alter tab ...

  2. 对postman的研究

    1.Postman可用作macOS,Windows和Linux操作系统的本机应用程序. 2.最常用的方法是GET,POST,PUT和DELETE.方法的名称是不言自明的.例如,GET使您可以从服务器检 ...

  3. React Native 之ScrollView

    import React, { Component } from 'react' import { Text, StyleSheet, View, Button ,TouchableOpacity,A ...

  4. IDEA将新建项目上传至GitLab

    1.首先,需要你自己登录GitLab,并新建一个项目的链接,如下图所示: (此图为图三,该链接下面操作中将会用到!) 2.在idea上新建一个项目,完成之后,需要创建一个git仓库: 3.然后可以根据 ...

  5. 【LOJ6225&网络流24题】火星探险问题(费用流)

    题意: 思路: [问题分析] 最大费用最大流问题. [建模方法] 把网格中每个位置拆分成网络中两个节点<i.a>,<i.b>,建立附加源S汇T. 1.对于每个顶点i,j为i东边 ...

  6. @media兼容iphone4、5、6

    在网页中,pixel与point比值称为device-pixel-ratio,普通设备都是1,iPhone 4是2,有些Android机型是1.5. 那么-webkit-min-device-pixe ...

  7. [design pattern](2) Observer

    前言 在上一个博客中我们介绍了Strategy模式,它是行为型模式麾下的一员大将.那么本博客我们来学习一下行为型模式麾下的另一员大将Observer模式. 思考题 老套路,先来思考下面的问题: 问题: ...

  8. CharacterEncodingFilter详解

    字符编码过滤器  (Spring框架对字符编码的处理) 基于函数回调,对所有请求起作用,只在容器初始化时调用一次,依赖于servlet容器. web.xml配置文件 <filter> &l ...

  9. 启用和配置 FILESTREAM

    2017/08/23 在开始使用 FILESTREAM 之前,必须在 SQL Server 数据库引擎实例中启用 FILESTREAM. 本主题说明了如何使用 SQL Server 配置管理器来启用 ...

  10. Understanding the Module Pattern in JavaScript

    Understanding the Module Pattern in JavaScript Of all the design patterns you are likely to encounte ...