This is a quick proof of concept of using the LLVM JIT compiler as
Python's extension module loader. This implelentation completely
replaces the standard extension module framework, so regular extension
modules cannot be loaded. It would not be too difficult to extend the
patch to allow loading both LLVM bitcode (.bc
) and regular extension
(.so
) modules.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> | |
<html><head> | |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | |
</head><body> | |
<p>Python 2.7.3 (default, Aug 1 2012, 05:14:39) </p> | |
<p>Type "copyright", "credits" or "license" for more information.</p> | |
<p><br /></p> | |
<p>IPython 0.14.dev -- An enhanced Interactive Python.</p> | |
<p>? -> Introduction and overview of IPython's features.</p> | |
<p>%quickref -> Quick reference.</p> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ LLVM_CONFIG_PATH=llvm-config-3.1 python setup.py build | |
LLVM version = 3.1 | |
Generate intrinsic IDs | |
Using PTX | |
running build | |
running build_py | |
creating build | |
creating build/lib.linux-x86_64-2.7 | |
creating build/lib.linux-x86_64-2.7/llvm | |
copying llvm/__init__.py -> build/lib.linux-x86_64-2.7/llvm |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
*.py[oc] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
"""Property decorator for the `__doc__` attribute. | |
Useful for when you want a custom docstring for class instances | |
while still showing a generic docstring for the class itself. | |
A naive attempt using `@property` generally breaks Sphinx as | |
`cls.__doc__` returns the property object itself, and not a string. | |
See the documentation for `docstring_property` for an example. | |
""" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include "umfpack.h" | |
/** | |
* Smart pointer versions of the typical "void *Numeric" and | |
* "void *Symbolic" defintions. | |
* | |
* For example: | |
* umfpack_dl_numeric_ptr Numeric; | |
* umfpack_dl_numeric(..., &Numeric, ...); | |
* // No call to umfpack_dl_free_numeric required, as it is |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
import re | |
import requests | |
html = requests.get('http://wiki.ipython.org/Special:AllPages') | |
all_pages_table = re.search('<table class="mw-allpages-table-chunk">(.*)</table>', | |
html.content, re.DOTALL).group() | |
titles = re.findall(r'title="([^"]*?)"', all_pages_table) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'formula' | |
class Scalapack < Formula | |
homepage 'http://www.netlib.org/scalapack/' | |
url 'http://www.netlib.org/scalapack/scalapack-2.0.2.tgz' | |
sha1 'ff9532120c2cffa79aef5e4c2f38777c6a1f3e6a' | |
option 'test', 'Verify the build with make test' | |
option 'with-openblas', "Use openblas instead of Apple's Accelerate.framework" |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.