9.0版本的变更
1)__global__函数不能重载。
2)
3)
4)CUDA环境变量增加CUDA_ENABLE_CRC_CHECK。
5)扭曲矩阵函数支持矩阵乘积:m=32, n=8, k=16;m=8, n=32, k=16;m=n=k=16。
6)增加新的统一内存节:系统分配器,硬件相干性,访问计数器。
市场对于实时,高清3D图形,可编程图形处理单元或者GPU的强烈需求,衍生出拥有巨大计算能力以及特别高内存带宽的高并行,多线程,多核处理器。
CPU和GPU的浮点计算能力之所以相差这么大,是因为GPU是专门为了计算密集型,高并行计算而设计的,例如图形渲染。因此,GPU会有更多的晶体管用于数据处理,而不是数据缓存和控制流。
核
// Kernel definition __global__ void VecAdd(float* A, float* B, float* C) { int i = threadIdx.x; C[i] = A[i] + B[i]; } int main() { ... // Kernel invocation with N threads VecAdd<<<1, N>>>(A, B, C); ... }
参考链接:
https://docs.nvidia.com/cuda/pdf/CUDA_C_Programming_Guide.pdf