Skip to content

Latest commit

 

History

History
98 lines (60 loc) · 2.36 KB

ROADMAP.md

File metadata and controls

98 lines (60 loc) · 2.36 KB

Roadmap

Cython backend (beta version)

Less bugs and more Cython features... Note that unfortunately we are limited by Cython bugs!

  • (done) Header also for Pythran (.pythran)

  • (done) Refactore backends "for method"

  • (done) Recompile if header changed

  • (done) test_run.py: also check signature files

  • (done) Fused types rather than more than one signature for

    • (done) boost functions
    • (done) boost methods
    • (done) blocks
    • (done) jit functions
    • (done) jit methods
  • (done) BackendJITCython

  • (done) Check/fix

    • (done) boost methods
    • (done) blocks
    • (done) jit functions
    • (done) jit methods
  • (done) Cython decorators (boundscheck, wraparound, cdivision, nonecheck)

  • (done) void type

  • (done) Correct use of fused types (only 1 set of annotations supported)

  • Special function definitions

    • (done) inline
    • (done) return type
    • nogil
  • better fused types

  • nogil context manager

  • casting

  • locals annotations for

    • boost methods
    • blocks
    • jit functions
    • jit methods
  • "exterior" functions + understand the tests

Better Numba backend

  • numba.jit (not only numba.njit)
  • fastmath argument

transonic.dataclass decorator

It would allow one to use numba.jitclass and Cython extension type.

A interesting goal would be to rewrite pygbm (written in Numba) with Transonic. Note that the Cython translation is here in scikit-learn. Good Rosetta stone!

Backends as Transonic extensions

We can try that with pyccel.

Alternative syntax for blocks

See issue #6

Alternative implementations for specified backends

Which API?

Parallelism

We can already use OpenMP with Transonic-Pythran. But OpenMP pragmas are not understood by the other backends. Numba and Cython use different notations (with prange):

PyCapsule & numba.cfunc