JAKL-另一个内核启动器
Just Another Kernel Launcher(JAKL)是一个C ++库,该库使用从 , 和提取的元素来实现异步内核启动器。 JAKL需要C ++ 17标准兼容的编译器和OpenMP 4.5支持,以支持多核CPU或卸载到GPU设备。
要求
JAKL是一个独立的库,仅需要支持C ++ 17标准的C ++编译器。 为了利用CPU上的共享内存并行处理,编译器还需要支持OpenMP 4.5指令。 如果用户希望将计算卸载到设备(GPU等),则编译器需要支持该设备基于OpenMP 4.5目标的指令。
简单的例子
矩阵乘法
# include " jakl.hpp "
# include < vector>
int main () {
using size_type = std:: size_t ;
using value_type = double ;