AOCL-BLIS replaced with AOCL-BLAS at various places like "configure", "CMakeLists.txt" and documentation files. Change-Id: I75c3fbe8a1abc91828eeacb25672fd7bc905d226
6.2 KiB
@mainpage
Welcome to AOCL-BLAS
Table of Content
* [Introduction](#Introduction)
* [Build and Installation](#Build)
* [Examples](#Example)
* [Contact Us](#Contact)
Introduction
AOCL BLAS BLIS is a portable software framework for instantiating high-performance BLAS-like dense linear algebra libraries. The framework was designed to isolate essential kernels of computation that, when optimized, immediately enable optimized implementations of most of its commonly used and computationally intensive operations. BLIS is written in ISO C99 and available under a new/modified/3-clause BSD license. While BLIS exports a new BLAS-like API, it also includes a BLAS compatibility layer which gives application developers access to BLIS implementations via traditional BLAS routine calls. An object-based API unique to BLIS is also available.
How to Download AOCL BLAS
There are a few ways to download BLIS. We list the most common four ways below. We highly recommend using either Option 1 or 2. Otherwise, we recommend Option 3 (over Option 4) so your compiler can perform optimizations specific to your hardware.
-
Download a source repository with
git clone. Generally speaking, we prefer usinggit cloneto clone agitrepository. Having a repository allows the user to periodically pull in the latest changes and quickly rebuild BLIS whenever they wish. Also, implicit in cloning a repository is that the repository defaults to using themasterbranch, which contains the latest "stable" commits since the most recent release. (This is in contrast to Option 3 in which the user is opting for code that may be slightly out of date.)In order to clone a
gitrepository of BLIS, please obtain a repository URL by clicking on the green button above the file/directory listing near the top of this page (as rendered by GitHub). Generally speaking, it will amount to executing the following command in your terminal shell:git clone https://github.com/amd/blis.git -
Download a source repository via a zip file. If you are uncomfortable with using
gitbut would still like the latest stable commits, we recommend that you download BLIS as a zip file.In order to download a zip file of the BLIS source distribution, please click on the green button above the file listing near the top of this page. This should reveal a link for downloading the zip file.
-
Download a source release via a tarball/zip file. Alternatively, if you would like to stick to the code that is included in official releases, you may download either a tarball or zip file of any of BLIS's previous tagged releases. We consider this option to be less than ideal for most people since it will likely mean you miss out on the latest bugfix or feature commits (in contrast to Options 1 or 2), and you also will not be able to update your code with a simple
git pullcommand (in contrast to Option 1). -
Download a binary package specific to your OS. While we don't recommend this as the first choice for most users, we provide links to community members who generously maintain BLIS packages for various Linux distributions such as Debian Unstable and EPEL/Fedora. Please see the External Packages section below for more information.
Getting Started
NOTE: This section assumes you've either cloned a BLIS source code repository
via git, downloaded the latest source code via a zip file, or downloaded the
source code for a tagged version release---Options 1, 2, or 3, respectively,
as discussed in the previous section.
If you just want to build a sequential (not parallelized) version of BLIS in a hurry and come back and explore other topics later, you can configure and build BLIS as follows:
$ ./configure auto
$ make [-j]
You can then verify your build by running BLAS- and BLIS-specific test
drivers via make check:
$ make check [-j]
And if you would like to install BLIS to the directory specified to configure
via the --prefix option, run the install target:
$ make install
Please read the output of ./configure --help for a full list of configure-time
options.
If/when you have time, we strongly encourage you to read the detailed
walkthrough of the build system found in our Build System
guide.
Example Code
The BLIS source distribution provides example code in the examples directory.
Example code focuses on using BLIS APIs (not BLAS or CBLAS), and resides in
two subdirectories: examples/oapi (which demonstrates the
object API) and examples/tapi (which
demonstrates the typed API).
Either directory contains several files, each containing various pieces of
code that exercise core functionality of the BLIS API in question (object or
typed). These example files should be thought of collectively like a tutorial,
and therefore it is recommended to start from the beginning (the file that
starts in 00).
You can build all of the examples by simply running make from either example
subdirectory (examples/oapi or examples/tapi). (You can also run
make clean.) The local Makefile assumes that you've already configured and
built (but not necessarily installed) BLIS two directories up, in ../... If
you have already installed BLIS to some permanent directory, you may refer to
that installation by setting the environment variable BLIS_INSTALL_PATH prior
to running make:
export BLIS_INSTALL_PATH=/usr/local; make
or by setting the same variable as part of the make command:
make BLIS_INSTALL_PATH=/usr/local
Once the executable files have been built, we recommend reading the code and the corresponding executable output side by side. This will help you see the effects of each section of code.
This tutorial is not exhaustive or complete; several object API functions were omitted (mostly for brevity's sake) and thus more examples could be written.
CONTACTS
AOCL BLAS is developed and maintained by AMD. You can contact us on the email-id aoclsupport@amd.com