GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — algorithm/blas at master · andeya/algorithm

Expand file tree

/

blas

/
Copy path

Directory actions

More options

More options

Directory actions

More options

More options

Latest commit

 

History

History
History
/

blas

/
Copy path

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
.gitignore
.gitignore
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
common.go
common.go
 
 
d_test.go
d_test.go
 
 
dasum.go
dasum.go
 
 
daxpy.go
daxpy.go
 
 
dcopy.go
dcopy.go
 
 
ddot.go
ddot.go
 
 
dgemv.go
dgemv.go
 
 
dnrm2.go
dnrm2.go
 
 
doc.go
doc.go
 
 
drot.go
drot.go
 
 
drotg.go
drotg.go
 
 
drotmg.go
drotmg.go
 
 
dscal.go
dscal.go
 
 
dswap.go
dswap.go
 
 
idamax.go
idamax.go
 
 
isamax.go
isamax.go
 
 
s_test.go
s_test.go
 
 
sasum.go
sasum.go
 
 
saxpy.go
saxpy.go
 
 
scopy.go
scopy.go
 
 
sdot.go
sdot.go
 
 
sdsdot.go
sdsdot.go
 
 
snrm2.go
snrm2.go
 
 
srot.go
srot.go
 
 
srotg.go
srotg.go
 
 
sscal.go
sscal.go
 
 
sswap.go
sswap.go
 
 
stubs.bash
stubs.bash
 
 

README.md

Outline

Go implementation of BLAS (Basic Linear Algebra Subprograms)

Any function is implemented in generic Go and if it is justified, it is optimized for AMD64 (using SSE2 instructions).

AMD64 implementation uses MOVUPS/MOVUPD instructions if all strides equal to 1 so it run fast on Nehalem, Sandy Bridge and newer processors but relatively slow on older processors.

Any implemented function has its own unity test and benchmark.

Implemented functions

Level 1

Sdsdot, Sdot, Ddot, Snrm2, Dnrm2, Sasum, Dasum, Isamax, Idamax, Sswap, Dswap, Scopy, Dcopy, Saxpy, Daxpy, Sscal, Dscal, Srotg, Drotg, Srot, Drot

Level 2

not implemented

Level 3

not implemented

####Example benchmarks

FunctionGeneric GoOptimized for AMD64
Ddot2825 ns/op895 ns/op
Dnrm22787 ns/op597 ns/op
Dasum3145 ns/op560 ns/op
Sdsdot3133 ns/op1733 ns/op
Sdot2832 ns/op508 ns/op

Documentation

http://godoc.org/github.com/ziutek/blas

You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.