@@ -101,39 +101,47 @@ How to use with cargo
101
101
How to enable blas integration
102
102
-----------------------------
103
103
104
- Blas integration is an optional add-on.
104
+ Blas integration is an optional add-on. Without BLAS, ndarray uses the
105
+ ``matrixmultiply `` crate for matrix multiplication for ``f64 `` and ``f32 ``
106
+ arrays (and it's always enabled as a fallback since it supports matrices of
107
+ arbitrary strides in both dimensions).
105
108
106
109
Depend and link to ``blas-src `` directly to pick a blas provider. Ndarray
107
110
presently requires a blas provider that provides the ``cblas-sys `` interface. If
108
- further feature selection is needed then you might need to depend directly on
109
- the backend crate's source too (for example ``openblas-src ``, to select
110
- ``cblas ``). The backend version **must ** be the one that ``blas-src `` also
111
- depends on.
111
+ further feature selection is wanted or needed then you might need to depend directly on
112
+ the backend crate's source too. The backend version **must ** be the one that
113
+ ``blas-src `` also depends on.
112
114
113
115
An example configuration using system openblas is shown below. Note that only
114
116
end-user projects (not libraries) should select provider::
115
117
116
118
[dependencies]
117
119
ndarray = { version = "0.15.0", features = ["blas"] }
118
- blas-src = { version = "0.7.0", default-features = false, features = ["openblas"] }
119
- openblas-src = { version = "0.9", default-features = false, features = ["cblas", "system"] }
120
+ blas-src = { version = "0.7.0", features = ["openblas"] }
121
+ openblas-src = { version = "0.9", features = ["cblas", "system"] }
122
+
123
+ Using system-installed dependencies can save a long time building dependencies.
124
+ An example configuration using (compiled) netlib is shown below anyway::
125
+
126
+ [dependencies]
127
+ ndarray = { version = "0.15.0", features = ["blas"] }
128
+ blas-src = { version = "0.7.0", default-features = false, features = ["netlib"] }
120
129
121
130
When this is done, your program must also link to ``blas_src `` by using it or
122
131
explicitly including it in your code::
123
132
124
133
extern crate blas_src;
125
134
126
- For official releases of ``ndarray ``, versions that have been verified to work are:
135
+ The following versions have been verified to work together. For ndarray 0.15 or later,
136
+ there is no tight coupling to the ``blas-src `` version, so any version should in theory work.
127
137
128
- =========== ============ ================
129
- ``ndarray `` ``blas-src `` ``openblas-src ``
130
- =========== ============ ================
131
- 0.15 0.7.0 0.9.0
138
+ =========== ============ ================ ==============
139
+ ``ndarray `` ``blas-src `` ``openblas-src `` `` netlib-src ``
140
+ =========== ============ ================ ==============
141
+ 0.15 0.7.0 0.9.0 0.8.0
132
142
0.14 0.6.1 0.9.0
133
143
0.13 0.2.0 0.6.0
134
- 0.12 0.2.0 0.6.0
135
- 0.11 0.1.2 0.5.0
136
- =========== ============ ================
144
+ =========== ============ ================ ==============
137
145
138
146
Recent Changes
139
147
--------------
0 commit comments