Skip to content

ilango100/blasgo

Repository files navigation

BLASGo

GoDoc Build Status

BlasGo is a wrapper library providing BLAS routines in Go.

BlasGo tries to bring BLAS functions to "pure" Go, using BLAS implementation libraries (Intel MKL, NVIDIA CUDA etc). BlasGo needs a CBLAS/BLAS implementation library (Eg: OpenBLAS, ATLAS, etc.) to link against.

This is not a pure Go implementation of BLAS. Rather, this package bridges CBLAS/BLAS implementations with Go. The advantage is that it may be faster than pure Go implementation of BLAS functions, when used with accelereted library for running hardware.

This is a Work in Progress.

BLAS libraries

This package should be able to link against any CBLAS/BLAS implementation. The cgo build flags has to be set accordingly. View Linking instructions for more details.

Currently, the following libraries are tested:

Library Linux Windows
BLAS Reference
OpenBLAS
Intel MKL
NVIDIA NVBLAS*

* - Needs BLAS flag while linking. See Linking instructions for more details.

List of implementations: Wiki

Contributions

Any contributions in the form of issues or pull requests are always welcome. Feel free to contribute!

Releases

No releases published

Packages

No packages published