numo-blis 0.5.3 → 0.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 98eb413415b10c86e42f6e94214dbae55b2624a2eb77cfc991e0e0e3ecd30e91
4
- data.tar.gz: 6509bb315eef0fdc57d1cd6c0a3f1f4f265008519024a0e20e2f9032b92d4502
3
+ metadata.gz: 974a178389cc1b8a0fc8785c0ee4713835a25f37d101d5a1779aeeef2c0cac7f
4
+ data.tar.gz: 1d22fa0b454f96e818a3eac34e60e13175052eb12790ca22b61be0b2d4194cbf
5
5
  SHA512:
6
- metadata.gz: 55a13fb3e3465f04c946e4fc9f0371ee2449188c45b6c2c392e8ef8b8073b828548f76c117bd5651638edf894bf7cbf9b8301423dc0ca5154a2d725ea63924f9
7
- data.tar.gz: 7b60be64d3b72ff67bd6085b47cb2f9ecfda13b788a77d8f99ca5dffbb4d573b47521ea16c0995801058b6c3e3ff673f5520c32fa3b9061ad7b4698406689dcf
6
+ metadata.gz: 9ba7e49c465fa108958c455953d10fba09f5c1a2c9e72b5bc43efde297517f3a4ba7e65e73deec306b5c674d246e9c557aa790e174260e8137ff196d39d14bef
7
+ data.tar.gz: c7bff6e75d57da707f2d6cb0f22f910d64364c4a08aca39380932ec9d59ddbee717ae4917cb44a9b1047b354785e08fd04fd354d5f6259860ee03a05a4db4279
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## [[0.5.4](https://github.com/yoshoku/numo-blis/compare/v0.5.3...v0.5.4)] - 2025-05-04
2
+
3
+ - Add fiddle gem to the runtime dependencies for Ruby 3.5 or later.
4
+ - Change to use automatic detection of CPU type on macOS.
5
+ - Fix build error on macOS with Apple silicon.
6
+
1
7
  ## [0.5.3] - 2025-04-29
2
8
 
3
9
  - Revert "change to use automatic detection of CPU type on macOS".
@@ -18,7 +18,7 @@ SOEXT = RbConfig::CONFIG['SOEXT'] || case RbConfig::CONFIG['host_os']
18
18
  else
19
19
  'so'
20
20
  end
21
-
21
+ IS_WIN = SOEXT == 'dll'
22
22
  BLIS_VERSION = '1.1'
23
23
  LAPACK_VERSION = '3.11.0'
24
24
  BLIS_URI = "https://github.com/flame/blis/archive/refs/tags/#{BLIS_VERSION}.tar.gz"
@@ -39,13 +39,12 @@ BLIS_THREADING = if ['openmp', 'pthreads', 'no'].include?(ENABLE_THREADING_ARG)
39
39
  else
40
40
  'no'
41
41
  end
42
- BLIS_CPU = RbConfig::CONFIG['host_os'] =~ /darwin|mac os/i && RbConfig::CONFIG['host_cpu'] =~ /arm|aarch/i ? 'generic' : 'auto'
43
42
  BLIS_CONFIGURE_OPTIONS = ['--enable-cblas',
44
43
  "--enable-threading=#{BLIS_THREADING}",
45
44
  "--prefix=#{VENDOR_DIR}",
46
45
  "CC=#{RB_CC}",
47
46
  "CXX=#{RB_CXX}",
48
- "#{BLIS_CPU}"].join(' ')
47
+ 'auto'].join(' ')
49
48
  LAPACK_CMAKE_OPTIONS = ["-DBLAS_LIBRARIES='#{VENDOR_DIR}/lib/libblis.#{SOEXT}'",
50
49
  '-DLAPACKE=ON',
51
50
  '-DBUILD_SHARED_LIBS=ON',
@@ -77,6 +76,13 @@ unless File.exist?("#{VENDOR_DIR}/installed_blis-#{BLIS_VERSION}")
77
76
  File.open("#{VENDOR_DIR}/tmp/blis.log", 'w') { |f| f.puts(cfgstdout) }
78
77
  abort('Failed to config BLIS.') unless cfgstatus.success?
79
78
 
79
+ # https://github.com/flame/blis/pull/867
80
+ unless IS_WIN
81
+ buff = File.read("#{VENDOR_DIR}/tmp/blis-#{BLIS_VERSION}/config.mk")
82
+ replaced = buff.gsub(/IS_WIN\s+:=\s+yes/, 'IS_WIN := no')
83
+ File.write("#{VENDOR_DIR}/tmp/blis-#{BLIS_VERSION}/config.mk", replaced)
84
+ end
85
+
80
86
  puts 'Building BLIS. This could take a while...'
81
87
  mkstdout, _mkstderr, mkstatus = Open3.capture3('make -j')
82
88
  File.open("#{VENDOR_DIR}/tmp/blis.log", 'a') { |f| f.puts(mkstdout) }
@@ -113,7 +119,7 @@ unless File.exist?("#{VENDOR_DIR}/installed_lapack-#{LAPACK_VERSION}")
113
119
  FileUtils.mkdir_p("#{VENDOR_DIR}/tmp/lapack-#{LAPACK_VERSION}/build")
114
120
  Dir.chdir("#{VENDOR_DIR}/tmp/lapack-#{LAPACK_VERSION}/build") do
115
121
  puts 'Configuring LAPACK.'
116
- cmkstdout, _cmkstderr, cmkstatus = Open3.capture3("cmake #{LAPACK_CMAKE_OPTIONS} ../")
122
+ cmkstdout, _cmkstderr, cmkstatus = Open3.capture3("CMAKE_POLICY_VERSION_MINIMUM=3.5 cmake #{LAPACK_CMAKE_OPTIONS} ../")
117
123
  File.open("#{VENDOR_DIR}/tmp/lapack.log", 'w') { |f| f.puts(cmkstdout) }
118
124
  abort('Failed to config LAPACK.') unless cmkstatus.success?
119
125
 
@@ -5,6 +5,6 @@ module Numo
5
5
  # Numo::BLIS loads Numo::NArray and Linalg with BLIS used as backend library.
6
6
  module BLIS
7
7
  # The version of Numo::BLIS you install.
8
- VERSION = '0.5.3'
8
+ VERSION = '0.5.4'
9
9
  end
10
10
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: numo-blis
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.3
4
+ version: 0.5.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - yoshoku
@@ -9,6 +9,20 @@ bindir: exe
9
9
  cert_chain: []
10
10
  date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: fiddle
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: '1.0'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: '1.0'
12
26
  - !ruby/object:Gem::Dependency
13
27
  name: numo-linalg
14
28
  requirement: !ruby/object:Gem::Requirement