OK, that makes sense (I love it when a 1000 1000 matrix product is "small" - 
thinking back to when I first did that benchmark in a 32 KILObyte APL  
workspace - Moore's law has been quite a ride!)

But I'm still a little puzzled why my "default" appears to perform in between 
always and never.

> On 2020May 14, at 17:36, bill lam <[email protected]> wrote:
> 
> +/ . * has 2 implementions blas and non blas, generally blas is faster on
> large matrix. there are default thresholds m*n*p to choose blas, the monad
> (9!:58)"0 i.3
> reports the threshold for integer, double and complex.
> the dyad set the threshold with 2 special values that I had mentioned.
> 
> % . calls +/ . * internally in its implemention.
> 
> I suspect the size of matrix you tested is "small" by today's standard so
> non blas is faster.
> 
> This needs tuning, you may experiment with different thresholds and
> different matrixes to get the best results.
> 
> On Fri, May 15, 2020, 8:17 AM Joey K Tuttle <[email protected]> wrote:
> 
>> Bill,
>> 
>> I had no idea about this - where can I read about blas vs non-blas?
>> 
>> It would seem that my "default" is neither of your suggested cases - but
>> again, no idea what is implied.
>> 
>> MBpro-3:~ jkt$ jb
>>   JVERSION
>> Engine: j902/j64avx2/darwin
>> Beta-a: commercial/2020-05-09T10:56:17 clang-11-0-0
>> Library: 9.02.03
>> Platform: Darwin 64
>> Installer: J902 install
>> InstallPath: /applications/j902
>> Contact: www.jsoftware.com
>>   3 timex '%. 1000 1000 ?@$ 0'
>> 0.2393233333 44041920
>>   0 (9!:58)"0 i.3
>> 1 1 1
>>   3 timex '%. 1000 1000 ?@$ 0'
>> 0.3294893333 44041920
>>   _1 (9!:58)"0 i.3
>> 1 1 1
>>   3 timex '%. 1000 1000 ?@$ 0'
>> 0.2068576667 44041920
>> 
>> I do like the increased speed from the default to the _1 (9!:58)"0 i.3
>> case. I would like to know more about the implications.
>> 
>> 
>>> On 2020May 14, at 16:23, bill lam <[email protected]> wrote:
>>> 
>>> Joey, another possibility is blas vs non-blas code being called.
>>> 
>>> foreign 9!:58 can set threshold
>>> _1 (9!:58)"0 i.3       NB.  +/ .*  never use blas
>>> 0 (9!:58)"0 i.3        NB.  +/ .*  alwasy use blas
>>> 
>>> Can you try execute
>>> _1 (9!:58)"0 i.3
>>> then run your benchmark, then execute
>>> 0 (9!:58)"0 i.3
>>> then run benchmark again and verify which mode you are using by default?
>>> 
>>> 
>>> On Fri, May 15, 2020, 5:32 AM Joey K Tuttle <[email protected]> wrote:
>>> 
>>>> Installed under OS X 10.14.6 easily - but I'm puzzled why "my" benchmark
>>>> 
>>>>  timex '%. 1000 1000 ?@$ 0'
>>>> 
>>>> takes more than twice as much cpu compared to j901...  (space used is
>>>> identical)
>>>> 
>>>>> On 2020May 14, at 14:27, Henry Rich <[email protected]> wrote:
>>>>> 
>>>>> This beta has a few language changes:
>>>>> 
>>>>> * Fold (u F:. v) has been redefined to execute v first, then, u
>>>>> 
>>>>> * u0`u1`...@v now has infinite rank.  v is executed first to decide the
>>>> cell-rank, and which verb is to be executed for each cell; then the u
>> verbs
>>>> are executed, either one cell at a time or in one call to each verb, to
>>>> execute on a list of cells at once. Therefore, each u verb needs to be
>> able
>>>> to handle single cell or a list of input cells.
>>>>> 
>>>>> * semiduals are supported at last: x u&.:(v`a:) y applies v only to x,
>>>> and x u&.:(a:`v) y applies v only to y.
>>>>> 
>>>>> Henry Rich
>>>>> 
>>>>> On 5/14/2020 3:49 PM, Eric Iverson wrote:
>>>>>> The first 902 beta release is available for windows/macos/linux.
>>>>>> 
>>>>>> https://code.jsoftware.com/wiki/System/Installation/J902
>>>>>> 
>>>>>> Availability of new releases will be announced here.
>>>>>> 
>>>>>> Questions, problems, etc should be addressed to the beta forum.
>>>>>> ----------------------------------------------------------------------
>>>>>> For information about J forums see
>> http://www.jsoftware.com/forums.htm
>>>>> 
>>>>> 
>>>>> --
>>>>> This email has been checked for viruses by AVG.
>>>>> https://www.avg.com
>>>>> 
>>>>> ----------------------------------------------------------------------
>>>>> 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
>> 
>> ----------------------------------------------------------------------
>> 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