一种基于CPU和GPU的数组代码生成器
looo.p的Python项目详细描述
Loopy允许您轻松地生成所需的冗长、复杂的代码 使gpu和多核cpu获得良好的性能。 Loopy的核心思想是计算应该简单地描述,然后 将转换为获得高性能的版本。这种转变 在用户控制下从Python内部执行。在
它可以捕获以下类型的优化:
- OpenCL/CUDA模型中的向量和多核并行性
- 数据布局转换(数组结构到结构数组)
- 循环展开
- 有效处理边界情况的循环平铺
- 预取/复制优化
- 指令级并行
- 还有更多
循环目标数组类型计算,例如:
- 稠密线性代数
- 卷积
- n体相互作用
- PDE解算器,如有限元、有限差分和 快速多极型计算
它不是(也不想成为)通用编程语言。在
Loopy根据自由MIT license授权,商业、学术免费, 以及私人使用。Loopy的所有依赖项都可以从 使用后的包索引:
pip install loo.py
此外,Loopy与 pyopencl。在
-
网络上与Loopy相关的位置:
- Python package index(下载版本)注意PyPI标识符中额外的“.”!在
- Documentation(阅读事物的工作原理)
- Github(获取最新源代码,文件错误)
- Wiki(阅读安装提示,获取示例,阅读常见问题解答)
- Homepage
- 项目
标签: