Linux复习
操作系统的作用:
- 是最重要的系统软件。
- 是计算机硬件上的第一层软件。
- 其主要作用便于更好的管理硬件设备,并为用户和应用程序提供一个简单的接口。
Ubuntu目录结构:
CUDA程序的编写
把输入数据从CPU内存中复制到GPU的显存中去,并在在执行芯片上缓存数据,加载GPU程序并执行,最后将计算结果从GPU显存中复制到CPU内存中。
__global__函数:
1.在设备上执行
2.可从主机调用
3.必须有void返回类型,并且不能是类的成员
4.对__global__函数的任何调用都必须指定其执行配置
__device__函数:
1.在设备上执行
2.只能从设备调用
3.__global__和__device__执行空间说明符不能一起使用
__host__函数:
1.在主机上执行
2.只能从主机调用
3.__global__和__host__执行空间说明符不能一起使用
注:__device__和__host__执行空间说明符可以一起使用,在此情况下,该函数为主机和设备编译的
CUDA线程层次:
Thread:
- 所有线程执行相同的核函数
- 并行执行
Thread Block:
- 执行在一个SM中
- 同一个Block中的线程可以协作
Thread Grid:
- 一个Grid当中的Block可以在多个SM中执行
实验代码:
#include <stdio.h>
__global__ void hello_from_gpu()
{
printf("Hello World from the GPU!\n");
}
int main(void)
{
hello_from_gpu<<<1, 1>>>();
cudaDeviceSynchronize();
return 0;
}
总结:
复习巩固了linux相关基础知识,对CUDA进行了初步的了解