unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
From: Jan Wedekind <jan@wedesoft.de>
To: Nala Ginrut <nalaginrut@gmail.com>
Cc: Guile User <guile-user@gnu.org>
Subject: Re: AIscm array operations for Scheme
Date: Thu, 3 Aug 2017 08:23:10 +0100 (BST)	[thread overview]
Message-ID: <alpine.DEB.2.20.1708030801390.8206@wedemob.home> (raw)
In-Reply-To: <CAPjoZoeMf77uDZXuGG3Y2V_whbyxOG4Bf6C0kmk8rKXc+aNmKQ@mail.gmail.com>

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" <jan@wedesoft.de>写道:
>
>> 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	other threads:[~2017-08-03  7:23 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-02 20:15 AIscm array operations for Scheme Jan Wedekind
2017-08-03  1:48 ` Nala Ginrut
2017-08-03  7:23   ` Jan Wedekind [this message]
2017-08-03 14:53     ` Nala Ginrut
2017-08-03 21:03       ` Jan Wedekind

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alpine.DEB.2.20.1708030801390.8206@wedemob.home \
    --to=jan@wedesoft.de \
    --cc=guile-user@gnu.org \
    --cc=nalaginrut@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).