This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Linear Algebra Using Mali 450

Hello i'm new to GPU and Computer vision. I just know some basic mathematics and was looking for the smallest and lightest processor with enough computation power to calculate large matrix multiplication and inversion so that i could do Computer Vision, Machine Learning, Neural Network, Intelligent and Advance Control techniques, Optimization and so on.

I am about to build a very small and low weight Quad-Rotor That should be intelligent Enough so it needs a powerful processor so I'v found this board :

Orange pi zero plus 2 (Allwinner H5 processor with quad cortex A53 core and 6 Mali 450 shader unit)

The CPU is well powerful Enough but i was wondering if its possible to do some algebraic calculations like matrix multiplication and inversion using the mali 450 GPU. is it possible?

i know that it only supports OpenGL not OpenCL. But is it possible to use OpenGL to do matrix calculation?

can i access GPU directly and force it to do mathematical calculations? Then i would write my own Libraries.

I'm quite familiar with arm cortex M series and Register Based Programming.

The most critical Application for me is Computer Vision. I could do the rest using CPU alone but it would be awesome if i could use this powerful 40GFlops GPU for Advanced Control techniques.

Parents
  • The only means to program the Mali-450 GPU is via the OpenGL ES 2.x graphics API, so you'll need to write a graphics shader program which reads input from an RGBA data texture or a gemetry mesh, and writes results back to an image in memory, and then interpret that as a data payload.

    The main limitation for OpenGL ES 2.x is the limited set of data formats you have to play with- 8-bit per color channel unorm (unsigned normalized) color data is the highest-precision as you are going to get. You can pack fp16 data into two channels, but it starts costing you some cycles.

    You'd have more luck with our newer Mali-Txxx and Mali-Gxx series products, which can support OpenGL ES 3.x (Mali-T760 onwards supports writing to floating point textures in memory with recent drivers), and OpenCL (although note platform support varies by vendor, not all vendors will supply OpenCL drivers).

    HTH,
    Pete

Reply
  • The only means to program the Mali-450 GPU is via the OpenGL ES 2.x graphics API, so you'll need to write a graphics shader program which reads input from an RGBA data texture or a gemetry mesh, and writes results back to an image in memory, and then interpret that as a data payload.

    The main limitation for OpenGL ES 2.x is the limited set of data formats you have to play with- 8-bit per color channel unorm (unsigned normalized) color data is the highest-precision as you are going to get. You can pack fp16 data into two channels, but it starts costing you some cycles.

    You'd have more luck with our newer Mali-Txxx and Mali-Gxx series products, which can support OpenGL ES 3.x (Mali-T760 onwards supports writing to floating point textures in memory with recent drivers), and OpenCL (although note platform support varies by vendor, not all vendors will supply OpenCL drivers).

    HTH,
    Pete

Children
No data