跳转到主要内容

适用于CPU和GPU上基于数组的代码的代码生成器

项目描述

Gitlab Build Status Github Build Status Python Package Index Release Page

Loopy让您轻松生成从GPU和多核CPU中获取良好性能所需的繁琐、复杂的代码。Loopy的核心思想是计算应简单描述,然后转换为高性能版本。这种转换在用户控制下进行,在Python内部进行。

它可以捕获以下类型的优化

  • OpenCL/CUDA模型中的矢量和多核并行性

  • 数据布局转换(数组结构到结构数组的结构)

  • 循环展开

  • 循环分割,有效处理边界情况

  • 预取/复制优化

  • 指令级并行性

  • 等等

Loopy针对数组类型计算,如下所示

  • 稠密线性代数

  • 卷积

  • n体相互作用

  • 偏微分方程(PDE)求解器,如有限元、有限差分和快速多重极子型计算

它不是(也不想成为)一种通用编程语言。

Loopy在宽松的MIT许可证下发布,并可免费用于商业、学术和个人用途。Loopy的所有依赖项都可以在安装后从包索引中自动安装

pip install loopy

此外,Loopy与pyopencl兼容,并增强了其功能。

与Loopy相关的网络位置

由以下支持