Level 1 用于基本算法性能,例如 FFT、向量点积和筛选操作。
广度优先搜索(BFS):BFS 是一种对树进行完全遍历的搜索算法,在 SHOC 中的 BFS 测试采用了两种实现,分别来自斯坦福大学和伊利诺伊大学香槟分校(UIUC),SHOC 对这些算法进行了一些修改,使其可以适用满足正确性和多平台兼容性。测试的精度没有特别要求,“图(或者说关系树)”数据是无符号整型。
快速傅里叶转换(FFT):测量单精度和双精度快速傅里叶转换的性能。
分子动力学(Molecular Dynamics,MD):测量进行分子动力学中的兰纳-琼斯势性能,该测试采用了在像 LAMMPS 应用中成品级 MD 代码所使用的 neighbor-list 算法。数据类型有单精度和双精度。
归约(Reduction):用于测量大规模浮点加运算规约的性能。
并行前缀求和(Scan):测量对大规模浮点矩阵执行并行前缀求和的性能。
广义矩阵乘法(GEMM):测量 GEMM BLAS 性能,单精度。
排序(Sort):测量无符号数矩阵基数排序性能。
稀疏矩阵向量乘(SPMV):测量多种算法和数据结构下的稀疏矩阵向量乘法性能。
Stencil2d:测量对一个二维的 9 点单精度 stencil 执行计算的性能(包括 PCIe 传输)。
Triad:就是 Stream 中 Triad 的 OpenCL 版本,所谓的 Triad 就是把 copy、Scale、Add 三种操作组合起来进行测试,采用单精度执行计算。
Level 2,测试真实应用中采用的内核性能:
S3D:在一个标准三维栅格上测量遄流燃烧求解器计算的性能,这是一个浮点计算密集型的应用测试,栅格中每个栅格点的计算需要执行 10000 次浮点操作,这些栅格点都对应到 OpenCL 设备中一个的 work-item。
推荐经销商