cuda学习笔记(2)

在这里插入图片描述
在这里插入图片描述

一 专业名词

1 分支断定

在这里插入图片描述

2 一致性和同一性

在这里插入图片描述

3 常见名词汇总

在这里插入图片描述

4 加速比

在这里插入图片描述

二 GPU架构构述

GPU就是将cpu的数据存储单元去掉,也就是保留执行单元,GPU就是多个执行单元

1 GPU设计思路,指令流共享,同时执行,数据切分成小块

在这里插入图片描述
在这里插入图片描述

2 GPU设计思路,单指令多数据处理

在这里插入图片描述
在这里插入图片描述
分支如何工作,只有一个大脑,8个流输入的是同一段代码,有的是t,有的是f,执行t的时候,f只能等待
在这里插入图片描述
停滞的解决方法:用别的独立的工作,来填满空余时间,延迟掩藏
停滞是指等待的过程,数据还没来,前面还没算完

在这里插入图片描述

1 CPU 和GPU交互

在这里插入图片描述
在这里插入图片描述

2 GPU线程模型

开发者定义的是线程,以及每个block里面放多少线程
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3 CUDA编程

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

假设只要1个block,block是二维的,i,j对应二维索引
在这里插入图片描述

在这里插入图片描述

cudaMalloc()    在设备端分配 golbal memory
cudaFree()  释放存储空间
GPU指针分配

在这里插入图片描述

数据拷贝函数

在这里插入图片描述
在这里插入图片描述

Cuda算法框架,通用

第1步:为数据分配GPU空间,将数据从cpu上拷贝到GPU上,同时为输出数据分配内存空间
第2步:在GPU启动并行
第3步:将数据拷贝回CPU,释放GPU上的占用内存
在这里插入图片描述

矩阵相乘算法

在这里插入图片描述
在GPU启动并行计算矩阵,不需要锁,因为用不到别的部分的数据
在这里插入图片描述
假设只使用一个block
在这里插入图片描述

函数声明

主要有三种函数,3个函数声明可以用于同时定义同一个变量
在这里插入图片描述

线程同步,一般是局部同步,也就是块内同步,全局同步开销太大

且线程同步之间的任务要时间接近,可以提高效率
在这里插入图片描述
如果是采用了以下的这种调用情况,会导致程序逻辑错误
在这里插入图片描述

线程调度:软件调用的核数可能会大于实际的硬件核数

调度量不代表执行量,调度过程会存在一些等待的部分
在这里插入图片描述

Warp

1个warp是32个线程,block内的线程再次进行分组执行,因为资源有限,一个warp内的数据是默认同步的
一个时间一个block内只有一个warp在执行

一个block只能分配在同一个SM上

变量声明

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

课程链接
链接: https://www.bilibili.com/video/BV1LE411p7ej?p=6&spm_id_from=pageDriver&vd_source=ee789cf916563b0f6fa47fd0f3556c63

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/703918.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL的21个SQL经验

1. 写完SQL先explain查看执行计划(SQL性能优化) 日常开发写SQL的时候,尽量养成这个好习惯呀:写完SQL后,用explain分析一下,尤其注意走不走索引。 explain select userid,name,age from user where userid =10086 or age =18;2、操作delete或者update语句,加个limit(S…

Android 面试问题 2024 版(其三)

Android 面试问题 2024 版(其三) 十一、版本控制十二、Play 商店和应用程序部署十三、无障碍十四、第三方库和 API十五、解决问题的能力十六、基于 JD 的非常高级别的问题 十一、版本控制 什么是版本控制,为什么它在软件开发中很重要&#x…

爬某网站延禧宫率第一集视频

import requests import re from tqdm import tqdm # 网址链接:https://v.ijujitv.cc/play/24291-1-1.html url https://v6.1080pzy.co/20220801/urxniJCN/hls/index.m3u8 headers {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) Appl…

BUUCTF crypto做题记录(9)新手向

一、rsa2 得到题目代码如下: N 101991809777553253470276751399264740131157682329252673501792154507006158434432009141995367241962525705950046253400188884658262496534706438791515071885860897552736656899566915731297225817250639873643376310103992170…

Linux调用可执行程序:system()函数和execl函数

system()函数: system()函数是一个在C/C编程语言中的库函数,用于在操作系统中执行命令。 函数声明如下: int system(const char *command);该函数接受一个指向以空字符结尾的字符串的指针作为参数,该字符串包含要执行的命令。函…

吴恩达deeplearning.ai:sigmoid函数的替代方案以及激活函数的选择

以下内容有任何不理解可以翻看我之前的博客哦:吴恩达deeplearning.ai专栏 文章目录 引入——改进下需求预测模型ReLU函数(整流线性单元 rectified linear unit)线性激活函数(linear activation function)激活函数的选择实现方式为什么需要激活函数 到现在…

【MATLAB】 LMD信号分解+FFT傅里叶频谱变换组合算法

有意向获取代码,请转文末观看代码获取方式~ 展示出图效果 1 LMD分解算法 LMD (Local Mean Decomposition) 分解算法是一种信号分解算法,它可以将一个信号分解成多个局部平滑的成分,并且可以将高频噪声和低频信号有效地分离出来。LMD 分解算…

【IDEA】java 项目启动偶现Kotlin 版本问题 error:Kotlin:module was

一、问题描述: error:Kotlin:module was compiled with an incompatible version of kotlin the binary version of its metadata is二、问题原因: jar包版本冲突 三、解决方式: 1、Rebuild Project(推荐☆) 重新构…

【Spring Cloud】高并发带来的问题及常见容错方案

文章目录 高并发带来的问题编写代码修改配置压力测试修改配置,并启动软件添加线程组配置线程并发数添加Http取样配置取样,并启动测试访问message方法观察效果 服务雪崩效应常见容错方案常见的容错思路常见的容错组件 总结 欢迎来到阿Q社区 https://bbs.c…

Vue+SpringBoot打造高校实验室管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、研究内容2.1 实验室类型模块2.2 实验室模块2.3 实验管理模块2.4 实验设备模块2.5 实验订单模块 三、系统设计3.1 用例设计3.2 数据库设计 四、系统展示五、样例代码5.1 查询实验室设备5.2 实验放号5.3 实验预定 六、免责说明 一、摘…

Linux浅学笔记04

目录 Linux实用操作 Linux系统下载软件 yum命令 apt systemctl命令 ln命令 日期和时区 IP地址 主机名 网络传输-下载和网络请求 ping命令 wget命令 curl命令 网络传输-端口 进程 ps 命令 关闭进程命令: 主机状态监控命令 磁盘信息监控&#xff1a…

el-table样式问题:如何修改element-ui表格中按钮悬浮显示但是被el-table溢出隐藏的问题?

最近在写elment-ui样式表格中遇到了溢出隐藏的问题 修改前 修改后 是由于el-table__body-wrapper为 overflow:hidden导致的 解决方式: .el-table__body-wrapper {overflow: visible !important; } //或者 /deep/.el-table__body-wrapper {overflow: v…

服务器防漏扫

什么是漏扫? 漏扫是漏洞扫描的简称。漏洞扫描是一种安全测试方法,用于发现计算机系统、网络或应用程序中的潜在漏洞和安全弱点。通过使用自动化工具或软件,漏洞扫描可以检测系统中存在的已知漏洞,并提供相关的报告和建议&#xf…

超详细的Python中与迭代相关的函数

下面要介绍的enumerate、range、zip、reversed、sorted属于Python内置的函数或者类别,返回的对象都可通过迭代方法访问。 一、enumerate函数 1.语法:enumerate(iterable, start0) 1)该函数Python 2.3. 以上版本可用,2.6 添加 start 参数&a…

基于Springboot + Vue 母婴商城系统

末尾获取源码作者介绍:大家好,我是墨韵,本人4年开发经验,专注定制项目开发 更多项目:CSDN主页YAML墨韵 学如逆水行舟,不进则退。学习如赶路,不能慢一步。 目录 一、项目简介 二、开发技术与环…

基于Java SSM框架实现家庭食谱管理系统项目【项目源码+论文说明】

基于java的SSM框架实现家庭食谱管理系统演示 摘要 本论文主要论述了如何使用JAVA语言开发一个家庭食谱管理系统 ,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论…

自定义神经网络一之Tensor和神经网络

文章目录 前言Tensor神经网络深度神经网络DNN卷积神经网络CNN卷积神经网络有2大特点 循环神经网络RNN残差网络ResNetTransformer自我注意力机制并行效率 总结 前言 神经网络是AI界的一个基础概念,当下火热的神经网络例如RNN循环神经网络或者CNN卷积神经网络&#x…

WLAN 无线局域网、802.11

目录 1 无线局域网的组成 1.1 IEEE 802.11 关联 (association) 建立关联的两种方法 1.2 移动自组网络 无线传感器网络 WSN 无线传感器网络主要的应用领域 2 802.11 局域网的物理层 802.11 的物理层的几种实现方法 1 无线局域网的组成 无线局域网 WLAN (Wireless Lo…

Java+SpringBoot+Vue+MySQL:疫情隔离酒店管理的全面技术解决方案

✍✍计算机毕业编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java、…

断电延时继电器 电源监视继电器 导轨安装 HJZS-E002 AC220V 2S

HJZS-E系列断电延时继电器 系列型号: HJZS-E202断电延时继电器 HJZS-E002断电延时继电器 一 应用 用于直流或交流操作的各种保护和自动控制的装置中,用以增加触点数量。 二 安装结构 导轨安装9壳体结构,具体尺寸参阅外型尺寸图。 三 主要…