sdiehl / Numpile
Licence: mit
A tiny 1000 line LLVM-based numeric specializer for scientific Python code.
Stars: ✭ 341
Programming Languages
python
139335 projects - #7 most used programming language
Projects that are alternatives of or similar to Numpile
Python Lectures
IPython Notebooks to learn Python
Stars: ✭ 355 (+4.11%)
Mutual labels: jupyter-notebook, tutorial, ipython-notebook
Cryptocurrency Analysis Python
Open-Source Tutorial For Analyzing and Visualizing Cryptocurrency Data
Stars: ✭ 278 (-18.48%)
Mutual labels: jupyter-notebook, tutorial
Generative models tutorial with demo
Generative Models Tutorial with Demo: Bayesian Classifier Sampling, Variational Auto Encoder (VAE), Generative Adversial Networks (GANs), Popular GANs Architectures, Auto-Regressive Models, Important Generative Model Papers, Courses, etc..
Stars: ✭ 276 (-19.06%)
Mutual labels: jupyter-notebook, tutorial
Scikit Learn Videos
Jupyter notebooks from the scikit-learn video series
Stars: ✭ 3,254 (+854.25%)
Mutual labels: jupyter-notebook, tutorial
Notebooks Statistics And Machinelearning
Jupyter Notebooks from the old UnsupervisedLearning.com (RIP) machine learning and statistics blog
Stars: ✭ 270 (-20.82%)
Mutual labels: jupyter-notebook, ipython-notebook
Pytorch Image Classification
Tutorials on how to implement a few key architectures for image classification using PyTorch and TorchVision.
Stars: ✭ 272 (-20.23%)
Mutual labels: jupyter-notebook, tutorial
100 Days Of Ml Code
100-Days-Of-ML-Code中文版
Stars: ✭ 16,797 (+4825.81%)
Mutual labels: jupyter-notebook, tutorial
Geopandas Tutorial
Tutorial on geospatial data manipulation with Python
Stars: ✭ 306 (-10.26%)
Mutual labels: jupyter-notebook, tutorial
Sars tutorial
Repository for the tutorial on Sequence-Aware Recommender Systems held at TheWebConf 2019 and ACM RecSys 2018
Stars: ✭ 320 (-6.16%)
Mutual labels: jupyter-notebook, tutorial
Vscodejupyter
Jupyter for Visual Studio Code
Stars: ✭ 337 (-1.17%)
Mutual labels: jupyter-notebook, ipython-notebook
Deep Learning Keras Tensorflow
Introduction to Deep Neural Networks with Keras and Tensorflow
Stars: ✭ 2,868 (+741.06%)
Mutual labels: jupyter-notebook, tutorial
Understanding Nn
Tensorflow tutorial for various Deep Neural Network visualization techniques
Stars: ✭ 261 (-23.46%)
Mutual labels: jupyter-notebook, tutorial
Generative Adversarial Networks
Tutorial on GANs
Stars: ✭ 275 (-19.35%)
Mutual labels: jupyter-notebook, tutorial
Lightbeam
Lightbeam has moved and now lives in the Wasmtime repository!
Stars: ✭ 253 (-25.81%)
Mutual labels: compiler, jit
Openj9
Eclipse OpenJ9: A Java Virtual Machine for OpenJDK that's optimized for small footprint, fast start-up, and high throughput. Builds on Eclipse OMR (https://github.com/eclipse/omr) and combines with the Extensions for OpenJDK for OpenJ9 repo.
Stars: ✭ 2,802 (+721.7%)
Mutual labels: compiler, jit
Enso Archive
Looking for Enso, the visual programming language? ➡️ https://github.com/enso-org/enso
Stars: ✭ 305 (-10.56%)
Mutual labels: compiler, jit
Numpile
A tiny 1000 line LLVM-based numeric specializer for scientific Python code.
You really shouldn't use this for anything serious, it's just to demonstrate how you might build one of these things from scratch. There's a lot of untapped potential and low hanging fruit around selective embedded JIT specialization for array expression languages in the SciPython space.
Installing
Numpile requires numpy
and llvmlite
(the latter includes needed
LLVM libraries). You can either try to install them using your OS package
manager, or alternatively, using pip
:
$ pip install llvmlite
$ pip install numpy
Usage
import numpy as np
from numpile import autojit
@autojit
def dot(a, b):
c = 0
n = a.shape[0]
for i in range(n):
c += a[i] * b[i]
return c
a = np.arange(100, 200, dtype='int32')
b = np.arange(300, 400, dtype='int32')
result = dot(a, b)
print(result)
License
Released under the MIT License. Copyright (c) 2015, Stephen Diehl
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].