i., /:, and +/ .* are all prime candidates. There may also be potential for certain uses of ", /, and \ on certain primitives, as well as some other miscellaneous primitives. Nothing is automatically parallelised yet.

Re raspberry pi, parallel is only supported on 64 bit.

It is problematic to transparently execute user-defined code concurrently, because that code may have side effects. It may be possible to infer when tacit verbs do not have side effects, but it is not at all obvious how best to infer a cost model for such verbs. Hence, I think such parallelism is best controlled by the user. In another posting I showed how to efficiently implement u"n and u/ in parallel, and mentioned that the dyad u\ follows from similar principles. Also interesting is parallelisation of forks: the outer tines of a fork (f g h) can be executed in parallel with (f t.'' g&:> h t.'').

On Thu, 21 Apr 2022, Jan-Pieter Jacobs wrote:

Hi, I took a look at the parallel primitives; looks very interesting indeed.
If I remember the first announcement correctly, there was a mention that J
can use created threads to speed up primitives, but did not mention which.

So I wonder: which primitives are supported, and which ones will be? It
would likely be handy to know when to rely on intrinsically parallel
primitives, and when to get one's hands dirty and use t. directly.

I guess anything not working on full rank could be a candidate for being
split over the available threads, but one would need to watch out for
overheads.

Another thing I noticed: I tried the beta on raspberry pi (32 bit), but 0
T. '' yields a limit error.
Will the multithreading primitives also come to JAndroid (my phone has more
cores than my laptop :p)?

Jan-Pieter
----------------------------------------------------------------------
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