Numba <http://numba.pydata.org/> is an LLVM-based compiler that targets 
pure Python functions operating on NumPy arrays. It is used for numerical 
computing.

I am currently trying to compile with emscripten LLVM IR code generated by 
Numba. The goal is to explore whether numerical computing functions written 
in Python can be compiled to JavaScript to run in the browser. I've been 
running into some bugs, as described in this Numba issue 
<https://github.com/numba/numba/issues/993>.

While scalar functions seem to work, functions that involve NumPy arrays 
are not compiled successfully. So far, the issues seem to relate to structs 
like { i8*, i64, i64, i32*, [1 x i64], [1 x i64] }, more particularly with 
the last two nested arrays (they contain the strides and shape of an array).

I have two questions:

1. Are there plans to fix in emscripten/PNaCl the two issues I've had so 
far? (see link above: "ExpandStructRegs does not handle nested structs" and 
"Unrecognized struct value" errors) It seems that other users have reported 
those issues in different situations. The alternative would be to tweak 
Numba so that its generated LLVM code can be compiled by emscripten.

2. This leads me to a more general question: is there any interest for the 
emscripten/PNaCl projects to be a compile target for a scientific library 
like Numba?

Best,
Cyrille

PS: I'm using the merge-pnacl-3.5 branches of emscripten-fastcomp and 
clang, and the merge-3.5 branch of emscripten.

-- 
You received this message because you are subscribed to the Google Groups 
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to