From 754ad2ad4f57ccce7b812ce8d888b2a125363e95 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Wed, 4 Mar 2026 11:44:36 +0100 Subject: [PATCH 1/3] Fix leftover wiki links and add java insights from issue 5109 --- README.md | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 96cbed3193..be96576ca4 100644 --- a/README.md +++ b/README.md @@ -251,7 +251,7 @@ e.g.: ### Support for multiple targets in a single library -OpenBLAS can be built for multiple targets with runtime detection of the target cpu by specifying `DYNAMIC_ARCH=1` in Makefile.rule, on the gmake command line or as `-DDYNAMIC_ARCH=TRUE` in cmake. +OpenBLAS can be built for multiple targets with runtime detection of the target cpu by specifiying `DYNAMIC_ARCH=1` in Makefile.rule, on the gmake command line or as `-DDYNAMIC_ARCH=TRUE` in cmake. For **x86_64**, the list of targets this activates contains Prescott, Core2, Nehalem, Barcelona, Sandybridge, Bulldozer, Piledriver, Steamroller, Excavator, Haswell, Zen, SkylakeX, Cooper Lake, Sapphire Rapids. For cpu generations not included in this list, the corresponding older model is used. If you also specify `DYNAMIC_OLDER=1`, specific support for Penryn, Dunnington, Opteron, Opteron/SSE3, Bobcat, Atom and Nano is added. Finally there is an option `DYNAMIC_LIST` that allows to specify an individual list of targets to include instead of the default. @@ -277,23 +277,29 @@ Please note that it is not possible to combine support for different architectur ### Supported OS - **GNU/Linux** -- **MinGW or Visual Studio (CMake)/Windows**: Please read . -- **Darwin/macOS/OSX/iOS**: Experimental. Although GotoBLAS2 already supports Darwin, we are not OSX/iOS experts. +- **MinGW or Visual Studio (CMake)/Windows**: Please read . +- **Darwin/macOS/OSX/iOS**: Already supported on PPC and x86 by the original GotoBLAS, now also on ARM64 but we are not OSX/iOS experts. - **FreeBSD**: Supported by the community. We don't actively test the library on this OS. - **OpenBSD**: Supported by the community. We don't actively test the library on this OS. - **NetBSD**: Supported by the community. We don't actively test the library on this OS. - **DragonFly BSD**: Supported by the community. We don't actively test the library on this OS. -- **Android**: Supported by the community. Please read . -- **AIX**: Supported on PPC up to POWER10 +- **Android**: Supported by the community. Please read . +- **AIX**: Supported on PPC up to POWER10 but testing is increasingly problematic due to lack of publicly available systems - **Haiku**: Supported by the community. We don't actively test the library on this OS. - **SunOS**: Supported by the community. We don't actively test the library on this OS. -- **Cortex-M**: Supported by the community. Please read . +- **Cortex-M**: Supported by the community. Please read . ## Usage Statically link with `libopenblas.a` or dynamically link with `-lopenblas` if OpenBLAS was compiled as a shared library. +### Considerations for using the library from Java + +The default stack size of only 1MB may be too small, especially if you built OpenBLAS to support larger matrix sizes than provided for by the default settings. Use the -Xss option to request a larger stack size if you encounter problems. + +When a Windows build of OpenBLAS was created using the MINGW gfortran (for the LAPACK parts), the java application may hang on startup due to a deadlock between the gfortran runtime library initialization and any pipes created by a Win11/SBT/Play Framework environment. Use -Djdk.console=jdk.internal.le to work around this. + ### Setting the number of threads using environment variables Environment variables are used to specify a maximum number of threads. From 98864c7c6f4834401110619a1bd1e259520ff44e Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Wed, 4 Mar 2026 20:40:45 +0100 Subject: [PATCH 2/3] fix reintroduced typo again --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index be96576ca4..cab51fc44d 100644 --- a/README.md +++ b/README.md @@ -251,7 +251,7 @@ e.g.: ### Support for multiple targets in a single library -OpenBLAS can be built for multiple targets with runtime detection of the target cpu by specifiying `DYNAMIC_ARCH=1` in Makefile.rule, on the gmake command line or as `-DDYNAMIC_ARCH=TRUE` in cmake. +OpenBLAS can be built for multiple targets with runtime detection of the target cpu by specifying `DYNAMIC_ARCH=1` in Makefile.rule, on the gmake command line or as `-DDYNAMIC_ARCH=TRUE` in cmake. For **x86_64**, the list of targets this activates contains Prescott, Core2, Nehalem, Barcelona, Sandybridge, Bulldozer, Piledriver, Steamroller, Excavator, Haswell, Zen, SkylakeX, Cooper Lake, Sapphire Rapids. For cpu generations not included in this list, the corresponding older model is used. If you also specify `DYNAMIC_OLDER=1`, specific support for Penryn, Dunnington, Opteron, Opteron/SSE3, Bobcat, Atom and Nano is added. Finally there is an option `DYNAMIC_LIST` that allows to specify an individual list of targets to include instead of the default. From 1590d8baf0f7d2558347ca41e989ab88c718a252 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Wed, 4 Mar 2026 23:12:33 +0100 Subject: [PATCH 3/3] fix install.md link for cortex-m --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cab51fc44d..3d648dd35f 100644 --- a/README.md +++ b/README.md @@ -287,7 +287,7 @@ Please note that it is not possible to combine support for different architectur - **AIX**: Supported on PPC up to POWER10 but testing is increasingly problematic due to lack of publicly available systems - **Haiku**: Supported by the community. We don't actively test the library on this OS. - **SunOS**: Supported by the community. We don't actively test the library on this OS. -- **Cortex-M**: Supported by the community. Please read . +- **Cortex-M**: Supported by the community. Please read . ## Usage