instructions in  

man_jaf_ 'bench'

mptime 600 gets faster results on    init_jaf_ 'cpu'  and    init_jaf_ 'cuda' 
on my system.  But that is full round trip to J execution.

If you are keeping results on gpu for further processing, then its faster for 
all matrix sizes as arrayfire structures.  Arrayfire/gpu will also execute 
asynchroneously, such that if you had multiple independent operations, starting 
them all before accessing the first result wouldn't wait on that result.  In 
the display of mptime results, the sync line is the actual processing time.  
matmul itself returns imediately.






On Thursday, January 27, 2022, 08:29:48 p.m. EST, Ric Sherlock 
<tikk...@gmail.com> wrote: 





Thanks Eric - this looks very promising!

I managed to get it installed & running on WSL although I needed to amend
the instructions on the arrayfire website somewhat so I could write to
/etc/ld.so.conf.d/
Any thoughts on where the switchover point is at which Arrayfire is
compelling relative to J's native array calculation. I imagine it is system
dependent but was just trying to get general feel.

One thought (and it probably applies for other addons as well), is without
the "Get Started" section of Eric's initial forum post, it seems to me it
would be more difficult than necessary for a new user to know what to do
after loading the addon.
Should there be more info in the Manifest summary? Or should we rely on an
Addon page on the wiki for info like this?
Another option might be, on addon load, to echo " To get started run:
man_jaf_ 'intro' "  to the session.

On Fri, Jan 28, 2022 at 10:08 AM Eric Iverson <eric.b.iver...@gmail.com>
wrote:

> arrayfire addon updated
>
> * improved init
>
> * support for apple m1
>
> * Pascal's idea that integer lists are better than boxed lists
>  this required changes in several of the tutorial examples
>  for example,
>    q=. af_matmul_jaf_ af1;af2
>  was changed to
>    q=. af_matmul_jaf_ af1,af2
>
> * J like dyad syntax for ops like matmul and the mop family was not adopted
>  matmul lh,rh is in fact: matmul lh,rh,lhoptions,rhoptions
>  mop lh,rh    is in fact: mop lh,rh,options
>  this makes the dyad idea less attractive
>
> * opencl has been tested
>  it works, but is quite flaky on some platforms
>  works as expected on windows, but had lots of 'internal error' on linx
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm

>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to