ENH: Proposal to add KML_BLAS support

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

ENH: Proposal to add KML_BLAS support

ChunLin Fang
  Hi all,
    Whether you're running apps on your phone or the world's fastest supercomputer, you're most likely running ARM. Many major events have occurred related to ARM archtecture:
  • Apple may have done the most to make ARM relatively relevant in popular culture with its new ARM-based M1 processor.
  • Amazon Web Services launched its Graviton2 processors based on the Arm architecture , which promise up to 40% better performance from comparable x86-based instances for 20% less.
  • Microsoft currently uses Arm-based chips from Qualcomm in some of its Surface PCs.
  • Huawei unveiled a new chipset called the Kunpeng based on ARM, designed to go into its new TaiShan servers, in a bid to boost its nascent cloud business.
     So It's obvious that ARM will become more and more popular in the future, Since Intel MKL has provide good accelerate support for X86-based chips, Huawei also published KML_BLAS(kunpeng math library blas) that can make full advantage of ARM-based chips,  KML_BLAS is a mathematical library for basic linear algebra operations. it provides three levels of high-performance vector operations: vector-vector operations, vector-matrix operations, and matrix-matrix operations. The performance advantage is shown in the attachment compared with OpenBlas. Can we add KML_BLAS support to numpy?

Cheers, 
Chunlin Fang(github ID:Qiyu8)

_______________________________________________
NumPy-Discussion mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/numpy-discussion
Reply | Threaded
Open this post in threaded view
|

Re: ENH: Proposal to add KML_BLAS support

mattip
Administrator

On 2/22/21 2:13 PM, ChunLin Fang wrote:

  Hi all,
    Whether you're running apps on your phone or the world's fastest supercomputer, you're most likely running ARM. Many major events have occurred related to ARM archtecture:
  • Apple may have done the most to make ARM relatively relevant in popular culture with its new ARM-based M1 processor.
  • Amazon Web Services launched its Graviton2 processors based on the Arm architecture , which promise up to 40% better performance from comparable x86-based instances for 20% less.
  • Microsoft currently uses Arm-based chips from Qualcomm in some of its Surface PCs.
  • Huawei unveiled a new chipset called the Kunpeng based on ARM, designed to go into its new TaiShan servers, in a bid to boost its nascent cloud business.
     So It's obvious that ARM will become more and more popular in the future, Since Intel MKL has provide good accelerate support for X86-based chips, Huawei also published KML_BLAS(kunpeng math library blas) that can make full advantage of ARM-based chips,  KML_BLAS is a mathematical library for basic linear algebra operations. it provides three levels of high-performance vector operations: vector-vector operations, vector-matrix operations, and matrix-matrix operations. The performance advantage is shown in the attachment compared with OpenBlas. Can we add KML_BLAS support to numpy?

Cheers, 
Chunlin Fang(github ID:Qiyu8)


Thanks, I hadn't heard of this library before. I am a bit confused as to the link: did you mean this? https://www.huaweicloud.com/kunpeng/software/KML_BLAS.html


Is there something beyond choosing KML_BLAS in the site.cfg file that needs to be done to support it? What is the license/redistribution policy?

Matti



_______________________________________________
NumPy-Discussion mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/numpy-discussion
Reply | Threaded
Open this post in threaded view
|

Re: ENH: Proposal to add KML_BLAS support

Matthew Brett
In reply to this post by ChunLin Fang
Hi,

The only pages I could find on KML_BLAS were in Chinese.  Like Matti,
I'd be interested to know about the license for this library.  Which
particular ARM chips will it run on?

Cheers,

Matthew

On Mon, Feb 22, 2021 at 12:15 PM ChunLin Fang <[hidden email]> wrote:

>
>   Hi all,
>     Whether you're running apps on your phone or the world's fastest supercomputer, you're most likely running ARM. Many major events have occurred related to ARM archtecture:
>
> Apple may have done the most to make ARM relatively relevant in popular culture with its new ARM-based M1 processor.
> Amazon Web Services launched its Graviton2 processors based on the Arm architecture , which promise up to 40% better performance from comparable x86-based instances for 20% less.
> Microsoft currently uses Arm-based chips from Qualcomm in some of its Surface PCs.
> Huawei unveiled a new chipset called the Kunpeng based on ARM, designed to go into its new TaiShan servers, in a bid to boost its nascent cloud business.
>
>      So It's obvious that ARM will become more and more popular in the future, Since Intel MKL has provide good accelerate support for X86-based chips, Huawei also published KML_BLAS(kunpeng math library blas) that can make full advantage of ARM-based chips,  KML_BLAS is a mathematical library for basic linear algebra operations. it provides three levels of high-performance vector operations: vector-vector operations, vector-matrix operations, and matrix-matrix operations. The performance advantage is shown in the attachment compared with OpenBlas. Can we add KML_BLAS support to numpy?
>
> Cheers,
> Chunlin Fang(github ID:Qiyu8)
> _______________________________________________
> NumPy-Discussion mailing list
> [hidden email]
> https://mail.python.org/mailman/listinfo/numpy-discussion
_______________________________________________
NumPy-Discussion mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/numpy-discussion
Reply | Threaded
Open this post in threaded view
|

Re: ENH: Proposal to add KML_BLAS support

ralfgommers
In reply to this post by mattip


On Mon, Feb 22, 2021 at 1:44 PM Matti Picus <[hidden email]> wrote:

On 2/22/21 2:13 PM, ChunLin Fang wrote:

  Hi all,
    Whether you're running apps on your phone or the world's fastest supercomputer, you're most likely running ARM. Many major events have occurred related to ARM archtecture:
  • Apple may have done the most to make ARM relatively relevant in popular culture with its new ARM-based M1 processor.
  • Amazon Web Services launched its Graviton2 processors based on the Arm architecture , which promise up to 40% better performance from comparable x86-based instances for 20% less.
  • Microsoft currently uses Arm-based chips from Qualcomm in some of its Surface PCs.
  • Huawei unveiled a new chipset called the Kunpeng based on ARM, designed to go into its new TaiShan servers, in a bid to boost its nascent cloud business.
     So It's obvious that ARM will become more and more popular in the future, Since Intel MKL has provide good accelerate support for X86-based chips, Huawei also published KML_BLAS(kunpeng math library blas) that can make full advantage of ARM-based chips,  KML_BLAS is a mathematical library for basic linear algebra operations. it provides three levels of high-performance vector operations: vector-vector operations, vector-matrix operations, and matrix-matrix operations. The performance advantage is shown in the attachment compared with OpenBlas. Can we add KML_BLAS support to numpy?

Cheers, 
Chunlin Fang(github ID:Qiyu8)


Thanks, I hadn't heard of this library before. I am a bit confused as to the link: did you mean this? https://www.huaweicloud.com/kunpeng/software/KML_BLAS.html


Is there something beyond choosing KML_BLAS in the site.cfg file that needs to be done to support it?

Support in numpy.distutils probably, analogous to what we did for BLIS for example: https://github.com/numpy/numpy/pull/7294/files.

The other thing could be "ship aarch64 wheels with KML_BLAS support instead of OpenBLAS". That we can only do if KML_BLAS would be open source.

Cheers,
Ralf


What is the license/redistribution policy?

Matti


_______________________________________________
NumPy-Discussion mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/numpy-discussion

_______________________________________________
NumPy-Discussion mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/numpy-discussion
Reply | Threaded
Open this post in threaded view
|

Re: ENH: Proposal to add KML_BLAS support

ChunLin Fang
In reply to this post by ChunLin Fang
Thanks for asking, this is a simple explanation for your questions:
1. The download link of KML_BLAS:
The English page is https://kunpeng.huawei.com/en/#/developer/devkit/library,  you can find a "Math Library" Navigation entry in the bottom of this page. "KML_BLAS" lies in there.
2. The license/redistribution policy of KML_BLAS:
The license is very similar to intel MKL, The license file is in the process of making.
3.How to support KML_BLAS:
The support process is similar to BLIS, just need to add to numpy.distutils, KML_BLAS will not open source in the near future.
4.What kind of ARM chips are supported:
any ARMV8 chip is supported.

_______________________________________________
NumPy-Discussion mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/numpy-discussion
Reply | Threaded
Open this post in threaded view
|

Re: ENH: Proposal to add KML_BLAS support

ralfgommers


On Tue, Feb 23, 2021 at 1:42 PM ChunLin Fang <[hidden email]> wrote:
Thanks for asking, this is a simple explanation for your questions:
1. The download link of KML_BLAS:
The English page is https://kunpeng.huawei.com/en/#/developer/devkit/library,  you can find a "Math Library" Navigation entry in the bottom of this page. "KML_BLAS" lies in there.
2. The license/redistribution policy of KML_BLAS:
The license is very similar to intel MKL, The license file is in the process of making.
3.How to support KML_BLAS:
The support process is similar to BLIS, just need to add to numpy.distutils, KML_BLAS will not open source in the near future.

This sounds fine to me, and the performance is potentially interesting to ARMv8 users. Do you want to open a PR?

Side note: the email client you are using is breaking threading, you may want to tweak a setting for that or change to another client.

Cheers,
Ralf

4.What kind of ARM chips are supported:
any ARMV8 chip is supported.
_______________________________________________
NumPy-Discussion mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/numpy-discussion

_______________________________________________
NumPy-Discussion mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/numpy-discussion