Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
CSDN 技术社区
skill_tree_cuda
提交
5d6c3e03
S
skill_tree_cuda
项目概览
CSDN 技术社区
/
skill_tree_cuda
通知
3
Star
1
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
skill_tree_cuda
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
5d6c3e03
编写于
4月 06, 2022
作者:
K
Ken He
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Ken He
上级
aa253ffa
变更
17
显示空白变更内容
内联
并排
Showing
17 changed file
with
197 addition
and
8 deletion
+197
-8
data/1.CUDA入门初阶/5.利用共享存储单元优化应用/3.利用共享存储单元进行矩阵转置和矩阵乘积/mem10.md
.../1.CUDA入门初阶/5.利用共享存储单元优化应用/3.利用共享存储单元进行矩阵转置和矩阵乘积/mem10.md
+16
-0
data/1.CUDA入门初阶/6.统一内存/1.统一内存的基本概念和使用/config.json
data/1.CUDA入门初阶/6.统一内存/1.统一内存的基本概念和使用/config.json
+4
-1
data/1.CUDA入门初阶/6.统一内存/1.统一内存的基本概念和使用/mem11.md
data/1.CUDA入门初阶/6.统一内存/1.统一内存的基本概念和使用/mem11.md
+16
-0
data/2.CUDA入门中阶/1.CUA错误检测与事件/1.CUDA应用程序运行时的错误检测/config.json
data/2.CUDA入门中阶/1.CUA错误检测与事件/1.CUDA应用程序运行时的错误检测/config.json
+4
-1
data/2.CUDA入门中阶/1.CUA错误检测与事件/1.CUDA应用程序运行时的错误检测/error.md
data/2.CUDA入门中阶/1.CUA错误检测与事件/1.CUDA应用程序运行时的错误检测/error.md
+16
-0
data/2.CUDA入门中阶/1.CUA错误检测与事件/2.CUDA中的事件/config.json
data/2.CUDA入门中阶/1.CUA错误检测与事件/2.CUDA中的事件/config.json
+4
-1
data/2.CUDA入门中阶/1.CUA错误检测与事件/2.CUDA中的事件/event.md
data/2.CUDA入门中阶/1.CUA错误检测与事件/2.CUDA中的事件/event.md
+23
-0
data/2.CUDA入门中阶/2.原子操作/1.CUDA中的原子操作/atom.md
data/2.CUDA入门中阶/2.原子操作/1.CUDA中的原子操作/atom.md
+16
-0
data/2.CUDA入门中阶/2.原子操作/1.CUDA中的原子操作/config.json
data/2.CUDA入门中阶/2.原子操作/1.CUDA中的原子操作/config.json
+4
-1
data/2.CUDA入门中阶/2.原子操作/2.原子操作的适用场景/atom1.md
data/2.CUDA入门中阶/2.原子操作/2.原子操作的适用场景/atom1.md
+16
-0
data/2.CUDA入门中阶/2.原子操作/2.原子操作的适用场景/config.json
data/2.CUDA入门中阶/2.原子操作/2.原子操作的适用场景/config.json
+4
-1
data/2.CUDA入门中阶/3.CUDA stream/1.CUDA流的基本概念/config.json
data/2.CUDA入门中阶/3.CUDA stream/1.CUDA流的基本概念/config.json
+4
-1
data/2.CUDA入门中阶/3.CUDA stream/1.CUDA流的基本概念/stream.md
data/2.CUDA入门中阶/3.CUDA stream/1.CUDA流的基本概念/stream.md
+15
-0
data/2.CUDA入门中阶/3.CUDA stream/2.默认流与非默认流/config.json
data/2.CUDA入门中阶/3.CUDA stream/2.默认流与非默认流/config.json
+4
-1
data/2.CUDA入门中阶/3.CUDA stream/2.默认流与非默认流/stream1.md
data/2.CUDA入门中阶/3.CUDA stream/2.默认流与非默认流/stream1.md
+13
-0
data/2.CUDA入门中阶/3.CUDA stream/3.利用CUDA流重叠计算和数据传输/config.json
data/2.CUDA入门中阶/3.CUDA stream/3.利用CUDA流重叠计算和数据传输/config.json
+4
-1
data/2.CUDA入门中阶/3.CUDA stream/3.利用CUDA流重叠计算和数据传输/stream2.md
data/2.CUDA入门中阶/3.CUDA stream/3.利用CUDA流重叠计算和数据传输/stream2.md
+34
-0
未找到文件。
data/1.CUDA入门初阶/5.利用共享存储单元优化应用/3.利用共享存储单元进行矩阵转置和矩阵乘积/mem10.md
浏览文件 @
5d6c3e03
# 利用共享存储单元优化程序
下面关于共享存储单元的说法错误的是?
## 答案
驻留在一个SM中的block中的线程如果shared memory不够用, 可以利用其他SM中的shared memory
## 选项
### A
在优化矩阵乘的过程中, 我们可以利用shared memory减少从global memory中数据的读取次数.
### B
同一Block中的线程可以利用shared memory进行协作.
data/1.CUDA入门初阶/6.统一内存/1.统一内存的基本概念和使用/config.json
浏览文件 @
5d6c3e03
...
@@ -2,7 +2,9 @@
...
@@ -2,7 +2,9 @@
"node_id"
:
"cuda-e2ec9573577d42fdbed66392ffc835d3"
,
"node_id"
:
"cuda-e2ec9573577d42fdbed66392ffc835d3"
,
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"export"
:
[],
"export"
:
[
"mem11.md"
],
"keywords_must"
:
[],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/1.CUDA入门初阶/6.统一内存/1.统一内存的基本概念和使用/mem11.md
0 → 100644
浏览文件 @
5d6c3e03
# 统一内存的基本概念
以下关于统一内存的说法错误的是?
## 答案
申请的统一内存不需要进行数据传输,所以不受硬件带宽限制(如: PCIE等).
## 选项
### A
不需要手动拷贝数据.
### B
可以利用cudaMallocManaged() 函数分配统一内存.
data/2.CUDA入门中阶/1.CUA错误检测与事件/1.CUDA应用程序运行时的错误检测/config.json
浏览文件 @
5d6c3e03
...
@@ -2,7 +2,9 @@
...
@@ -2,7 +2,9 @@
"node_id"
:
"cuda-634b3d9492044bafb7a089431c878879"
,
"node_id"
:
"cuda-634b3d9492044bafb7a089431c878879"
,
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"export"
:
[],
"export"
:
[
"error.md"
],
"keywords_must"
:
[],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.CUDA入门中阶/1.CUA错误检测与事件/1.CUDA应用程序运行时的错误检测/error.md
0 → 100644
浏览文件 @
5d6c3e03
# CUDA 错误检测
下面关于CUDA错误检测错误的是?
## 答案
当异步函数发生错误的时候, 会马上终止并报告错误代码.
## 选项
### A
运行时函数会返回错误代码.
### B
内核启动不返回任何错误代码,因此必须在内核启动后立即调用
`cudaPeekAtLastError()`
或
`cudaGetLastError()`
以检索任何启动前错误.
data/2.CUDA入门中阶/1.CUA错误检测与事件/2.CUDA中的事件/config.json
浏览文件 @
5d6c3e03
...
@@ -2,7 +2,9 @@
...
@@ -2,7 +2,9 @@
"node_id"
:
"cuda-5a542af3254b49a8ab5266364d421e47"
,
"node_id"
:
"cuda-5a542af3254b49a8ab5266364d421e47"
,
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"export"
:
[],
"export"
:
[
"event.md"
],
"keywords_must"
:
[],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.CUDA入门中阶/1.CUA错误检测与事件/2.CUDA中的事件/event.md
0 → 100644
浏览文件 @
5d6c3e03
# 事件
下面关于CUDA编程模型中的event说法错误的是?
## 答案
CUDA运行时提供了一种密切监视设备进度以及执行准确计时的方法,方法是让应用程序同步记录程序中任何点的事件
## 选项
### A
以下代码示例创建
`start`
,
`stop`
两个事件:
```
C++
cudaEvent_t start, stop;
cudaEventCreate(&start);
cudaEventCreate(&stop);
```
### B
可以利用以下代码销毁event:
```
C++
cudaEventDestroy(start);
cudaEventDestroy(stop);
```
data/2.CUDA入门中阶/2.原子操作/1.CUDA中的原子操作/atom.md
0 → 100644
浏览文件 @
5d6c3e03
# 原子操作
下面关于CUDA中原子操作错误的是?
## 答案
原子函数可以在GPU或者CPU上执行
## 选项
### A
原子函数对驻留在全局或共享内存中的一个 32 位或 64 位字执行读-修改-写原子操作.
### B
原子操作保证在不受其他线程干扰的情况下执行。 换句话说,在操作完成之前,没有其他线程可以访问它处理数据的地址。
data/2.CUDA入门中阶/2.原子操作/1.CUDA中的原子操作/config.json
浏览文件 @
5d6c3e03
...
@@ -2,7 +2,9 @@
...
@@ -2,7 +2,9 @@
"node_id"
:
"cuda-10a7cead25f14eeaaf0730ff2468cb90"
,
"node_id"
:
"cuda-10a7cead25f14eeaaf0730ff2468cb90"
,
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"export"
:
[],
"export"
:
[
"atom.md"
],
"keywords_must"
:
[],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.CUDA入门中阶/2.原子操作/2.原子操作的适用场景/atom1.md
0 → 100644
浏览文件 @
5d6c3e03
# 原子操作
下面关于原子操作的说法正确的是?
## 答案
原子操作可以处理CPU内存的数据
## 选项
### A
原子操作可以处理GPU中global memory的数据.
### B
原子操作可以处理GPU中shared memory的数据.
data/2.CUDA入门中阶/2.原子操作/2.原子操作的适用场景/config.json
浏览文件 @
5d6c3e03
...
@@ -2,7 +2,9 @@
...
@@ -2,7 +2,9 @@
"node_id"
:
"cuda-9e74b1fb163e46bb8cc2e72b3c9990a9"
,
"node_id"
:
"cuda-9e74b1fb163e46bb8cc2e72b3c9990a9"
,
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"export"
:
[],
"export"
:
[
"atom1.md"
],
"keywords_must"
:
[],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.CUDA入门中阶/3.CUDA stream/1.CUDA流的基本概念/config.json
浏览文件 @
5d6c3e03
...
@@ -2,7 +2,9 @@
...
@@ -2,7 +2,9 @@
"node_id"
:
"cuda-a95b22ce131e42979daabc1f2ec82886"
,
"node_id"
:
"cuda-a95b22ce131e42979daabc1f2ec82886"
,
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"export"
:
[],
"export"
:
[
"stream.md"
],
"keywords_must"
:
[],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.CUDA入门中阶/3.CUDA stream/1.CUDA流的基本概念/stream.md
0 → 100644
浏览文件 @
5d6c3e03
# CUDA流
下面关于CUDA流的说法错误的是?
## 答案
CUDA流只能在设备代码中调用执行.
## 选项
### A
流是按顺序执行的命令序列(可能由不同的主机线程发出).
### B
不同的流可能会彼此乱序或同时执行它们的命令.
data/2.CUDA入门中阶/3.CUDA stream/2.默认流与非默认流/config.json
浏览文件 @
5d6c3e03
...
@@ -2,7 +2,9 @@
...
@@ -2,7 +2,9 @@
"node_id"
:
"cuda-93c84af94c154430b93094befb70f5c8"
,
"node_id"
:
"cuda-93c84af94c154430b93094befb70f5c8"
,
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"export"
:
[],
"export"
:
[
"stream1.md"
],
"keywords_must"
:
[],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.CUDA入门中阶/3.CUDA stream/2.默认流与非默认流/stream1.md
0 → 100644
浏览文件 @
5d6c3e03
# CUDA流
下面关于CUDA流的说法是错误的是?
## 答案
调用
`cudaStreamSynchronize()`
函数, 程序会一直等待,直到所有主机线程的所有流中的所有先前命令都完成.
## 选项
### A
未指定任何流参数或等效地将流参数设置为零的内核启动和主机
<->
设备内存拷贝将发布到默认流.
### B
调用
`cudaDeviceSynchronize()`
函数, 程序会一直等待,直到所有主机线程的所有流中的所有先前命令都完成.
data/2.CUDA入门中阶/3.CUDA stream/3.利用CUDA流重叠计算和数据传输/config.json
浏览文件 @
5d6c3e03
...
@@ -2,7 +2,9 @@
...
@@ -2,7 +2,9 @@
"node_id"
:
"cuda-24b5313252644192b40894d9d677a40f"
,
"node_id"
:
"cuda-24b5313252644192b40894d9d677a40f"
,
"keywords"
:
[],
"keywords"
:
[],
"children"
:
[],
"children"
:
[],
"export"
:
[],
"export"
:
[
"stream2.md"
],
"keywords_must"
:
[],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
"keywords_forbid"
:
[]
}
}
\ No newline at end of file
data/2.CUDA入门中阶/3.CUDA stream/3.利用CUDA流重叠计算和数据传输/stream2.md
0 → 100644
浏览文件 @
5d6c3e03
# CUDA流
下面关于CUDA流的说法错误的是?
## 答案
以下设备操作对主机不是异步的:
*
内核启动;
*
内存复制在单个设备的内存中;
*
从主机到设备内存拷贝的内存块大小不超过64kb的;
*
由带有Async后缀的函数执行的内存拷贝;
*
内存设置函数调用。
## 选项
### A
如果主机线程在它们之间发出以下任一操作,则来自不同流的两个命令不能同时运行:
*
页面锁定的主机内存分配,
*
设备内存分配,
*
设备内存设置,
*
两个地址之间的内存拷贝到同一设备内存,
*
对 NULL 流的任何 CUDA 命令,
*
计算能力 3.x 和计算能力 7.x 中描述的 L1/共享内存配置之间的切换。
### B
CUDA 将以下操作公开为可以彼此同时操作的独立任务:
*
在主机上计算;
*
设备上的计算;
*
从主机到设备的内存传输;
*
从设备到主机的内存传输;
*
在给定设备的内存中进行内存传输;
*
设备之间的内存传输。
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录