• Stars
    star
    149
  • Rank 248,619 (Top 5 %)
  • Language
    Assembly
  • License
    Other
  • Created about 13 years ago
  • Updated almost 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Go implementation of BLAS (Basic Linear Algebra Subprograms)

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

More Repositories

1

emgo

Emgo: Bare metal Go (language for programming embedded systems)
C
1,031
star
2

mymysql

MySQL Client API written entirely in Go
Go
727
star
3

gst

Go bindings for GStreamer (retired: currently I don't use/develop this package)
Go
168
star
4

rrd

Bindings to rrdtool
Go
146
star
5

telnet

Package to handle a telnet connection
Go
134
star
6

dvb

DVB/MPEG-TS library (pure Go)
Go
90
star
7

kasia.go

Templating system for HTML and other text documents - go implementation
Go
74
star
8

syslog

With this package you can create your own syslog server with your own handlers for different kind of syslog messages
Go
66
star
9

mdtwm

Mouse-driven Tiling Window Manager
Go
63
star
10

simple_go_wiki

Tutorial which explain how to write the database-driven Web application using kasia.go, kview and mymysql
Go
46
star
11

glib

Go bindings for GLib type system.
Go
24
star
12

web_bench

Benchmarking Go and Python Web servers
Python
24
star
13

ftdi

Go binding for libFTDI
C
24
star
14

soap

Some SOAP related functions.
Go
21
star
15

hiperus

Hiperus API in Go (http://devel.hiperus.pl/)
Go
18
star
16

gogammu

Go binding for gammu
Go
15
star
17

serial

Serial ports handlig
Go
14
star
18

utils

Useful tools
Go
10
star
19

kview

Simple wrapper for kasia.go templates. I write all my web apps using this package
Go
9
star
20

de

Differential evolution optimization library
Go
8
star
21

matrix

Matrix library for Go
Go
7
star
22

plan9

Plan9 / p9p related stuff
Shell
5
star
23

tuntap

Simple ptp tunnel with AES encryption that uses TUN or TAP device.
Go
4
star
24

gtk

Example Go bindings for GTK
Go
4
star
25

agf

gofmt/indent in acme window (supports Go, C/C++, Java, assembler)
Go
3
star
26

usbread

Utility that allows to read from USB bulk endpoint
Go
3
star
27

pyview

kview counterpart for web.py templates
Python
3
star
28

arm-none-eabi

GNU ARM Embedded Toolchain for Linux/ARM64
3
star
29

avt414

AVT414 USB I/O card (http://ep.com.pl/files/4241.pdf)
Go
3
star
30

wakeonlan

Simple wake on lan command
Go
2
star
31

vimrc

My vim configuration files
Vim Script
2
star
32

ummmalloc

Go
2
star
33

eagle

Go API for original it950x driver.
C
2
star
34

ft8xx

Proof of concept Go driver to FTDI FT800 embedded video engine
Go
1
star
35

basic_fpga

Python
1
star
36

ziutek.github.io

HTML
1
star
37

kbdstat

Key hit statistic for X11
Python
1
star
38

nrf

Go library for nRF24L01(+) transceivers
Go
1
star
39

cutils

C
1
star
40

rysunki_dom

1
star
41

itmsplit

Parses output from ARM ITM and splits it to multiple files.
Go
1
star
42

textenc

textenc provides functions to decode non-UTF8 text strings
Go
1
star
43

thread

For manage OS thread parameters
Go
1
star
44

gdk

Go
1
star
45

WinISD

Drivers and projects
Gnuplot
1
star
46

genie_echo_server

Simple threaded echo server written in Genie language
Vim Script
1
star
47

charstat

Counts UTF-8 runes in specified directories
Go
1
star
48

crypto

Simple encryption algorithms for Go
Go
1
star