You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
OpenBLAS is an optimized BLAS (Basic Linear Algebra Subprograms) library based on GotoBLAS2 1.13 BSD version.
17
17
18
-
Please read the documentation in the OpenBLAS folder: <https://github.com/OpenMathLib/OpenBLAS/docs>.
18
+
For more information about OpenBLAS, please see:
19
+
20
+
- The documentation at [openmathlib.org/OpenBLAS/docs/](http://www.openmathlib.org/OpenBLAS/docs),
21
+
- The home page at [openmathlib.org/OpenBLAS/](http://www.openmathlib.org/OpenBLAS).
19
22
20
23
For a general introduction to the BLAS routines, please refer to the extensive documentation of their reference implementation hosted at netlib:
21
24
<https://www.netlib.org/blas>. On that site you will likewise find documentation for the reference implementation of the higher-level library LAPACK - the **L**inear **A**lgebra **Pack**age that comes included with OpenBLAS. If you are looking for a general primer or refresher on Linear Algebra, the set of six
22
-
20-minute lecture videos by Prof. Gilbert Strang on either MIT OpenCourseWare <https://ocw.mit.edu/resources/res-18-010-a-2020-vision-of-linear-algebra-spring-2020/> or Youtube <https://www.youtube.com/playlist?list=PLUl4u3cNGP61iQEFiWLE21EJCxwmWvvek> may be helpful.
25
+
20-minute lecture videos by Prof. Gilbert Strang on either MIT OpenCourseWare [here](https://ocw.mit.edu/resources/res-18-010-a-2020-vision-of-linear-algebra-spring-2020/) or YouTube [here](https://www.youtube.com/playlist?list=PLUl4u3cNGP61iQEFiWLE21EJCxwmWvvek) may be helpful.
23
26
24
27
## Binary Packages
25
28
26
29
We provide official binary packages for the following platform:
27
30
28
31
* Windows x86/x86_64
29
32
30
-
You can download them from [file hosting on sourceforge.net](https://sourceforge.net/projects/openblas/files/) or from the Releases section of the github project page, [https://github.com/OpenMathLib/OpenBLAS/releases](https://github.com/OpenMathLib/OpenBLAS/releases).
33
+
You can download them from [file hosting on sourceforge.net](https://sourceforge.net/projects/openblas/files/) or from the [Releases section of the GitHub project page](https://github.com/OpenMathLib/OpenBLAS/releases).
34
+
35
+
OpenBLAS is also packaged for many package managers - see [the installation section of the docs](http://www.openmathlib.org/OpenBLAS/docs/install/) for details.
31
36
32
37
## Installation from Source
33
38
34
-
Download from project homepage, https://github.com/OpenMathLib/OpenBLAS/, or check out the code
35
-
using Git from https://github.com/OpenMathLib/OpenBLAS.git. (If you want the most up to date version, be
36
-
sure to use the develop branch - master is several years out of date due to a change of maintainership.)
37
-
Buildtime parameters can be chosen in Makefile.rule, see there for a short description of each option.
38
-
Most can also be given directly on the make or cmake command line.
39
+
Obtain the source code from https://github.com/OpenMathLib/OpenBLAS/. Note that the default branch
40
+
is `develop` (a `master` branch is still present, but far out of date).
41
+
42
+
Build-time parameters can be chosen in `Makefile.rule`, see there for a short description of each option.
43
+
Most options can also be given directly on the command line as parameters to your `make` or `cmake` invocation.
39
44
40
45
### Dependencies
41
46
42
47
Building OpenBLAS requires the following to be installed:
43
48
44
49
* GNU Make or CMake
45
-
* A C compiler, e.g. GCC or Clang
50
+
* A C compiler, e.g. GCC or Clang
46
51
* A Fortran compiler (optional, for LAPACK)
47
52
53
+
In general, using a recent version of the compiler is strongly recommended.
54
+
If a Fortran compiler is not available, it is possible to compile an older version of the included LAPACK
55
+
that has been machine-translated to C.
48
56
49
57
### Normal compile
50
58
@@ -60,6 +68,9 @@ For building with `cmake`, the usual conventions apply, i.e. create a build dire
60
68
OpenBLAS source directory or separate from it, and invoke `cmake` there with the path to the source tree and any
61
69
build options you plan to set.
62
70
71
+
For more details, see the [Building from source](http://www.openmathlib.org/OpenBLAS/docs/install/#building-from-source)
72
+
section in the docs.
73
+
63
74
### Cross compile
64
75
65
76
Set `CC` and `FC` to point to the cross toolchains, and if you use `make`, also set `HOSTCC` to your host C compiler.
You can find instructions for other cases both in the "Supported Systems" section below and in the docs folder. The .yml scripts included with the sources (which contain the
90
+
You can find instructions for other cases both in the "Supported Systems" section below and in
91
+
the [Building from source docs](http://www.openmathlib.org/OpenBLAS/docs/install).
92
+
The `.yml` scripts included with the sources (which contain the
80
93
build scripts for the "continuous integration" (CI) build tests automatically run on every proposed change to the sources) may also provide additional hints.
81
94
82
-
When compiling for a more modern CPU TARGET of the same architecture, e.g. TARGET=SKYLAKEX on a HASWELL host, option "CROSS=1" can be used to suppress the automatic invocation of the tests at the end of the build.
95
+
When compiling for a more modern CPU target of the same architecture, e.g. `TARGET=SKYLAKEX` on a `HASWELL` host, option `CROSS=1` can be used to suppress the automatic invocation of the tests at the end of the build.
83
96
84
97
### Debug version
85
98
@@ -325,11 +338,14 @@ Please see Changelog.txt.
325
338
326
339
## Troubleshooting
327
340
328
-
* Please read the [FAQ](https://github.com/OpenMathLib/OpenBLAS/docs/faq,md) in the docs folder first.
341
+
* Please read the [FAQ](http://www.openmathlib.org/OpenBLAS/docs/faq) section of the docs first.
329
342
* Please use GCC version 4.6 and above to compile Sandy Bridge AVX kernels on Linux/MinGW/BSD.
330
343
* Please use Clang version 3.1 and above to compile the library on Sandy Bridge microarchitecture.
331
344
Clang 3.0 will generate the wrong AVX binary code.
332
-
* Please use GCC version 6 or LLVM version 6 and above to compile Skylake AVX512 kernels.
345
+
* Please use GCC version 6 or LLVM version 6 and above to compile Skylake/CooperLake AVX512 kernels
346
+
* Please use LLVM version 18 and above (version 19 and above on Windows) if you plan to use
347
+
its new flang compiler for Fortran
348
+
* Please use GCC version 11 and above to compile OpenBLAS on the POWER architecture
333
349
* The number of CPUs/cores should be less than or equal to 256. On Linux `x86_64` (`amd64`),
334
350
there is experimental support for up to 1024 CPUs/cores and 128 numa nodes if you build
335
351
the library with `BIGNUMA=1`.
@@ -350,4 +366,4 @@ Please see Changelog.txt.
350
366
351
367
## Donation
352
368
353
-
Please read [this wiki page](https://github.com/xianyi/OpenBLAS/wiki/Donation).
369
+
Please see [the donations section](http://www.openmathlib.org/OpenBLAS/docs/about/#donations) in the docs.
The benchmark syntax is consistent with that of `pytest-benchmark` framework. The incantation to run the suite locally is `$ pytest benchmark/pybench/benchmarks/test_blas.py`.
46
+
The Meson build system looks for the installed OpenBLAS using pkgconfig, so the openblas.pc created during the OpenBLAS build needs
47
+
to be somewhere on the search path of pkgconfig or in a folder pointed to by the environment variable PKG_CONFIG_PATH.
48
+
49
+
If you want to build the benchmark suite using flang (or flang-new) instead of gfortran for the Fortran parts, you currently need
50
+
to edit the meson.build file and change the line `'fortran_std=legacy'` to `'fortran_std=none'` to work around an incompatibility
51
+
between Meson and flang.
52
+
53
+
If you are building and running the benchmark under MS Windows, it may be necessary to copy the generated openblas_wrap module from
54
+
your build folder to the `benchmarks` folder.
55
+
56
+
The benchmark syntax is consistent with that of `pytest-benchmark` framework. The incantation to run the suite locally is `$ pytest benchmark/pybench/benchmarks/bench_blas.py`.
47
57
48
58
An ASV compatible benchmark suite is planned but currently not implemented.
0 commit comments