Metadata-Version: 2.4
Name: opencl-interface
Version: 1.0.1
Summary: Python interface for generating and executing OpenCL kernels
Author-email: Giacomo Battaglia <gia.battag@gmail.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/giabattag/opencl-interface
Project-URL: Documentation, https://github.com/giabattag/opencl-interface
Project-URL: Repository, https://github.com/giabattag/opencl-interface
Project-URL: Issues, https://github.com/giabattag/opencl-interface/issues
Keywords: opencl,gpu,onnx,neural-networks,machine-learning
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy
Requires-Dist: onnx
Requires-Dist: onnxsim
Dynamic: license-file

# OpenCL Interface

[OpenCL Interface](https://github.com/giabattag/opencl-interface): run custom OpenCL (and CUDA) kernels and neural networks converted from ONNX format.

## Features

- Platform-agnostic OpenCL compilation with [PyOpenCL](https://pypi.org/project/pyopencl)
- Supported numerical formats: single, double, quantized fixed-precision, posit
- \[Beta\] ONNX model conversion using [onnx2ocl](onnx2ocl/onnx2ocl.py) module
- \[Beta\] Seamless CUDA compilation with nvcc with respect to OpenCL-written kernel (i.e., no modification of original OpenCL code)

## Install

From [Pypi](https://pypi.org/project/opencl-interface):

```bash
pip install opencl-interface
```

From [Github](https://pypi.org/project/opencl-interface):

```bash
git clone git@github.com:giabattag/opencl-interface.git
cd opencl-interface
pip install -e .
```

Requirements:
- python >= 3.8
- numpy
- onnx
- onnxsim
- \[Optional\] pyopencl
- \[Optional\] pycuda

## Quick start

You can try looking at the file [example.py](https://github.com/giabattag/opencl-interface/blob/main/example.py).

## Contributing

Contributions are welcome via Pull Requests or in form of Issues.

## License

This project is licensed under MIT License.

## Citation

Please cite this project using [CITATION.cff](https://github.com/giabattag/opencl-interface/blob/main/CITATION.cff).
