Loading...
Please wait, while we are loading the content...
Similar Documents
PeachPy meets Opcodes: direct machine code generation from Python
| Content Provider | ACM Digital Library |
|---|---|
| Author | Dukhan, Marat |
| Abstract | We introduce Opcodes, a Python package which presents x86 and x86-64 instruction sets as a set of high-level objects. Opcodes provides information about instruction names, implicit and explicit operands, and instruction encoding. We use the Opcodes package to auto-generate instruction classes for PeachPy, an x86-64 assembler embedded in Python, and enable new functionality. The new PeachPy functionality lets low-level optimization experts write high-performance assembly kernels in Python, load them as callable Python functions, test the kernels using numpy and generate object files for Windows, Linux, and Mac OS X entirely within Python. Additionally, the new PeachPy can generate and run assembly code inside Chromium-based browsers by leveraging Native Client technology. Beyond that, PeachPy gained ability to target Google Go toolchain, by generating either source listing for Go assembler, or object files that can be linked with Go toolchain. With backends for Windows, Linux, Mac OS X, Native Client, and Go, PeachPy is the most portable way to write high-performance kernels for x86-64 architecture. |
| Starting Page | 1 |
| Ending Page | 6 |
| Page Count | 6 |
| File Format | |
| ISBN | 9781450340106 |
| DOI | 10.1145/2835857.2835860 |
| Language | English |
| Publisher | Association for Computing Machinery (ACM) |
| Publisher Date | 2015-11-15 |
| Publisher Place | New York |
| Access Restriction | Subscribed |
| Subject Keyword | Domain-specific language Opcode Assembly |
| Content Type | Text |
| Resource Type | Article |