Welcome to Clyther’s documentation! — Clyther 0.2.0-beta documentation

### Navigation

- index
- modules |
- next |
- Clyther 0.2.0-beta documentation »

# Welcome to Clyther’s documentation!

CLyther is a Python tool similar to Cython and PyPy. CLyther is a just-in-time specialization engine for OpenCL. The main entry points for CLyther are its `clyther.task` and `clyther.kernel` decorators. Once a function is decorated with one of these the function will be compiled to OpenCL when called.

CLyther is a Python language extension that makes writing OpenCL code as easy as Python itself. CLyther currently only supports a subset of the Python language definition but adds many new features to OpenCL.

CLyther exposes both the OpenCL C library as well as the OpenCL language to python.

Objectives:
  - Make it easy for developers to take advantage of OpenCL
  - Take advantage existing Python numerical algorithms
  - Accelerate my code!
Philosophy:
  - Enable users to have 100% control via Python. Access one to one mapping from Python to OpenCL.
  - Endorse native Python abstractions for convenience. e.g. Slice an array, pass a function as an argument.

Warning

This is a brand new version of CLyther. I have not released this yet.

- If you do decide to use it then please think about Contributing.
- The best place to add your input to the Issue Tracker.

## Links:

- Homepage
- Issue Tracker
- Development documentation
- PyPi
- Github
- OpenCL 1.1 spec

See also

- OpenCL for Python: Python bindings for OpenCL.
- Meta: Metaprogramming utilities for Python.

## Contents:

- Getting Started
  - easy_install
  - Prerequisites
  - Download
  - Build
  - Test
- Examples
  - Arrays
  - UFuncs
  - Kernels
  - Exec
  - Compile to OpenCL source
  - cl_object
- Performance Python
  - A beginners guide to using Python for performance computing
  - Introduction
  - Problem description
  - Task Parallel Solution
  - Data Parallel Solution
  - Performance Results
- CLyther for NumPy Users
- API
  - clyther
  - clyther.runtime
  - clyther.array
  - clyther.runtime
  - clyther.rttt
  - clyther.pipeline
- Contributing
  - OpenCL built-ins
  - Errors
  - Transformation Pipeline
  - CLyther.array
  - Documentation
- Roadmap
  - 1.0 Release
  - Possible Extensions
- License

# Indices and tables

- Index
- Module Index
- Search Page

### Navigation

- index
- modules |
- next |
- Clyther 0.2.0-beta documentation »