最近开始接触cublas,为了监督自己的学习,并希望得到其他朋友的指点,特地将自己的学习笔记写出来

1. 参考文档

CUBLAS_Library_2.1.pdf 》

2.  环境配置

1)添加头文件:cublas.h

2.)添加链接库:在能运行cuda程序的平台上,按照下面的方法添加cublas的lib文件:Project -> ** Properties -> Configuration Properties -> Linker -> Input -> Additional Dependencies ->  添加“cublas.lib”

3 文档的使用说明

CUBLAS_Library文档中提供了两种类型的库函数。

第一种:CUBLAS Helper function,该类库函数主要是为core function(即为第二类库函数) 利用GPU资源做准备,实现的功能包括显存空间的分配和释放,对向量和矩阵做set/get 操作等。

第二种:BLAS.x Function,也称为core function。其中x 可取1,2,3分别表示三种不同类型的线性代数的运算,BLAS.1 Function实现 vector 与vector 的运算,BLAS.2 Function实现 vector 与matrix 的运算,BLAS.3 Function 实现matrix 与 matrix 的运算。

Core Function 根据矩阵的类型和特殊矩阵的存储方式,提供了不同的接口。该库中包含的特殊矩阵类型有:常规型矩阵(general matrix),三角形矩阵(triangular matrix),对称矩阵(symmetric matrix),旋转矩阵(rotation matrix)。具体的存储方式见附录一 matrix type。针对稀疏矩阵,为了节约存储空间,cublas提供了两种存储方式:banded storage 和packed storage,具体的存储方式见附录二 storage type。

4 使用cublas 库函数的程序框架

1.       cublasInit();

2.       将要计算的变量拷贝到显存上

3.       调用cublas core function

4.       将计算后变量拷贝回到内存上

5.       cublasShutdown();

第二和第四步的说明:将要计算的变量“放到”显存上,这里有两种方式来实现:第一种利用cublas提供的helper function cublasAlloc和cublasSetMatrix,第二种:利用cuda提供的cudamalloc 和cudaMemcpy。经过测试,这两种方式的执行效率相差不大

cublas 的学习笔记_1相关推荐

  1. 12864液晶深入学习笔记_1——基于msp430g2553

    12864液晶学习笔记 Created on: 2012-8-30 Author: zhang bin 这是我对12864的学习笔记,12864液晶功能很全面,使用起来也很方便,能够满足一般的研究和工 ...

  2. 带时滞的病毒模型计算模板【基于matlab的动力学模型学习笔记_1】

    /*仅当作学习笔记,若有纰漏欢迎友好交流指正,此外若能提供一点帮助将会十分荣幸*/ 摘 要:无论是生物病毒还是网络病毒,其内核的传播机理都有很多的相似之处.因此,本文在经典的SIR病毒模型基础上改造出 ...

  3. 尚学堂JAVA高级学习笔记_1/2

    尚学堂JAVA高级学习笔记 文章目录 尚学堂JAVA高级学习笔记 写在前面 第1章 手写webserver 1. 灵魂反射 2. 高效解析xml 3. 解析webxml 4. 反射webxml 5. ...

  4. 逆向破解_iOS_学习笔记_1

    监测工具 Reveal.snoop-it.introspy 反汇编工具IDA.Hopper 开发工具iOSOpenDev.Theos  OSX工具class-dump 然而出现了权限问题: cp: / ...

  5. 20220\8\20 C语言入门学习笔记_1 【试写未成年防沉迷系统模型】 (使用软件vs2022)

    ​#include<stdio.h>int main(void)/*Fish_GD*/ {int age;int English_score;int IQ;printf("输入你 ...

  6. HMM学习笔记_1(从一个实例中学习DTW算法)

    DTW为(Dynamic Time Warping,动态时间归准)的简称.应用很广,主要是在模板匹配中,比如说用在孤立词语音识别,计算机视觉中的行为识别,信息检索等中.可能大家学过这些类似的课程都看到 ...

  7. 爬虫实战学习笔记_1 爬虫基础+HTTP原理

    1 爬虫简介 网络爬虫(又被称作网络蜘蛛.网络机器人,在某些社区中也经常被称为网页追逐者)可以按照指定的规则(网络爬虫的算法)自动浏览或抓取网络中的信息. 1.1 Web网页存在方式 表层网页指的是不 ...

  8. 目标跟踪学习笔记_1(opencv中meanshift和camshift例子的应用)

    在这一节中,主要讲目标跟踪的一个重要的算法Camshift,因为它是连续自使用的meanShift,所以这2个函数opencv中都有,且都很重要.为了让大家先达到一个感性认识.这节主要是看懂和运行op ...

  9. 学习笔记_1 Matplotlib绘制散点图

    这个是给数模学习过程的我看的,当然能帮助到大家也肯定更好. 在anaconda中调用numpy和matplotlib这两个包 首先是最基础的绘制函数 import numpy as np import ...

最新文章

  1. Linux服务器查看占用IO较高的进程
  2. mysql5_pn卸载_windows mySql(5.7.30) 卸载及重装
  3. 微信小程序自定义组件方案
  4. leetcode637. 二叉树的层平均值(层序遍历04)
  5. mysql大小写敏感_MySQL数据库大小写敏感的问题
  6. alloc_page分配内存空间--Linux内存管理(十七)
  7. word中填充效果锁定纵横比_【文艺范】Word文档中的首字下沉效果
  8. BeyondCompare3提示许可密钥过期完美解决方法:3281-0350
  9. 全网最全的Java岗集合面试题(含答案)
  10. Android Studio 下载安装教程
  11. day21、3 - 防火墙HA
  12. 打印选课学生名单 (25分)
  13. 深信服2019秋招技服岗面试总结
  14. 教你怎么在 Mac 电脑上进行语音实时输入
  15. dreamweaver8_Dreamweaver 8符合标准!
  16. Vue官网2文档笔记
  17. 用ChatGPT做嵌入式应用开发
  18. mysql 1146 错误处理
  19. Linux gzip压缩/解压 *.gz文件详解
  20. 2015百度竞价之如何增加有效点击率?

热门文章

  1. java 中的NIO
  2. Mysql数据库数据拆分之分库分表总结
  3. 华为究竟做了多少芯片?
  4. 前端如何调用后端接口
  5. 人工智能技术知识图谱
  6. Android修改字体大小
  7. Apache和Spring提供的StopWatch执行时间监视器
  8. jzoj P1285 奶酪厂
  9. 自定义View练习 - 汉字键盘
  10. 归并排序(C语言简单实现)