Well I saw a couple times where parallelism could have been very useful.
Something like:
{SolveSudoku ⍵}⍤2 ⊣ Cube_of_9x9x1000_sudoku
{SolveSudoku ⍵}¨ big_array_of_enclosed_9x9_sudoku
but I don't want ⍤ (rank operator) or ¨ (foreach)
operators doing parallelism per default, so I tho
Of course. Simple scalar functions would be the worst to parallelize.
We always need a large amount of operations per thread to be worthwhile.
Something like the following might be a good thing to start
⌹⍤2 X
where (LargeNumber = ×/¯2↓⍴X) ∧ 2<⍴⍴X
To support general function instead of builtins
Hi,
maybe, maybe not.
Our earlier measurements on an 80-core machine indicated that
the way how the cores connect to the memories seems to determine
the
parallel performance that can be achieved in GNU APL.
One can easily prove tha
> On Aug 26, 2016, at 1:12 PM, enz...@gmx.com wrote:
>
> finally a computer just perfect for gnuapl
>
> http://thehackernews.com/2016/08/powerful-multicore-processor.html
Now is the perfect time to invest your time and effort in improving parallel
efficiency in gnu-apl.
finally a computer just perfect for gnuapl
http://thehackernews.com/2016/08/powerful-multicore-processor.html
Thanks for the explanations. In fact I figured out the problem later while
sleeping ...
here the new definition of the "df" function with localized working ⎕pw:
∇df;names;func;lambda;⎕pw;t
⎕pw←1
names←((⊂[⎕io+1]⎕nl 3 4)~¨' ')~ ⊂"df"
lambda←({'λ'=↑⎕cr ⍵}¨names)/names
→(2> ⍴lambda)/nosrtl
lam
Hi Xtian,
nice functions.
Regarding ⎕PW and
other system variables:
When you localize a system variable in GNU APL then the localized
value of the variable is
set to the its default value (rather than giving ⎕PW ERROR
as in APL2 whe
Hi Louis,
so I suppose this was not an issue.
BTW if you believe a lambda behaves differently than a defined function then
you can check the lambda with *⎕CR*, e.g.:
*ADD←{⍺+⍵;C;⎕IO;D}**
** ⎕CR 'ADD'**
**λ←⍺ λ1 ⍵;C;⎕IO;D*
*λ←⍺+⍵ *
Or, in your example:
* f←{⍎(⍵>1)⊃'⍵' '⍵×⍙ ⍵-1'⊣⎕IO←0
Hi Xiao-Yong,
thanks, fixed in SVN 789.
/// Jürgen
On 08/24/2016 11:16 PM, Xiao-Yong Jin
wrote:
This should work,
(2 3 5 4⍴⍳24)(+⍤1⍤¯1)(2 4⍴⍳8)
VALUE ERROR
μ-Z__A_LO_RANK_X7_B[4] →(μ-X7≢¯1)⍴μ-WITH_AXES