From 2aee9a8a7da86c934a0a7641d6523a0983d0ec3c Mon Sep 17 00:00:00 2001 From: Matthew Barber Date: Fri, 4 Aug 2023 08:34:20 +0100 Subject: [PATCH] Move wiki contents to `docs/` --- .md | 3 --- Document.md | 27 ------------------- .../build_android.md | 16 +++++------ .../build_ios.md | 0 .../build_m1.md | 0 .../build_system.md | 0 .../build_win_arm.md | 0 CI-jobs-overview.md => docs/ci.md | 0 Developer-manual.md => docs/developers.md | 0 Donation.md => docs/donate.md | 0 Download.md => docs/download.md | 0 .../ecosystem.md | 0 OpenBLAS-Extensions.md => docs/extensions.md | 0 Faq.md => docs/faq.md | 0 .../import_mingw.md | 0 Home.md => docs/index.md | 0 Installation-Guide.md => docs/install.md | 0 Machine-List.md => docs/machine_list.md | 0 Mailing-List.md => docs/mailing_list.md | 0 .../packages.md | 0 Publications.md => docs/publications.md | 0 .../todo.md | 0 .../use_cortex.md | 0 .../use_visual_studio.md | 0 User-Manual.md => docs/user_manual.md | 0 25 files changed, 7 insertions(+), 39 deletions(-) delete mode 100644 .md delete mode 100644 Document.md rename How-to-build-OpenBLAS-for-Android.md => docs/build_android.md (96%) rename How-to-build-OpenBLAS-for-iPhone-iOS-(ARMv8).md => docs/build_ios.md (100%) rename How-to-build-OpenBLAS-for-macOS-M1---arm64.md => docs/build_m1.md (100%) rename WIP---Build-system-overview-(community-made).md => docs/build_system.md (100%) rename How-to-build-OpenBLAS-for-Windows-on-ARM64.md => docs/build_win_arm.md (100%) rename CI-jobs-overview.md => docs/ci.md (100%) rename Developer-manual.md => docs/developers.md (100%) rename Donation.md => docs/donate.md (100%) rename Download.md => docs/download.md (100%) rename Related-packages-that-use-OpenBLAS.md => docs/ecosystem.md (100%) rename OpenBLAS-Extensions.md => docs/extensions.md (100%) rename Faq.md => docs/faq.md (100%) rename How-to-generate-import-library-for-MinGW.md => docs/import_mingw.md (100%) rename Home.md => docs/index.md (100%) rename Installation-Guide.md => docs/install.md (100%) rename Machine-List.md => docs/machine_list.md (100%) rename Mailing-List.md => docs/mailing_list.md (100%) rename Precompiled-installation-packages.md => docs/packages.md (100%) rename Publications.md => docs/publications.md (100%) rename Fixed-optimized-kernels-To-do-List.md => docs/todo.md (100%) rename How-to-use-OpenBLAS-on-Cortex-M.md => docs/use_cortex.md (100%) rename How-to-use-OpenBLAS-in-Microsoft-Visual-Studio.md => docs/use_visual_studio.md (100%) rename User-Manual.md => docs/user_manual.md (100%) diff --git a/.md b/.md deleted file mode 100644 index e33f6435d..000000000 --- a/.md +++ /dev/null @@ -1,3 +0,0 @@ -# Installation Guide - -test \ No newline at end of file diff --git a/Document.md b/Document.md deleted file mode 100644 index 68154b2d3..000000000 --- a/Document.md +++ /dev/null @@ -1,27 +0,0 @@ -
-
- [Home] - [Document] - [FAQ] - [Publications] - [Download] -[Mailing List] -[Donation] -
-
- -[Installation Guide](Installation-Guide) - -[User Manual](User-Manual) - -[Developer Manual](Developer-manual) - -[Use OpenBLAS in MS Visual Studio](How-to-use-OpenBLAS-in-Microsoft-Visual-Studio) - -[Generate import library for MingW](How-to-generate-import-library-for-MingW) - -[OpenBLAS Extensions](OpenBLAS-Extensions) - -[Related packages that use OpenBLAS](Related-packages-that-use-OpenBLAS) - -[Machine List](Machine-List) \ No newline at end of file diff --git a/How-to-build-OpenBLAS-for-Android.md b/docs/build_android.md similarity index 96% rename from How-to-build-OpenBLAS-for-Android.md rename to docs/build_android.md index 2c2229e37..b6bc37735 100644 --- a/How-to-build-OpenBLAS-for-Android.md +++ b/docs/build_android.md @@ -1,16 +1,14 @@ -## Prerequisites - In addition to the Android NDK, you will need a C compiler on the build host as this is currently required by the OpenBLAS build environment. -# Building with android NDK using clang compiler +### Building with android NDK using clang compiler Around version 11 Android NDKs stopped supporting gcc, so you would need to use clang to compile OpenBLAS. clang is supported from OpenBLAS 0.2.20 version onwards. See below sections on how to build with clang for ARMV7 and ARMV8 targets. The same basic principles as described below for ARMV8 should also apply to building an x86 or x86_64 version (substitute something like NEHALEM for the target instead of ARMV8 and replace all the aarch64 in the toolchain paths obviously) "Historic" notes: Since version 19 the default toolchain is provided as a standalone toolchain, so building one yourself following [building a standalone toolchain](http://developer.android.com/ndk/guides/standalone_toolchain.html) should no longer be necessary. If you want to use static linking with an old NDK version older than about r17, you need to choose an API level below 23 currently due to NDK bug 272 (https://github.com/android-ndk/ndk/issues/272 , the libc.a lacks a definition of stderr) that will probably be fixed in r17 of the NDK. -## Build ARMV7 with clang +#### Build ARMV7 with clang ``` # Set path to ndk-bundle export NDK_BUNDLE_DIR=/path/to/ndk-bundle @@ -33,7 +31,7 @@ AR=${NDK_BUNDLE_DIR}/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64 ``` otherwise you may get a linker error complaining about a "malformed archive header name at 8" when the native OSX ar command was invoked instead. Note that with recent NDK versions, the AR tool may be named `llvm-ar` rather than what is assumed above. -## Build ARMV8 with clang +#### Build ARMV8 with clang ``` # Set path to ndk-bundle export NDK_BUNDLE_DIR=/path/to/ndk-bundle/ @@ -59,7 +57,7 @@ make HOSTCC=gcc CC=/opt/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/b ``` appears to be sufficient on Linux. On OSX, setting AR to the ar provided in the "bin" path of the NDK (probably llvm-ar) is also necessary. -## Alternative script which was tested on OSX with NDK(21.3.6528147) +#### Alternative script which was tested on OSX with NDK(21.3.6528147) This script will build openblas for 3 architecture (ARMV7,ARMV8,X86) and put them with `sudo make install` to `/opt/OpenBLAS/lib`. Of course you can also copy only the section that is of interest to you - also notice that the AR= line may need adapting to the name of the ar tool provided in your $TOOLCHAIN/bin - for example llvm-ar in some recent NDK versions. @@ -116,7 +114,7 @@ Also you can find full list of target architectures in [TargetsList.txt](https:/ *** anything below this line should be irrelevant nowadays unless you need to perform software archeology *** -## Building OpenBLAS with very old gcc-based versions of the NDK, without Fortran +#### Building OpenBLAS with very old gcc-based versions of the NDK, without Fortran The prebuilt Android NDK toolchains do not include Fortran, hence parts like LAPACK cannot be built. You can still build OpenBLAS without it. For instructions on how to build OpenBLAS with Fortran, see the [next section](#building-openblas-with-fortran). @@ -155,7 +153,7 @@ here that you specified for building, otherwise errors may occur as it tries to make PREFIX=/path/to/install-dir TARGET=... install ``` -## Building OpenBLAS with Fortran +#### Building OpenBLAS with Fortran Instructions on how to build the GNU toolchains with Fortran can be found [here](https://github.com/buffer51/android-gfortran). The [Releases section](https://github.com/buffer51/android-gfortran/releases) provides prebuilt versions, use the standalone one. @@ -172,7 +170,7 @@ make TARGET=ARMV8 BINARY=64 HOSTCC=gcc CC=aarch64-linux-android-gcc FC=aarch64-l As mentioned above you can leave off the `libs` argument here when building 0.2.20 and later, and you may want to add ARM_SOFTFP_ABI=1 when building for ARMV7. -## Linking OpenBLAS (0.2.19 and earlier) for ARMV7 +#### Linking OpenBLAS (0.2.19 and earlier) for ARMV7 If you are using `ndk-build`, you need to set the ABI to hard floating points in your Application.mk: ``` diff --git a/How-to-build-OpenBLAS-for-iPhone-iOS-(ARMv8).md b/docs/build_ios.md similarity index 100% rename from How-to-build-OpenBLAS-for-iPhone-iOS-(ARMv8).md rename to docs/build_ios.md diff --git a/How-to-build-OpenBLAS-for-macOS-M1---arm64.md b/docs/build_m1.md similarity index 100% rename from How-to-build-OpenBLAS-for-macOS-M1---arm64.md rename to docs/build_m1.md diff --git a/WIP---Build-system-overview-(community-made).md b/docs/build_system.md similarity index 100% rename from WIP---Build-system-overview-(community-made).md rename to docs/build_system.md diff --git a/How-to-build-OpenBLAS-for-Windows-on-ARM64.md b/docs/build_win_arm.md similarity index 100% rename from How-to-build-OpenBLAS-for-Windows-on-ARM64.md rename to docs/build_win_arm.md diff --git a/CI-jobs-overview.md b/docs/ci.md similarity index 100% rename from CI-jobs-overview.md rename to docs/ci.md diff --git a/Developer-manual.md b/docs/developers.md similarity index 100% rename from Developer-manual.md rename to docs/developers.md diff --git a/Donation.md b/docs/donate.md similarity index 100% rename from Donation.md rename to docs/donate.md diff --git a/Download.md b/docs/download.md similarity index 100% rename from Download.md rename to docs/download.md diff --git a/Related-packages-that-use-OpenBLAS.md b/docs/ecosystem.md similarity index 100% rename from Related-packages-that-use-OpenBLAS.md rename to docs/ecosystem.md diff --git a/OpenBLAS-Extensions.md b/docs/extensions.md similarity index 100% rename from OpenBLAS-Extensions.md rename to docs/extensions.md diff --git a/Faq.md b/docs/faq.md similarity index 100% rename from Faq.md rename to docs/faq.md diff --git a/How-to-generate-import-library-for-MinGW.md b/docs/import_mingw.md similarity index 100% rename from How-to-generate-import-library-for-MinGW.md rename to docs/import_mingw.md diff --git a/Home.md b/docs/index.md similarity index 100% rename from Home.md rename to docs/index.md diff --git a/Installation-Guide.md b/docs/install.md similarity index 100% rename from Installation-Guide.md rename to docs/install.md diff --git a/Machine-List.md b/docs/machine_list.md similarity index 100% rename from Machine-List.md rename to docs/machine_list.md diff --git a/Mailing-List.md b/docs/mailing_list.md similarity index 100% rename from Mailing-List.md rename to docs/mailing_list.md diff --git a/Precompiled-installation-packages.md b/docs/packages.md similarity index 100% rename from Precompiled-installation-packages.md rename to docs/packages.md diff --git a/Publications.md b/docs/publications.md similarity index 100% rename from Publications.md rename to docs/publications.md diff --git a/Fixed-optimized-kernels-To-do-List.md b/docs/todo.md similarity index 100% rename from Fixed-optimized-kernels-To-do-List.md rename to docs/todo.md diff --git a/How-to-use-OpenBLAS-on-Cortex-M.md b/docs/use_cortex.md similarity index 100% rename from How-to-use-OpenBLAS-on-Cortex-M.md rename to docs/use_cortex.md diff --git a/How-to-use-OpenBLAS-in-Microsoft-Visual-Studio.md b/docs/use_visual_studio.md similarity index 100% rename from How-to-use-OpenBLAS-in-Microsoft-Visual-Studio.md rename to docs/use_visual_studio.md diff --git a/User-Manual.md b/docs/user_manual.md similarity index 100% rename from User-Manual.md rename to docs/user_manual.md