Files
blis/docs/Main_Page.md
Kiran Varaganti 63be4c8ce4 AOCL-BLIS changed to AOCL-BLAS
AOCL-BLIS replaced with AOCL-BLAS at various places like "configure",
"CMakeLists.txt" and documentation files.

Change-Id: I75c3fbe8a1abc91828eeacb25672fd7bc905d226
2024-01-25 04:31:25 -05:00

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.

  1. Download a source repository with git clone. Generally speaking, we prefer using git clone to clone a git repository. 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 the master branch, 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 git repository 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
    
  2. Download a source repository via a zip file. If you are uncomfortable with using git but 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.

  3. 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 pull command (in contrast to Option 1).

  4. 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