Git Product home page Git Product logo

blasx's Introduction

BLASX

It's a heterogeneous multiGPU level-3 BLAS library. This is an alternative to cuBLAS-XT, a commercial licensed multiGPU tiled BLAS. However, BLASX deliveries at least 25% more performance and 200% less communication volume. For detailed information, please refer to our ICS paper @ http://arxiv.org/abs/1510.05041 or http://dl.acm.org/citation.cfm?id=2926256

For installation, please change the make.inc. Basically, the following varaiables need to be updated:

  • 1. LIBCPUBLAS: please change it to the location of CPU BLAS. OpenBLAS is highly recommended. If you're using Linux, the library extension should be '.so'. I give an OSX verison in the repository make.inc, which follows the dylib extension.
  • 2. LIBGPUBLAS: please change it to the location of CUDA on your machine

Once you have configured these two variables, then you're good to go. Simply Make and the library is built in the lib folder.

To use BLASX:

  • 1. export LD_LIBRARY_PATH to the location of BLASX lib.
  • 2. you need to link cuBLAS when use BLASX. There is an example of linkage in the testing folder.
Integrating BLASX with MATLAB is pretty easy,
  • 1. open a command line, export BLAS_VERSION=/path/to/BLASX
  • 2. init MATLAB from command line, say typing matlab
  • 3. that's it, enjoy!!
For more questions, please open an issue and I will update accordingly. Enjoy!

If you need other routines in Level-3 BLAS, please contact me at [email protected]

Please cite our paper@

@inproceedings{wang2016blasx,
title={BLASX: A High Performance Level-3 BLAS Library for Heterogeneous Multi-GPU Computing},
author={Wang, Linnan and Wu, Wei and Xu, Zenglin and Xiao, Jianxiong and Yang, Yi},
booktitle={Proceedings of the 2016 International Conference on Supercomputing},
pages={20},
year={2016},
organization={ACM}
}

Linnan

---ZGEMM routine courtesy to Jan Winkelmann and Paul Springer

blasx's People

Contributors

linnanwang avatar

Watchers

 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.