Giter Site home page Giter Site logo

daineamd / rocblas-examples Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rocm/rocblas-examples

0.0 0.0 0.0 242 KB

Examples illustrating usage of the rocBLAS library

License: MIT License

Makefile 18.63% C++ 61.85% Groovy 1.56% Shell 1.40% C 2.91% Fortran 2.25% CMake 3.27% Python 8.12%

rocblas-examples's Introduction

rocBLAS-Examples

Examples for using rocBLAS which is a GPU exploiting implementation of BLAS.

rocBLAS

rocBLAS is AMD's library for BLAS on ROCmTM. It is implemented in the HIP programming language and optimized for AMD's GPUs.

Acronym Expansion
BLAS Basic Linear Algebra Subprograms
HIP Heterogeneous-Compute Interface for Portability

Documentation

Documentation for each example is contained in the README.md of each example's directory and in the source code itself. The examples utilize C++ and some shared helper code which is all contained in the common directory. The design patterns used in common may be utilized but are intended to keep the focus of individual examples on the rocBLAS calling structure.

Prerequisites

  • rocBLAS and it's prerequisites
  • ROCm version 3.5 or later (rocBLAS version 2.22 or later)
  • As this repo is not tied to specific ROCm releases we recommend building against the latest release of ROCm or the master branch of rocBLAS

If you require rocBLAS it is available at https://github.com/ROCmSoftwarePlatform/rocBLAS

Installing

This repository can be cloned into any directory where you want to build the examples.

Building

These examples require that you have an installation of rocBLAS on your machine. You do not require sudo or other access to build these examples which default to compile with gcc but can also use the hipcc compiler from the rocBLAS installation. The compiler must support the c++14 standard. The use of hipcc can be set by uncommenting a line in the Makefiles. The Makefiles support building against a locally built but not installed version of rocBLAS by setting the environment variable ROCBLAS_PATH, e.g. export ROCBLAS_PATH=/...yourlocalpath.../rocBLAS/build/release/rocblas-install

After cloning this repository you can build all the examples using make in the top-level directory, or run make in a sub-level directory to build a specific example:

cd Level-1/swap
make
./swap

Level-1/swap is the simplest example and is a good starting point to read over the code as it introduces the concepts which may be skipped over in other examples.

Note when compiling with gcc we are defining both the newer -D__HIP_PLATFORM_AMD__ and the deprecated -D__HIP_PLATFORM_HCC__ to allow building against various rocm releases.

Contributing

Additional examples should be added in the Applications directory. The directory name should indicate the application domain and examples must contain a README.md file. Additional examples may use the common code but should not modify it.

rocblas-examples's People

Contributors

amcamd avatar amdkila avatar daineamd avatar eidenyoshida avatar naveenelumalaiamd avatar solaslin avatar torrezuk avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.