Authors:
Nikita Shiledarbaxi, Software Product Marketing Engineer, Intel
Rob Mueller-Albrecht, Software Product Marketing Manager, Intel
Developers extensively use Python* programming language in a wide range of fields – the most crucial ones being AI/ML, Data Science and Analytics. Developing real-world applications in these fields becomes significantly easier and faster with the help of different Python libraries dedicated to different aspects of workloads such as numerical computations, data processing, data visualization, model training and inference, and more. What if your Python applications can be supercharged by the SYCL* framework for seamless execution on hardware accelerators like GPUs and FPGAs? PySYCL, an open-source project developed by an Intel® oneAPI Innovator, Osman El-Ghotmi, is one such solution that allows Python applications to leverage the heterogeneous computing capabilities of SYCL.
PySYCL Project: An Overview
PySYCL is a numerical library that provides a Python interface for SYCL programming. Its seamless integration with popular Python libraries such as NumPy*, Matplotlib* and PyTorch* helps accelerate functions of these libraries and enable their parallel execution across diverse hardware architectures without vendor lock. You can leverage the full set of available platforms components, CPUs, GPUs and accelerators and scale your Python application seamlessly across different configurations for wide deployment.
Why PySYCL?
Here are some interesting features of PySYCL:
- Follows Pythonic syntax: PySYCL follows syntax resembling that of Python. This makes it easier for the huge Python developers' community to utilize the library's power with familiar syntax.
- Accelerates numerical computations: With integrated SYCL capabilities, PySYCL helps you significantly expedite numerical algorithms in the Python codebase.
- Provides easy-to-use modules: PySYCL provides simple modules that can be easily integrated into Python applications for parallel programming.
- Exploits hardware accelerators: PySYCL eliminates the complexities of GPU programming. It provides an easy-to-handle Python interface combined with the SYCL framework’s capabilities to target CPUs, GPUs, FPGAs, and other hardware accelerators.
Learn More About PySYCL
The step-by-step instructions to install the PySYCL library are available on GitHub.
The project provides comprehensive modules for various numerical computations such as linear algebra, Fast Fourier Transform (FFT), vector math and matrix operations. The reference code for each module has been documented in the PySYCL user guide. Also, check out source codes and sample implementations of all the modules on GitHub.
Developers interested in gaining in-depth understanding of the modules, namespaces, classes and files of the project and/or contributing to the project’s codebase should dig into the PySYCL developer guide.
About the Intel oneAPI Innovator
Osman El-Ghotmi is an Intel® Innovator currently pursuing Master of Applied Science degree at the University of Ottawa, Canada. He is the founding contributor and lead developer of the PySYCL project. His research group at the University of Ottawa also employs SYCL for solving hyperbolic partial differential equations (PDEs) on heterogeneous architectures.
→ Learn about all the oneAPI Innovators and their amazing contributions here. |
What's Next?
Get started with the PySYCL library to incorporate multiarchitecture parallel programming capabilities of SYCL into your Python applications for accelerated numerical computations in machine learning and data science use cases.
We encourage you to explore AI, HPC, and Rendering tools in Intel’s oneAPI-powered software portfolio.
Useful Resources
- Intel oneAPI programming model
- Intel Innovator Program for oneAPI
- Essentials of SYCL
- Explore SYCL with samples from Intel
- Jumpstart AI development
- Machine learning development
"Python" is a registered trademark of the PSF. The Python logos (in several variants) are use trademarks of the PSF as well.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.