VS2019配置MKL教程(Windows)
下载链接: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)的更多相关文章
- MKL与VS2019配置方法
VS2019配置oneAPI并调用MKL库 oneAPI oneAPI是一个跨架构的编程工具,旨在简化跨GPU.CPU.FPGA和AI加速器之间的编程,可以与英特尔自身设备,或其他厂商的芯片配合使用, ...
- Windows上安装配置SSH教程(1)——知识点汇总
1.是什么SSH? 维基百科:https://zh.wikipedia.org/wiki/Secure_Shell 其他博客:http://www.ruanyifeng.com/blog/2011/1 ...
- Windows上安装配置SSH教程(1)
作者:feipeng8848 出处:https://www.cnblogs.com/feipeng8848/p/8559803.html 本站使用「署名 4.0 国际」创作共享协议,转载请在文章明显位 ...
- win7下IIS的安装和配置 图文教程
转自 http://www.jb51.net/article/29787.htm 最近工作需要IIS,自己的电脑又是Windows7系统,找了下安装的方法,已经安装成功.在博客里记录一下,给需要的 ...
- Emacs 安装配置使用教程
Emacs 安装配置使用教程 来源 https://www.jianshu.com/u/a27b97f900f7 序|Preface 先来一篇有趣的简介:Emacs和Vim:神的编辑器和编辑器之神 - ...
- Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE
Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE Windows平台下安装Arduino IDE Windows操作系统下可以使用安装向导和压缩包形式安装.下面详细讲解这 ...
- JDK下载安装与环境变量配置图文教程【超详细】
JDK下载安装与环境变量配置图文教程[超详细] 创建时间:2019年11月13日11时02分 文章目录 1. JDK介绍 1.1 什么是JDK? 1.2 JDK版本介绍 2. JDK下载与安装 3.w ...
- PyCharm Django Python 开发环境配置 详细教程
PyCharm Django Python 开发环境配置 详细教程 1. Python 下载及安装 (1)根据需要的版本去 Python 官网(https://www.python.org/downl ...
- winsock教程- windows下的socket编程(c语言实现)
winsock教程- windows下的socket编程(c语言实现) 使用winsock进行socket 编程 这是一个学习windows下socket编程(c语言)的快速指南.这是因为一下 ...
随机推荐
- React Native 中吐司组件react-native-easy-toast
https://github.com/crazycodeboy/react-native-easy-toast 用法: import Toast from 'react-native-easy-toa ...
- 在volist中用遍历
$('.InColor').each(function(){ if($(this).val()==1){ $('.absolute').css({"color":"gra ...
- [CF1188B]Count Pairs 题解
前言 这道题目是道好题. 第一次div-2进前100,我太弱了. 题解 公式推导 我们观察这个式子. \[(a_i+a_j)(a_i^2+a_j^2)\equiv k \mod p\] 感觉少了点什么 ...
- 【bzoj3564】 [SHOI2014]信号增幅仪
题目描述: 无线网络基站在理想状况下有效信号覆盖范围是个圆形.而无线基站的功耗与圆的半径的平方成正比. 现给出平面上若干网络用户的位置,请你选择一个合适的位置建设无线基站.... 就在你拿起键盘准备开 ...
- 【Java】SpringBoot整合RabbitMQ
介绍 RabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用. RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,AMQP,即A ...
- kohana orm巧用字段备注支持扩展
1.SELECT * FROM `bota_language` WHERE `type` = 'order_type'; id key value type ---- ...
- RedisTemplate访问Redis数据结构(五)——ZSet
Redis 有序集合和无序集合一样也是string类型元素的集合,且不允许重复的成员.不同的是每个元素都会关联一个double类型的分数.有序集合的成员是唯一的,但分数(score)却可以重复.red ...
- React-Native 之 GD (七)下拉刷新 及 上拉加载更多
1.下拉刷新 使用第三方插件 下载插件: $ npm install react-native-pull@latest --save 引入: import {PullList} from 'reac ...
- C# 内存建表备忘
#region=====建表===== DataSet dataSet; // 创建表 DataTable table = new DataTable("testTable"); ...
- unittest框架扩展(基于代码驱动)自动化-下
一.数据驱动/代码驱动优缺点: 使用数据驱动的好处:- 代码复用率高.同一测试逻辑编写一次,可以被多条测试数据复用,提高了测试代码的复用率,同时可以提高测试脚本的编写效率.- 异常排查效率高.测试框架 ...