guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: AIscm array operations for Scheme


From: Jan Wedekind
Subject: Re: AIscm array operations for Scheme
Date: Thu, 3 Aug 2017 08:23:10 +0100 (BST)
User-agent: Alpine 2.20 (DEB 67 2015-01-07)

Thanks.
Currently neither. I have in mind to add some LAPACK bindings (singular value decomposition, eigenvalue decomposition, least squares to begin with). First full native floating point support needs to be implemented.
Here is an example of a matrix vector product:

    (use-modules (aiscm sequence) (aiscm expression) (aiscm tensor))
    (tensor i (sum k (* (get (arr (2 3) (5 7)) i k) (get (arr 11 13) k))))
    $3 = #<sequence<int<8,unsigned>>>:
    (87 124)

Floating point values currently fall back on Scheme objects:

    (tensor i (sum k (* (get (arr (2 3) (5 7)) i k) (get (arr 1.1 1.3) k))))
    $4 = #<sequence<obj>>:
    (8.7 12.4)

Note that in this case the array loops are still JIT compiled. Addition and multiplication are handled by JIT compiling callbacks into GNU Guile (scm_plus, scm_product).

Regards
Jan

 On Thu, 3 Aug 2017, Nala Ginrut wrote:

Nice work!
Do you use BLAS or MKL for vector operation?


2017年8月3日 04:16,"Jan Wedekind" <address@hidden>写道:

Hi,
I have released a new version of AIscm [1]. A Guile extension for
numerical arrays and tensors. It now supports convolutions [2] and tensor
operations [3]. There are packages for different versions of Debian and
Ubuntu. Also thanks to Andrey Rahmatullin's sponsorship, the package is
part of Debian Testing [4].

Regards
Jan

[1] http://wedesoft.github.io/aiscm/
[2] http://wedesoft.github.io/aiscm/convolution.html
[3] http://wedesoft.github.io/aiscm/operation.html#tensor-operations
[4] https://tracker.debian.org/pkg/aiscm





reply via email to

[Prev in Thread] Current Thread [Next in Thread]