主要内容

设计模式

GPU编码器™ 支持一万博1manbetx些有效映射到GPU结构的设计模式。

模板处理

模具内核操作将输出数组的每个元素计算为输入数组小区域的函数。可以将许多过滤操作表示为模具操作。示例包括卷积、中值滤波和有限元方法。

在模具内核的GPU编码器实现中,每个线程计算输出数组的一个元素。由于给定的输入元素被重复访问以计算多个相邻的输出元素,GPU编码器使用共享内存来提高内存带宽和数据局部性。

使用gpucoder.stencilKernel功能和创建CUDA®模具函数的代码。有关演示模具预处理的示例,请参阅基于GPU的模板处理.

对于非常大的输入大小gpucoder.stencilKernel函数可能会生成与MATLAB数值不匹配的CUDA代码®在这种情况下,考虑减少输入的大小以产生精确的结果。

矩阵处理

许多科学应用包含矩阵运算,包括通用矩阵到矩阵乘法(GEMM),形式如下C=AB在这里你可以选择转置A.B.此类矩阵运算的代码通常采用以下模式:

对于x=1:M对于y=1:N对于z=1:kc(x,y)=F(A(x,z),B(z,y));终止终止终止

哪里F()是一个用户定义的函数。在这些操作中,一个输入矩阵中的一行和第二个输入矩阵中的一列用于计算输出矩阵的相应元素。每个线程重新加载该行和列。此设计模式允许通过重用数据和使每个线程计算多个输出e来优化此结构元素。

例如F()可以是正则矩阵乘法,F()=@mtimes。对于此类模式,GPU编码器提供矩阵矩阵内核在GPU上创建高效、快速的矩阵运算实现。

使用gpucoder.matrixMatrix内核函数并创建用于执行矩阵类型操作的CUDA代码。

另见

||||

相关实例

更多关于