[Numpy-discussion] Numpy support for Microblaze

Frederic Bastien fbastien at nvidia.com
Fri Jan 10 08:32:54 EST 2020

I like your breakdown. But the fact that it is a softcore is not related. We do not need to compile it to an HDL.
We need it to be compiled to the binary format that the Microblaze support.

Now, after one full version is working as a software, it is possible to optimize part of NumPy by having those part synthesized to hardware.
But from my understanding, it wasn't the question. This would be a bigger effort and I suppose there is no guide from NumPy on how to do this.


-----Original Message-----
From: NumPy-Discussion <numpy-discussion-bounces+fbastien=nvidia.com at python.org> On Behalf Of Matti Picus
Sent: Thursday, January 9, 2020 5:34 PM
To: numpy-discussion at python.org
Subject: Re: [Numpy-discussion] Numpy support for Microblaze

External email: Use caution opening links or attachments

On 9/1/20 10:03 pm, pnp wrote:
> Are there some steps to add support to a new cpu such as microblaze?
> Regards.
> --
> Sent from: http://numpy-discussion.10968.n7.nabble.com/
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at python.org
> https://mail.python.org/mailman/listinfo/numpy-discussion

I don't think we have a documented procedure for adding a new CPU
architecture: it is not that common.

The microblaze is a soft core built in HDL, targeting an FPGA. I would try to break the question into three parts:

- Does the python support for the microblaze implement any the Python C-API?

- Does the C compiler for microblase support enough of the c99 language so that NumPy can be synthesized?

and once NumPy is running:

- Are there acceleration libraries that could supply a BLAS-like interface?

My approach would be to "make it run" then "make it fast", but I doubt the high-level (c) tools are up to the task of sythesizing the NumPy C code to HDL without alot of work.

It might be better to approach this task in a different direction: take one of the NumPy-like projects (CuPy might be a good starting point) and rewrite the C code parts in a way that can be synthesized.


NumPy-Discussion mailing list
NumPy-Discussion at python.org
This email message is for the sole use of the intended recipient(s) and may contain
confidential information.  Any unauthorized review, use, disclosure or distribution
is prohibited.  If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.

More information about the NumPy-Discussion mailing list