一种基于CPU和GPU的数组代码生成器

loo-v2020的Python项目详细描述


Loopy:基于转换的高性能CPU/GPU代码生成

。。图片::https://gitlab.tiker.net/inducer/loopy/badges/master/pipeline.svg :alt:Gitlab生成状态 :目标:https://gitlab.tiker.net/inducer/loopy/commits/master .. 图片::https://github.com/inducer/loopy/workflows/CI/badge.svg?branch=master&event=push :alt:Github生成状态 :目标:https://github.com/inducer/loopy/actions?query=branch%3Amaster+workflow%3ACI+event%3Apush .. 图片::https://badge.fury.io/py/loo.py.png :alt:Python包索引发布页 :目标:https://pypi.org/project/loo.py/

Loopy允许您轻松地生成所需的冗长、复杂的代码 使gpu和多核cpu获得良好的性能。 Loopy的核心思想是计算应该简单地描述,然后 转换为获得高性能的版本。这种转变 在用户控制下从Python内部执行。在

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

  • OpenCL/CUDA模型中的向量和多核并行性
  • 数据布局转换(数组结构到结构数组)
  • 循环展开
  • 有效处理边界情况的循环平铺
  • 预取/复制优化
  • 指令级并行
  • 还有更多

循环目标数组类型计算,例如:

  • 稠密线性代数
  • 卷积
  • n体相互作用
  • PDE解算器,如有限元、有限差分和 快速多极型计算

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

Loopy是根据自由MIT license <http://en.wikipedia.org/wiki/MIT_License>授权的,商业、学术免费, 以及私人使用。Loopy的所有依赖项都可以从 使用后的包索引:

pip install loo.py

此外,Loopy与 pyopencl <http://mathema.tician.de/software/pyopencl>。在


网络上与Loopy相关的位置:

  • Python package index <http://pypi.python.org/pypi/loo.py>}(下载版本)注意PyPI标识符中额外的“.”!在

  • Documentation <http://documen.tician.de/loopy>}(阅读事物的工作原理)

  • Github <http://github.com/inducer/loopy>\u(获取最新源代码,文件错误)

  • Wiki <http://wiki.tiker.net/Loopy>}(阅读安装技巧,获取示例,阅读常见问题解答)

  • Homepage <http://mathema.tician.de/software/loopy>

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么这个循环打印1020之间的所有值?我想让它打印出可以被5整除的值   java如何在JTable中集中单元格   java无法通过一个键从hashmap获取对象,该键具有相同的hashcode,并且两个键等于()   不兼容的类型?JAVA   将字符串开头与空格匹配时java replaceAll的正则表达式混淆结果   java为非java应用程序创建jar文件。类文件   java无法从另一个普通Http Servlet访问筛选器Servlet的会话属性   java Ejb,第二个方法中的错误回滚第一个方法   swing java操作侦听器在菜单上,而不是在菜单项上   分析文件时出错:分析文件时出错:无法在Java的XSSF中分析excel文件   java将实体注入到ViewScope Bean中   java如何关闭终端而不终止正在运行的jar文件进程   爪哇力下传   java不能隐式地将[T]强制转换为AT,其中[T]扩展为AT   java Spring项目在jsp页面中显示mysql表数据   java在创建新实例SQLITE时出错