numo-openblas 0.2.1 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7c1b7b3bf7191b1be21c402a86d33ecb1c48d74db412685e54149787f4fe8105
4
- data.tar.gz: 0ab322f4b97652af9656a19aed345f8b231432b83af569d944535011ac46a330
3
+ metadata.gz: 013ec7921e8a2144bf2ea878408e429826d579f2df0c5bdd7962b27fc75d01e5
4
+ data.tar.gz: 16119dea96f0a4ad51bd51cea8b2301a1750c10fe5f2ae6f8e9647bdfb8285e5
5
5
  SHA512:
6
- metadata.gz: 3af4c9813e236372de0d2889f09f87851538d07b8324ab532c08d308a8dd4f3dac44943eae40830f867ecea19516360e2dd0db17ad1f134b9a20b0e10117d9dd
7
- data.tar.gz: b1595adac8b99040a318e2cac77535324fab0515cdb6eed0a0481130c439ea52e80882825822b0a3bc0f37fed3315c3c5dd79b209c1f97a226c0e5ed96ea94fa
6
+ metadata.gz: 9bcb090824e2cc65eb03f1f7aa74dc000a92a88e0472bb75df108dae641df170c8ebd1bbd96bd17394b39516b42bf050c624b5581806f377d56ce986ee6cfc2b
7
+ data.tar.gz: a89e4296d0788d2d7a0c17cdb11a6d6ad983f1653ce544a5c9fcf6d526e78ed8ecf38f673122916d5e4598b7bea62c901f82ed106c3da11729061cea681a81fd
@@ -0,0 +1,24 @@
1
+ name: build
2
+
3
+ on: [push, pull_request]
4
+
5
+ jobs:
6
+ build:
7
+ runs-on: ubuntu-latest
8
+ strategy:
9
+ fail-fast: false
10
+ matrix:
11
+ ruby: [ '2.6', '2.7', '3.0' ]
12
+ steps:
13
+ - uses: actions/checkout@v2
14
+ - name: Install gcc and gfortran
15
+ run: sudo apt-get install -y gcc gfortran
16
+ - name: Set up Ruby ${{ matrix.ruby }}
17
+ uses: actions/setup-ruby@v1
18
+ with:
19
+ ruby-version: ${{ matrix.ruby }}
20
+ - name: Build and test with Rake
21
+ run: |
22
+ gem install --no-document bundler
23
+ bundle install --jobs 4 --retry 3
24
+ bundle exec rake
data/CHANGELOG.md CHANGED
@@ -1,3 +1,18 @@
1
+ ## 0.4.0
2
+ - Add type declaration file: sig/numo/openblas.rbs
3
+
4
+ ## 0.3.2
5
+ - Change the version of OpenBLAS to be downloaded to 0.3.15.
6
+
7
+ ## 0.3.1
8
+ - Change the version of OpenBLAS to be downloaded to 0.3.13.
9
+
10
+ ## 0.3.0
11
+ - Simplified code for loading of OpenBLAS library.
12
+
13
+ ## 0.2.2
14
+ - Change the version of OpenBLAS to be downloaded to 0.3.12.
15
+
1
16
  ## 0.2.1
2
17
  - Change the version of OpenBLAS to be downloaded to 0.3.11.
3
18
 
data/Gemfile CHANGED
@@ -3,6 +3,8 @@ source 'https://rubygems.org'
3
3
  # Specify your gem's dependencies in numo-openblas.gemspec
4
4
  gemspec
5
5
 
6
- gem 'rake', '~> 12.0'
6
+ gem 'rake', '~> 13.0'
7
7
  gem 'rake-compiler', '~> 1.0'
8
8
  gem 'rspec', '~> 3.0'
9
+ gem 'rbs', '~> 1.2'
10
+ gem 'steep', '~> 0.44'
data/LICENSE.txt CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2020 Atsushi Tatsuma
1
+ Copyright (c) 2020-2021 Atsushi Tatsuma
2
2
  All rights reserved.
3
3
 
4
4
  Redistribution and use in source and binary forms, with or without
data/README.md CHANGED
@@ -1,14 +1,24 @@
1
1
  # Numo::OpenBLAS
2
2
 
3
- [![Build Status](https://travis-ci.org/yoshoku/numo-openblas.svg?branch=master)](https://travis-ci.org/yoshoku/numo-openblas)
3
+ [![Build Status](https://github.com/yoshoku/numo-openblas/workflows/build/badge.svg)](https://github.com/yoshoku/numo-openblas/actions?query=workflow%3Abuild)
4
4
  [![Gem Version](https://badge.fury.io/rb/numo-openblas.svg)](https://badge.fury.io/rb/numo-openblas)
5
- [![BSD 3-Clause License](https://img.shields.io/badge/License-BSD%203--Clause-orange.svg)](https://github.com/yoshoku/suika/blob/master/LICENSE.txt)
5
+ [![BSD 3-Clause License](https://img.shields.io/badge/License-BSD%203--Clause-orange.svg)](https://github.com/yoshoku/suika/blob/main/LICENSE.txt)
6
6
 
7
7
  Numo::OpenBLAS downloads and builds [OpenBLAS](https://www.openblas.net/) during installation and
8
8
  uses that as a background library for [Numo::Linalg](https://github.com/ruby-numo/numo-linalg).
9
9
 
10
10
  ## Installation
11
11
 
12
+ Building LAPACK included with OpenBLAS requires Fortran compiler.
13
+
14
+ macOS:
15
+
16
+ $ brew install gfortran
17
+
18
+ Ubuntu:
19
+
20
+ $ sudo apt-get install gfortran
21
+
12
22
  Add this line to your application's Gemfile:
13
23
 
14
24
  ```ruby
@@ -52,7 +62,7 @@ Moreover, some of the build options are defined by constants.
52
62
 
53
63
  ## Contributing
54
64
 
55
- Bug reports and pull requests are welcome on GitHub at https://github.com/yoshoku/numo-openblas. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/yoshoku/numo-openblas/blob/master/CODE_OF_CONDUCT.md).
65
+ Bug reports and pull requests are welcome on GitHub at https://github.com/yoshoku/numo-openblas. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/yoshoku/numo-openblas/blob/main/CODE_OF_CONDUCT.md).
56
66
 
57
67
  ## License
58
68
 
@@ -60,4 +70,4 @@ The gem is available as open source under the terms of the [BSD-3-Clause License
60
70
 
61
71
  ## Code of Conduct
62
72
 
63
- Everyone interacting in the Numo::Openblas project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/yoshoku/numo-openblas/blob/master/CODE_OF_CONDUCT.md).
73
+ Everyone interacting in the Numo::Openblas project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/yoshoku/numo-openblas/blob/main/CODE_OF_CONDUCT.md).
data/Steepfile ADDED
@@ -0,0 +1,20 @@
1
+ target :lib do
2
+ signature "sig"
3
+
4
+ check "lib" # Directory name
5
+ # check "Gemfile" # File name
6
+ # check "app/models/**/*.rb" # Glob
7
+ # # ignore "lib/templates/*.rb"
8
+ #
9
+ # # library "pathname", "set" # Standard libraries
10
+ # library "numo-narray", "numo-linalg" # Gems
11
+ end
12
+
13
+ # target :spec do
14
+ # signature "sig", "sig-private"
15
+ #
16
+ # check "spec"
17
+ #
18
+ # # library "pathname", "set" # Standard libraries
19
+ # # library "rspec"
20
+ # end
@@ -8,8 +8,8 @@ require 'open-uri'
8
8
  require 'open3'
9
9
  require 'rubygems/package'
10
10
 
11
- OPENBLAS_VER = '0.3.11'
12
- OPENBLAS_KEY = '3b21ad856f68f1799ac5f65319f07007a8a89200'
11
+ OPENBLAS_VER = '0.3.15'
12
+ OPENBLAS_KEY = 'd7d1f67c1ef0c14c93761bdf44f0da8d0dd4bc0f'
13
13
  OPENBLAS_URI = "https://github.com/xianyi/OpenBLAS/archive/v#{OPENBLAS_VER}.tar.gz"
14
14
  OPENBLAS_DIR = File.expand_path(__dir__ + '/../../../vendor')
15
15
 
data/lib/numo/openblas.rb CHANGED
@@ -5,27 +5,4 @@ require 'numo/linalg/linalg'
5
5
  require 'numo/openblas/version'
6
6
  require 'numo/openblas/openblas'
7
7
 
8
- module Numo
9
- module Linalg
10
- module Loader
11
- module_function
12
-
13
- def load_openblas
14
- dlext = case RbConfig::CONFIG['host_os']
15
- when /mswin|msys|mingw|cygwin/
16
- 'dll'
17
- when /darwin|mac os/
18
- 'dylib'
19
- else
20
- 'so'
21
- end
22
- openblas_path = File.expand_path(__dir__ + "/../../vendor/lib/libopenblas.#{dlext}")
23
- Numo::Linalg::Blas.dlopen(openblas_path)
24
- Numo::Linalg::Lapack.dlopen(openblas_path)
25
- @@libs = [openblas_path]
26
- end
27
- end
28
- end
29
- end
30
-
31
- Numo::Linalg::Loader.load_openblas
8
+ Numo::Linalg::Loader.load_openblas(File.expand_path("#{__dir__}/../../vendor/lib/"))
@@ -5,6 +5,6 @@ module Numo
5
5
  # Numo::OpenBLAS loads Numo::NArray and Linalg with OpenBLAS used as backend library.
6
6
  module OpenBLAS
7
7
  # The version of Numo::OpenBLAS you install.
8
- VERSION = '0.2.1'
8
+ VERSION = '0.4.0'
9
9
  end
10
10
  end
@@ -19,8 +19,8 @@ Gem::Specification.new do |spec|
19
19
 
20
20
  spec.metadata['homepage_uri'] = spec.homepage
21
21
  spec.metadata['source_code_uri'] = 'https://github.com/yoshoku/numo-openblas'
22
- spec.metadata['changelog_uri'] = 'https://github.com/yoshoku/numo-openblas/blob/master/CHANGELOG.md'
23
- spec.metadata['documentation_uri'] = 'https://github.com/yoshoku/numo-openblas/blob/master/README.md'
22
+ spec.metadata['changelog_uri'] = 'https://github.com/yoshoku/numo-openblas/blob/main/CHANGELOG.md'
23
+ spec.metadata['documentation_uri'] = 'https://github.com/yoshoku/numo-openblas/blob/main/README.md'
24
24
 
25
25
  # Specify which files should be added to the gem when it is released.
26
26
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
@@ -0,0 +1,8 @@
1
+ module Numo
2
+ module OpenBLAS
3
+ VERSION: String
4
+ OPENBLAS_CHAR_CORENAME: String
5
+ OPENBLAS_NUM_CORES: Integer
6
+ OPENBLAS_VERSION: String
7
+ end
8
+ end
data/sig/patch.rbs ADDED
@@ -0,0 +1,7 @@
1
+ module Numo
2
+ module Linalg
3
+ module Loader
4
+ def self?.load_openblas: (*String dirs, ?exc: bool exc) -> bool
5
+ end
6
+ end
7
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: numo-openblas
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - yoshoku
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-10-18 00:00:00.000000000 Z
11
+ date: 2021-06-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: numo-linalg
@@ -34,20 +34,23 @@ extensions:
34
34
  - ext/numo/openblas/extconf.rb
35
35
  extra_rdoc_files: []
36
36
  files:
37
+ - ".github/workflows/build.yml"
37
38
  - ".gitignore"
38
39
  - ".rspec"
39
- - ".travis.yml"
40
40
  - CHANGELOG.md
41
41
  - CODE_OF_CONDUCT.md
42
42
  - Gemfile
43
43
  - LICENSE.txt
44
44
  - README.md
45
45
  - Rakefile
46
+ - Steepfile
46
47
  - ext/numo/openblas/extconf.rb
47
48
  - ext/numo/openblas/openblas.c
48
49
  - lib/numo/openblas.rb
49
50
  - lib/numo/openblas/version.rb
50
51
  - numo-openblas.gemspec
52
+ - sig/numo/openblas.rbs
53
+ - sig/patch.rbs
51
54
  - vendor/tmp/.gitkeep
52
55
  homepage: https://github.com/yoshoku/numo-openblas
53
56
  licenses:
@@ -55,8 +58,8 @@ licenses:
55
58
  metadata:
56
59
  homepage_uri: https://github.com/yoshoku/numo-openblas
57
60
  source_code_uri: https://github.com/yoshoku/numo-openblas
58
- changelog_uri: https://github.com/yoshoku/numo-openblas/blob/master/CHANGELOG.md
59
- documentation_uri: https://github.com/yoshoku/numo-openblas/blob/master/README.md
61
+ changelog_uri: https://github.com/yoshoku/numo-openblas/blob/main/CHANGELOG.md
62
+ documentation_uri: https://github.com/yoshoku/numo-openblas/blob/main/README.md
60
63
  post_install_message:
61
64
  rdoc_options: []
62
65
  require_paths:
@@ -72,7 +75,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
72
75
  - !ruby/object:Gem::Version
73
76
  version: '0'
74
77
  requirements: []
75
- rubygems_version: 3.1.4
78
+ rubygems_version: 3.1.6
76
79
  signing_key:
77
80
  specification_version: 4
78
81
  summary: Numo::OpenBLAS downloads and builds OpenBLAS during installation and uses
data/.travis.yml DELETED
@@ -1,19 +0,0 @@
1
- ---
2
- os: linux
3
- dist: bionic
4
- language: ruby
5
- cache: bundler
6
- rvm:
7
- - '2.7'
8
-
9
- addons:
10
- apt:
11
- packages:
12
- - gcc
13
- - gfortran
14
-
15
- before_install:
16
- - gem install bundler -v 2.1.2
17
-
18
- after_failure:
19
- - cat /home/travis/build/yoshoku/numo-openblas/vendor/tmp/openblas.log