Skip to content
This repository has been archived by the owner on Oct 2, 2019. It is now read-only.
/ gomat Public archive

Matrix package with cache-aware lock-free tiling optimization in Go

License

Notifications You must be signed in to change notification settings

changkun/gomat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoDoc Build Status Go Report Card

gomat

Matrix package with cache-aware lock-free tiling optimization.

Getting started

The following illustrates some basic usage of gomat.

// Create 2x3 matrix, specified its value
// New() will throw error if provided values 
// is ineuqal to its dimension
A, err := gomat.New(2, 3)(
    1, 2, 3,
    4, 5, 6,
)

// Create a 3x4 random matrix
B := gomat.Rand(3, 4)

// Create a 2x4 zero matrix
C := gomat.Zero(2, 4)


// C = A x B, throw err if dimentionality error
err = A.Dot(B, C)
err = A.Dot(B, C) // with concurrency optimization
// or
C, err := gomat.Dot(A, B) // alloc new matrix inside Dot

License

MIT © changkun

About

Matrix package with cache-aware lock-free tiling optimization in Go

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages