Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Yu-Chien Peter Lin <peterlin@andestech.com>
To: Julien Olivain <ju.o@free.fr>
Cc: buildroot@buildroot.org
Subject: Re: [Buildroot] [PATCH] package/openblas: Add support for RISC-V architecture
Date: Sun, 24 Sep 2023 16:43:20 +0800	[thread overview]
Message-ID: <ZQ_2qDPzM5Rtdc18@APC323> (raw)
In-Reply-To: <27236247f795d4836c8c041835c6899e@free.fr>

Hi Julien,

On Sat, Sep 23, 2023 at 09:27:34PM +0200, Julien Olivain wrote:
> Hi Yu,
> 
> Thanks for the patch!
> 
> On 23/09/2023 17:35, Yu Chien Peter Lin wrote:
> > The current version of OpenBLAS (v0.3.24) supports the
> > RV64 architecture. With this update, we can install
> > the library and packages such as GNU Octave on RISC-V
> > platforms.
> 
> I think it would be better to record in the commit log when the RISC-V
> support was added. For example:
> 
> OpenBLAS RISC-V 64bit support was added in [1] and was renamed to
> "RISCV64_GENERIC" in [2]. Those commits were first included in
> OpenBLAS release v0.3.13. This support can now be enabled. With this
> commit, we can install the library and packages such as GNU Octave on
> RISC-V platforms.
> 
> [1] https://github.com/OpenMathLib/OpenBLAS/commit/c167a3d6f41ed2f5680c2a72846b4c9b5d416543
> [2] https://github.com/OpenMathLib/OpenBLAS/commit/265ab484c89d10dfff2d5df678221918d7a880e3
> 
> If you can, please send a v2 updated patch.

Sure, no problem. Thank you for locating the commits for me.

Best regards,
Peter Lin

> > This patch also adjusts the alignment for adding
> > "RISCV64_GENERIC" in Config.in.
> 
> I also successfully tested this patch on branch master at
> commit 20c023a, by adding in qemu_riscv64_virt_defconfig a Bootlin
> toolchain and OpenBLAS with its tests. So you can also add:
> 
> Reviewed-by: Julien Olivain <ju.o@free.fr>
> Tested-by: Julien Olivain <ju.o@free.fr>
> 
> > Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com>
> > ---
> >  package/openblas/Config.in | 73 +++++++++++++++++++-------------------
> >  1 file changed, 37 insertions(+), 36 deletions(-)
> > 
> > diff --git a/package/openblas/Config.in b/package/openblas/Config.in
> > index 58976e657a..26a76d29fb 100644
> > --- a/package/openblas/Config.in
> > +++ b/package/openblas/Config.in
> > @@ -1,55 +1,56 @@
> >  config BR2_PACKAGE_OPENBLAS_DEFAULT_TARGET
> >  	string
> > -	default "P2"           if BR2_x86_pentium2
> > -	default "KATMAI"       if BR2_x86_pentium3
> > -	default "NORTHWOOD"    if BR2_x86_pentium4
> > -	default "PRESCOTT"     if BR2_x86_prescott || BR2_x86_nocona
> > -	default "BANIAS"       if BR2_x86_pentium_m
> > -	default "CORE2"        if BR2_x86_core2
> > -	default "NEHALEM"      if BR2_x86_corei7 || BR2_x86_silvermont ||
> > BR2_x86_westmere
> > -	default "SANDYBRIDGE"  if BR2_x86_corei7_avx
> > -	default "HASWELL"      if BR2_x86_core_avx2
> > -	default "ATOM"         if BR2_x86_atom
> > -	default "ATHLON"       if BR2_x86_athlon || BR2_x86_athlon_4
> > -	default "OPTERON"      if BR2_x86_opteron
> > -	default "OPTERON_SSE3" if BR2_x86_opteron_sse3
> > -	default "BARCELONA"    if BR2_x86_barcelona
> > -	default "BOBCAT"       if BR2_x86_jaguar
> > -	default "STEAMROLLER"  if BR2_x86_steamroller
> > -	default "VIAC3"        if BR2_x86_c3 || BR2_x86_c32
> > -	default "POWER4"       if BR2_powerpc_power4
> > -	default "POWER5"       if BR2_powerpc_power5
> > -	default "POWER6"       if BR2_powerpc_power6
> > -	default "POWER7"       if BR2_powerpc_power7
> > -	default "POWER8"       if BR2_powerpc_power8
> > -	default "PPCG4"        if BR2_powerpc_7400 || BR2_powerpc_7450
> > -	default "PPC970"       if BR2_powerpc_970
> > -	default "PPC440"       if BR2_powerpc_440
> > -	default "PPC440FP2"    if BR2_powerpc_440fp
> > +	default "P2"              if BR2_x86_pentium2
> > +	default "KATMAI"          if BR2_x86_pentium3
> > +	default "NORTHWOOD"       if BR2_x86_pentium4
> > +	default "PRESCOTT"        if BR2_x86_prescott || BR2_x86_nocona
> > +	default "BANIAS"          if BR2_x86_pentium_m
> > +	default "CORE2"           if BR2_x86_core2
> > +	default "NEHALEM"         if BR2_x86_corei7 || BR2_x86_silvermont ||
> > BR2_x86_westmere
> > +	default "SANDYBRIDGE"     if BR2_x86_corei7_avx
> > +	default "HASWELL"         if BR2_x86_core_avx2
> > +	default "ATOM"            if BR2_x86_atom
> > +	default "ATHLON"          if BR2_x86_athlon || BR2_x86_athlon_4
> > +	default "OPTERON"         if BR2_x86_opteron
> > +	default "OPTERON_SSE3"    if BR2_x86_opteron_sse3
> > +	default "BARCELONA"       if BR2_x86_barcelona
> > +	default "BOBCAT"          if BR2_x86_jaguar
> > +	default "STEAMROLLER"     if BR2_x86_steamroller
> > +	default "VIAC3"           if BR2_x86_c3 || BR2_x86_c32
> > +	default "POWER4"          if BR2_powerpc_power4
> > +	default "POWER5"          if BR2_powerpc_power5
> > +	default "POWER6"          if BR2_powerpc_power6
> > +	default "POWER7"          if BR2_powerpc_power7
> > +	default "POWER8"          if BR2_powerpc_power8
> > +	default "PPCG4"           if BR2_powerpc_7400 || BR2_powerpc_7450
> > +	default "PPC970"          if BR2_powerpc_970
> > +	default "PPC440"          if BR2_powerpc_440
> > +	default "PPC440FP2"       if BR2_powerpc_440fp
> >  	# P5600 is built with MSA support which is only available in Codescape
> > toolchains
> > -	default "P5600"        if BR2_mips_p5600 &&
> > BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS
> > -	default "SICORTEX"     if BR2_MIPS_CPU_MIPS64
> > +	default "P5600"           if BR2_mips_p5600 &&
> > BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS
> > +	default "SICORTEX"        if BR2_MIPS_CPU_MIPS64
> >  	# I6400 is built with MSA support which is only available in Codescape
> > toolchains
> > -	default "I6400"        if BR2_mips_i6400 &&
> > BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS
> > +	default "I6400"           if BR2_mips_i6400 &&
> > BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS
> >  	# OpenBLAS assumes SPARC=Sparc v9
> > -	default "SPARC"        if BR2_sparc_v9
> > +	default "SPARC"           if BR2_sparc_v9
> >  	# Cortex-A15 always have a VFPv4
> > -	default "CORTEXA15"    if (BR2_cortex_a15 && BR2_ARM_EABIHF)
> > +	default "CORTEXA15"       if (BR2_cortex_a15 && BR2_ARM_EABIHF)
> >  	# Cortex-A9 have an optional VFPv3, so we need to make sure it
> >  	# is available
> > -	default "CORTEXA9"     if (BR2_cortex_a9 && BR2_ARM_EABIHF && \
> > +	default "CORTEXA9"        if (BR2_cortex_a9 && BR2_ARM_EABIHF && \
> >  				   BR2_ARM_CPU_HAS_VFPV3)
> > -	default "ARMV5"        if BR2_ARM_CPU_ARMV5
> > +	default "ARMV5"           if BR2_ARM_CPU_ARMV5
> >  	# On ARMv6, OpenBLAS assumes that a VFP is available, and
> >  	# EABIhf is used
> > -	default "ARMV6"        if (BR2_ARM_CPU_ARMV6 && BR2_ARM_EABIHF && \
> > +	default "ARMV6"           if (BR2_ARM_CPU_ARMV6 && BR2_ARM_EABIHF && \
> >  				   BR2_ARM_CPU_HAS_VFPV2)
> >  	# On ARMv7, OpenBLAS assumes that a full VFPv3+ is available
> >  	# (and not the more limited D16 variant), and that EABIhf is
> >  	# used.
> > -	default "ARMV7"        if (BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF && \
> > +	default "ARMV7"           if (BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF &&
> > \
> >  				   BR2_ARM_CPU_HAS_VFPV3)
> > -	default "ARMV8"        if BR2_aarch64 || BR2_aarch64_be
> > +	default "ARMV8"           if BR2_aarch64 || BR2_aarch64_be
> > +	default "RISCV64_GENERIC" if BR2_RISCV_64
> >  	help
> >  	  OpenBLAS target CPU. See TargetList.txt in the source tree for
> >  	  the possible target strings. A possible value is set
> 
> Best regards,
> 
> Julien.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

      reply	other threads:[~2023-09-24  8:43 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-23 15:35 [Buildroot] [PATCH] package/openblas: Add support for RISC-V architecture Yu Chien Peter Lin
2023-09-23 19:27 ` Julien Olivain
2023-09-24  8:43   ` Yu-Chien Peter Lin [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZQ_2qDPzM5Rtdc18@APC323 \
    --to=peterlin@andestech.com \
    --cc=buildroot@buildroot.org \
    --cc=ju.o@free.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox