Config.in 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. config BR2_PACKAGE_OPENBLAS_DEFAULT_TARGET
  2. string
  3. default "P2" if BR2_x86_pentium2
  4. default "KATMAI" if BR2_x86_pentium3
  5. default "NORTHWOOD" if BR2_x86_pentium4
  6. default "PRESCOTT" if BR2_x86_prescott || BR2_x86_nocona
  7. default "BANIAS" if BR2_x86_pentium_m
  8. default "CORE2" if BR2_x86_core2
  9. default "NEHALEM" if BR2_x86_corei7 || BR2_x86_silvermont || BR2_x86_westmere
  10. default "SANDYBRIDGE" if BR2_x86_corei7_avx
  11. default "HASWELL" if BR2_x86_core_avx2
  12. default "ATOM" if BR2_x86_atom
  13. default "ATHLON" if BR2_x86_athlon || BR2_x86_athlon_4
  14. default "OPTERON" if BR2_x86_opteron
  15. default "OPTERON_SSE3" if BR2_x86_opteron_sse3
  16. default "BARCELONA" if BR2_x86_barcelona
  17. default "BOBCAT" if BR2_x86_jaguar
  18. default "STEAMROLLER" if BR2_x86_steamroller
  19. default "VIAC3" if BR2_x86_c3 || BR2_x86_c32
  20. default "POWER4" if BR2_powerpc_power4
  21. default "POWER5" if BR2_powerpc_power5
  22. default "POWER6" if BR2_powerpc_power6
  23. default "POWER7" if BR2_powerpc_power7
  24. default "POWER8" if BR2_powerpc_power8
  25. default "PPCG4" if BR2_powerpc_7400 || BR2_powerpc_7450
  26. default "PPC970" if BR2_powerpc_970
  27. default "PPC440" if BR2_powerpc_440
  28. default "PPC440FP2" if BR2_powerpc_440fp
  29. default "MIPS64_GENERIC" if BR2_MIPS_CPU_MIPS64
  30. # OpenBLAS assumes SPARC=Sparc v9
  31. default "SPARC" if BR2_sparc_v9
  32. # Cortex-A15 always have a VFPv4
  33. default "CORTEXA15" if (BR2_cortex_a15 && BR2_ARM_EABIHF)
  34. # Cortex-A9 have an optional VFPv3, so we need to make sure it
  35. # is available
  36. default "CORTEXA9" if (BR2_cortex_a9 && BR2_ARM_EABIHF && \
  37. BR2_ARM_CPU_HAS_VFPV3)
  38. default "ARMV5" if BR2_ARM_CPU_ARMV5
  39. # On ARMv6, OpenBLAS assumes that a VFP is available, and
  40. # EABIhf is used
  41. default "ARMV6" if (BR2_ARM_CPU_ARMV6 && BR2_ARM_EABIHF && \
  42. BR2_ARM_CPU_HAS_VFPV2)
  43. # On ARMv7, OpenBLAS assumes that a full VFPv3+ is available
  44. # (and not the more limited D16 variant), and that EABIhf is
  45. # used.
  46. default "ARMV7" if (BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF && \
  47. BR2_ARM_CPU_HAS_VFPV3)
  48. default "ARMV8" if BR2_aarch64 || BR2_aarch64_be
  49. default "RISCV64_GENERIC" if BR2_RISCV_64
  50. help
  51. OpenBLAS target CPU. See TargetList.txt in the source tree for
  52. the possible target strings. A possible value is set
  53. automatically based on your Target Architecture Variant.
  54. config BR2_PACKAGE_OPENBLAS_ARCH_SUPPORTS
  55. bool
  56. default y if BR2_PACKAGE_OPENBLAS_DEFAULT_TARGET != ""
  57. config BR2_PACKAGE_OPENBLAS
  58. bool "openblas"
  59. depends on BR2_PACKAGE_OPENBLAS_ARCH_SUPPORTS
  60. help
  61. An optimized BLAS library based on GotoBLAS2 1.13 BSD version.
  62. https://www.openblas.net/
  63. if BR2_PACKAGE_OPENBLAS
  64. config BR2_PACKAGE_OPENBLAS_TARGET
  65. string "OpenBLAS target CPU"
  66. default BR2_PACKAGE_OPENBLAS_DEFAULT_TARGET
  67. config BR2_PACKAGE_OPENBLAS_USE_THREAD
  68. bool "use multithreading"
  69. default y
  70. depends on BR2_TOOLCHAIN_HAS_THREADS
  71. depends on !BR2_STATIC_LIBS
  72. help
  73. Tell OpenBLAS to use multithreading, by passing USE_THREAD=1.
  74. config BR2_PACKAGE_OPENBLAS_USE_LOCKING
  75. bool "use locking"
  76. default y
  77. depends on BR2_TOOLCHAIN_HAS_THREADS
  78. depends on !BR2_PACKAGE_OPENBLAS_USE_THREAD
  79. help
  80. Tell OpenBLAS to use locking, by passing USE_LOCKING=1.
  81. Locking is implicitly enabled when USE_THREAD=1.
  82. However, if USE_THREAD=0 (i.e. OpenBLAS itself will run in
  83. single-threaded mode) but an application makes OpenBLAS
  84. function calls from multiple threads, then locking is
  85. mandatory for correct operation.
  86. config BR2_PACKAGE_OPENBLAS_INSTALL_TESTS
  87. bool "install tests"
  88. help
  89. Install C test programs on target.
  90. endif