- 博客(17)
- 资源 (1)
- 收藏
- 关注
原创 CUDA代码的高效策略
1.高效公式最大化计算强度:Math/Memory: 数学计算量/每个线程的内存,最大化的就是要么使他的计算量变大,要么使每个线程用的内存变少。要使每个线程使用的内存变少还有两种方法:第一是尽可能的把数据存放在本地内存,或共享内存,不仅仅是全局内存。第二呢,是通过一些技巧,把全局内存做一个合并,这样会加快读取线程的速度。要么增大计算量,要么减少每个线程的内存。要么每个线程读取的数据量变少,要么每个线程读取的速度变快,而又有两种方法,第一是转变内存位置,第二是对读取慢的位置做优化。1.2 合并全局内存
2022-02-04 04:09:24
676
原创 cuda_lecture2_part2_GPU
GPU程序一般有哪些步骤1.CPU分配空间给GPU(cudaMalloc)2.CPU复制数据给GPU3.CPU加载kernels给GPU做计算4.CPU把GPU计算结果复制过来。过程中,一般要尽量降低数据通讯的消耗,所以如果程序需要大量的数据到GPU,显然不是很合适使用GPU运算,最理想的情况是,每次复制的数据很小,然后运算量很大,然后输出的结果很小,然后复制回CPU。例程:#include<stdio.h>__global__ void square(float* d_out,
2022-02-04 01:33:53
191
原创 GPU并行计算与CUDA编程第2课第一节
来自炼数成金罗老师的课并行编程的通讯模式(Communication Patterns)1.1 什么是通讯模式并行计算:很多线程的通力合作来解决一个问题。拿For循环距离,比如一个For循环循环一百次,CPU的话就是这100次一次一次的执行,但是GPU的话是这100次同时执行。并行模式:1.同时读取同个位置。2.所有循环都往一个地方写数据。3. 不同的数据位置,还有一部分内容或结果是需要交换的。最常见的通讯模式分别有:1. 映射(Map):输入输出关系:一一对应(one-to-one)。例子:
2022-02-03 18:43:32
600
原创 CUDA软件环境
CUDA是什么?CUDA,全称是Compute Unified Device Architecture,英伟达在2007年推出这个统一计算架构,为了让GPU有可用的编程环境,从而能通过程序控制底层的硬件进行计算。说白了就是让C和C++不仅能调用CPU,还能调用英伟达公司的GPU,这就是CUDA的意义,并且可以通过执行大量的线程而达到并行的目的。3.0才开始支持C++,从7.开始支持C++11。CUDA软件体系可以分为三层结构: CUDA函数库 (CUDA Library) 最高层 CUDA运行时间A
2022-02-03 05:52:35
1105
原创 cuda编程cuda_lecture1_part2
来源:炼数成金罗老师的课GPU原理:GPU和CPU的区别是什么?什么时候考虑去使用GPU?CPU结构图如下:CPU内部原件比例图Control: 控制器ALU:计算单元Cache: 缓存DRAM:存储每个控制器和每个存储单元组成一个小组件的话,可以跟随很多个计算单元。这是GPU不一样的地方。CPU是一个控制单元只能跟随少量的计算单元。CPU的发展如下图:处理器越来越小,处理速度越来越快,处理核变多,但是到了2009年就停止上升了。CPU的尺寸在越来越小。CPU和GPU的设计
2022-02-03 04:37:26
152
原创 python中super()的使用方法
来源:https://www.bilibili.com/video/BV1Zt411N7wM?from=search&seid=1124646343492113244&spm_id_from=333.337.0.0super函数:由于类的继承导致可能覆盖同名的构造方法,导致只能使用子类的构造,而无法调用父类的构造方法。但其实可以采用super方法解决这个问题。super这个方法用来解决子类中调用父类同名构造方法。在Python3中,直接写super()来调用父类中的构造方法:通过实
2022-02-02 08:35:28
1765
1
原创 深度学习中的各种学习率的比较
此文转载于:https://blog.csdn.net/yixieling4397/article/details/82834943想学习这部分的同学还请通过这个博客进行学习,本博客纯属个人笔记。在深度学习中,如何快速的找到局部最小值这非常重要,因此有很多种学习率自动下降的方法,分别为:fixed: 保持学习率base_lr不变。step: 如果设置为step,则还需要设置一个stepsize,返回base_lr * gamma^(floor(iter/stepsize)),其中iter表示当前的迭
2022-02-01 04:59:05
575
原创 Python import包的时候底部有红色波浪线但是程序不报错
有的时候在写代码的时候,会出现如下情况:即导入的包下面有红色波浪线,但此时代码并不报错,说明其实程序里有相关的包。这个之后只需要改变一种写法,如:即可完美解决问题。
2022-01-31 03:59:23
3135
原创 Import tensorlfow报警告的问题
如果Numpy版本和tensorflow版本之间不对应的话,那么就会出警告。想要不出警告,就提前搜好该版本的tensorflow对应的numpy版本是多少!
2022-01-31 01:27:30
1370
原创 Visual studio初步调试
第一步:打断点。断点在这个灰杠里打。之后点击本地Windows调试器,程序会执行到断点处停下。按F10进行单步调试,直接输出函数结果:按F11进入函数内部:
2022-01-28 05:36:26
702
原创 Visual studio解决方案管理器找不到了怎么办
有的时候打开VS2019后的界面如下:发现找不到cpp文件了。点击最上面一排的视图,然后点解决方案资源管理器:之后出现了自己想要的结果:
2022-01-28 04:57:59
4218
1
原创 安装VS2019并输出helloworld
文件下载地址:链接:https://pan.baidu.com/s/1VWQVjjfEq8c1gJZq70PLag提取码:j26l–来自百度网盘超级会员V1的分享码:NYWVH-HT4XC-R2WYW-9Y3CM-X4V3Y选好组件后即可安装。创建helloworld程序:打开vs2019的软件左上角->文件->>新建->>项目 ,然后选择这个,点击下一步。更改项目名称,然后点击创建源文件 添加 新建项,之后点击添加输入代码:在菜单栏中选择生成—&
2022-01-27 18:29:30
996
原创 解决报错:PyCharm错误:Process finished with exit code -1073740791 (0xC0000409)
原因:显存不够解决方案:import osos.environ[“CUDA_VISIBLE_DEVICES”] = “-1”直接用GPU去跑!
2022-01-26 01:06:48
1034
原创 安装tensorflow要注意cuda版本
虽然 网站:https://pypi.tuna.tsinghua.edu.cn/simple/tensorflow-gpu中并不会注明tensorflow对应的版本,但是自己要去别的网站上查一下。如果cuda版本跟tensorflow版本不对应,那么最终安装上的tensorflow也无法import。...
2022-01-25 22:58:19
1002
原创 卸载不掉Tensorflow
pip uninstall tensorflow时,显示没有tensorflow包。但是tensorflow又可以导入,这种情况下就应该先pip list,查看已经安装的所有包pip list,发现的确没有tensorflow,只有tensorflow-gpupip uninstall tensorflow-gpu 完成卸载!...
2022-01-25 21:05:46
1940
原创 conda找不到高版本CUDNN
【Cleaner踩坑实录】Conda搜不到高版本的cudnn想安装cudatoolkit102和cudnn8.2.1,结果发现conda install cudnn==8.2.1搜不到这个版本的cudnn解决方案首先输入命令: conda search cudnn -c conda-forge,然后发现出现了一堆cudnn:在这里插入图片描述然后就可以使用conda install cudnn==8.2.10.32 -c conda-forge 来进行安装cudnn了。...
2022-01-25 17:39:31
2114
White blood cell (WBC) image datasets.rar
2019-07-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人