GithubHelp home page GithubHelp logo

tpkessler / rocsparse Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rocm/rocsparse

0.0 0.0 0.0 8.84 MB

Next generation SPARSE implementation for ROCm platform

License: MIT License

CMake 0.72% C++ 83.28% C 10.24% Shell 0.53% Python 0.84% Groovy 0.21% Fortran 4.18%

rocsparse's Introduction

rocSPARSE

rocSPARSE exposes a common interface that provides Basic Linear Algebra Subroutines for sparse computation implemented on top of AMD's Radeon Open eCosystem Platform ROCm runtime and toolchains. rocSPARSE is created using the HIP programming language and optimized for AMD's latest discrete GPUs.

Documentation

The latest rocSPARSE documentation and API description can be found here or downloaded as pdf.

Requirements

  • Git
  • CMake (3.5 or later)
  • AMD ROCm 3.5 platform or later

Optional:

  • GTest
    • Required for tests.
    • Use GTEST_ROOT to specify GTest location.
    • If GTest is not found, it will be downloaded and built automatically.

Quickstart rocSPARSE build and install

Install script

You can build rocSPARSE using the install.sh script

# Clone rocSPARSE using git
git clone https://github.com/ROCmSoftwarePlatform/rocSPARSE.git

# Go to rocSPARSE directory
cd rocSPARSE

# Run install.sh script
# Command line options:
#   -h|--help         - prints help message
#   -i|--install      - install after build
#   -d|--dependencies - install build dependencies
#   -c|--clients      - build library clients too (combines with -i & -d)
#   -g|--debug        - build with debug flag
./install.sh -dci

CMake

All compiler specifications are determined automatically. The compilation process can be performed by

# Clone rocSPARSE using git
git clone https://github.com/ROCmSoftwarePlatform/rocSPARSE.git

# Go to rocSPARSE directory, create and go to the build directory
cd rocSPARSE; mkdir -p build/release; cd build/release

# Configure rocSPARSE
# Build options:
#   BUILD_CLIENTS_TESTS      - build tests (OFF)
#   BUILD_CLIENTS_BENCHMARKS - build benchmarks (OFF)
#   BUILD_CLIENTS_SAMPLES    - build examples (ON)
#   BUILD_VERBOSE            - verbose output (OFF)
#   BUILD_SHARED_LIBS        - build rocSPARSE as a shared library (ON)
CXX=/opt/rocm/bin/hipcc cmake -DBUILD_CLIENTS_TESTS=ON ../..

# Build
make

# Install
[sudo] make install

Unit tests

To run unit tests, rocSPARSE has to be built with option -DBUILD_CLIENTS_TESTS=ON.

# Go to rocSPARSE build directory
cd rocSPARSE; cd build/release

# Run all tests
./clients/staging/rocsparse-test

Benchmarks

To run benchmarks, rocSPARSE has to be built with option -DBUILD_CLIENTS_BENCHMARKS=ON.

# Go to rocSPARSE build directory
cd rocSPARSE/build/release

# Run benchmark, e.g.
./clients/staging/rocsparse-bench -f hybmv --laplacian-dim 2000 -i 200

Support

Please use the issue tracker for bugs and feature requests.

License

The license file can be found in the main repository.

rocsparse's People

Contributors

agonzales-amd avatar alexbrownamd avatar amdkila avatar angeloo01 avatar arvindcheru avatar bragadeesh avatar cgmb avatar doctorcolinsmith avatar eidenyoshida avatar jsandham avatar lawruble13 avatar ntrost57 avatar pavahora avatar pramenku avatar pruthvistony avatar rocmamd avatar saadrahim avatar scchan avatar torrezuk avatar tpkessler avatar urmbista avatar xuhuisheng avatar yoichiyoshida avatar yvanmokwinski avatar yxsamliu 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.