No project description provided
Project description
f2py-jit
Just-in-time compilation of fortran code in python (via f2py).
Quick start
Start from a piece of Fortran code.f90
subroutine hello()
print*, "Hello world!"
end subroutine hello
Compile the code, import it and execute it
from f2py_jit import jit
f90 = jit('code.f90')
f90.hello()
Do the same but from a python string containing the source block
source = """
subroutine hello()
print*, "Hello world!"
end subroutine hello
"""
f90 = jit(source)
f90.hello()
If the fortran 90 source contains multiple subroutines calling one another, f2py
will not perform interprocedural optimizations (at least not by default). f2py_jit
can inline the source code before compiling it, and you should get a little performace boost [This feature is experimental, check the results]
from f2py_jit import jit, inline
f90 = jit(inline('code.f90'))
f90.hello()
Features
- Compilation of source blocks as python strings
- Caching of modules build across executions
- Optional inlining of Fortran code to improve performance (experimental)
Dependencies
- numpy
Installation
The easiest way to install f2py-jit is with pip
pip install f2py-jit
Alternately, you can clone the code repository and install from source
git clone https://framagit.org/coslo/f2py-jit.git
cd f2py_jit
make install
Authors
Daniele Coslovich: https://www.units.it/daniele.coslovich/
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.