[Jprogramming] 807 beta-e zip install packages for windows/linux/macos

Bill Heagy wheagy at bell.net
Thu May 31 21:41:30 UTC 2018


You need to change "dgemm" too (get rid of ">"):

dgemm=: 'liblapack.so.3 dgemm_ n *c *c *i *i *i *d *d *i *d *i *d *d *i'&cd


On 2018-05-30 10:30 PM, Henry Rich wrote:
> The 'mm' routine below has exactly the sort of error that Eric 
> predicted.  c is passed in to cd as a boxed argument, and the code 
> expects c to have been modified.  On 8.07, it won't be modified. You 
> have to extract the return valueout of the boxed result of cd.  I think 
> in this case you could replace the last 2 lines
> 
> dgemm (,'N');(,'N');k;k;k;(,2.5-1.5);y;k;x;k;(,1.5-1.5);c;k
> c
> 
> with
> 
> _2 {:: dgemm (,'N');(,'N');k;k;k;(,2.5-1.5);y;k;x;k;(,1.5-1.5);c;k
> 
> (untested).  We need a citizen to go through the library, making the 
> needed changes.
> 
> Henry Rich
> 
> PS There is another way to fix the problem, moving less data, but unless 
> you read the cd description carefully you won't see it (and if you don't 
> read it carefully, you shouldn't use it)
> 
> 
> On 5/30/2018 10:20 PM, bill lam wrote:
>> multiple core support was not enabled during building j engine binary,
>> otherwise  gflop for j matrix product can be 2 or 3 times better 
>> depending
>> the number of core available.
>>
>> On Thu, May 31, 2018, 2:39 AM Bill Heagy <wheagy at bell.net> wrote:
>>
>>> Maybe related: latest j src, debian intel 32.  I just run this
>>> occasionally.  Ignore the flops: it's a slow machine.  However, it
>>> appears to do the computation ok, it just returns "0"'s for c2.
>>>
>>>
>>>
>>>      NB. from (email to jprogramming): bill lam <bbill.lam at gmail.com>
>>>      NB. test and compare gigaflops with blas/lapack
>>>
>>>      dgemm=: 'liblapack.so.3 dgemm_ > n *c *c *i *i *i *d *d *i *d *i *d
>>> *d *i'&cd
>>>
>>>      mm=: 4 : 0
>>> k=. ,{.$x
>>> c=. (k,k)$1.5-1.5
>>> dgemm (,'N');(,'N');k;k;k;(,2.5-1.5);y;k;x;k;(,1.5-1.5);c;k
>>> c
>>> )
>>>
>>>      'A B'=:0?@$~2,,~4096
>>>      t1=: 6!:2'c1=: A+/ .*B'
>>>      echo ' GFlop ',~ 0j3": 2*(4096^3)%(t1)*1e9
>>> 0.456 GFlop
>>>      t1=: 6!:2'c2=: A mm B'
>>>      echo ' GFlop ',~ 0j3": 2*(4096^3)%(t1)*1e9
>>> 1.218 GFlop
>>>      echo c1-:c2
>>> 0
>>>      4!:55 ;: 'dgemm mm A B t1 c1 c2'
>>> 1 1 1 1 1 1 1
>>>
>>>
>>>
>>> Note the "0" on the comparison check at the end.
>>>
>>> On 2018-05-30 01:16 PM, J. Patrick Harrington wrote:
>>>> Eric,
>>>>    That's indeed correct. The output from j807 on the mac mini is 
>>>> wrong,
>>>> even though it dosen't crash:
>>>>      JVERSION
>>>> Engine: j806/j64nonavx/darwin
>>>> Release: commercial/2017-11-06T10:18:00
>>>> Library: 8.06.09
>>>> Qt IDE: 1.6.2s/5.6.3
>>>> Platform: Darwin 64
>>>> .... here's what it should do
>>>> ── (5 of 15) Examples ───────────────────────────────────────
>>>> Here is a simple example:
>>>> )
>>>>      fftw i.8
>>>> 28 _4j9.65685 _4j4 _4j1.65685 _4 _4j_1.65685 _4j_4 _4j_9.65685
>>>> ... and
>>>> require 'numeric'
>>>>      clean (dfft - fftw) i.8
>>>> 0 0 0 0 0 0 0 0
>>>>
>>>> But under j807:
>>>>      JVERSION
>>>> Engine: j807/j64nonavx/darwin
>>>> Beta-e: commercial/2018-05-25T12:55:54
>>>> Library: 8.07.15
>>>> Qt IDE: 1.7.1/5.9.5
>>>> Platform: Darwin 64
>>>> .... we get
>>>> ── (5 of 15) Examples ───────────────────────────────────────
>>>> Here is a simple example:
>>>> )
>>>>      fftw i.8
>>>> 0 0 0 0 0 0 0 0
>>>> and ...
>>>> require 'numeric'
>>>>      clean (dfft - fftw) i.8
>>>> 28 _4j9.65685 _4j4 _4j1.65685 _4 _4j_1.65685 _4j_4 _4j_9.65685
>>>>
>>>> The results further along under j807 are just garbage, e.g.,
>>>>
>>>> ── (10 of 15) Examples (ctd) ────────────────────────────────
>>>> )
>>>>      A=: j./ ?. 1 + i. 2 3 4 5 6 7 8
>>>>
>>>>      $A
>>>> 3 4 5 6 7 8
>>>>
>>>>      $B=: fftw A
>>>> 3 4 5 6 7 8
>>>>
>>>>      $C=: ifftw B
>>>> 3 4 5 6 7 8
>>>>
>>>>      +/ , clean A - C      NB. A matches C
>>>> 1.01974e8j3.05017e8
>>>>
>>>> On Wed, 30 May 2018, Eric Iverson wrote:
>>>>> My guess is that the lab always fails in 807 due to incorrect cd
>>>>> usage. The
>>>>> failure can be a crash or wrong answers.
>>>>>
>>>>> The lab running to completion does not mean that things are OK.
>>>>>
>>>>> Someone needs to follow the code carefully in order to correct the cd
>>>>> usage.
>>>>>
>>>>> One possibility is to step through 807 side-by-side with 806 and see
>>>>> where
>>>>> things go bad.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Wed, May 30, 2018 at 11:53 AM, J. Patrick Harrington
>>>>> <jph at astro.umd.edu>
>>>>> wrote:
>>>>>
>>>>>> My last message about my linux (Ubuntu) laptop with missing labs 
>>>>>> was my
>>>>>> error -- I had somehow started the j805 engine. Using the right 
>>>>>> files:
>>>>>>     JVERSION
>>>>>> Engine: j807/j64/linux
>>>>>> Beta-e: commercial/2018-05-25T11:59:34
>>>>>> Library: 8.07.15
>>>>>> Qt IDE: 1.7.1/5.5.1
>>>>>> Platform: Linux 64
>>>>>> Installer: J807 install
>>>>>>
>>>>>> I get the same crash after step 6 of the FFT as I do in windows 807.
>>>>>> It is
>>>>>> only on my mac mini that the lab runs correctly under 807. The lab
>>> works
>>>>>> OK on all machines under j806.
>>>>>>
>>>>>> On Wed, 30 May 2018, bill lam wrote:
>>>>>>
>>>>>>> I can duplicate the crash on Windows. I should be related to cd
>>>>>>> changes in
>>>>>>> j807.But I can't understand the covering verbs  in fftw. It looked
>>>>>>> as if
>>>>>>> it
>>>>>>> is not well organized. Maybe someone can come to rescue.
>>>>>>>
>>>>>>> It looks like it just being lucky for no crash in linux and mac.
>>>>>>>
>>>>>>> On Wed, May 30, 2018, 5:38 PM 'Mike Day' via Programming <
>>>>>>> programming at jsoftware.com> wrote:
>>>>>>>
>>>>>>> Similar here for an avx machine,  running Windows 10,
>>>>>>>> with processor: AMD A10-7300 :-
>>>>>>>>
>>>>>>>> JVERSION
>>>>>>>>
>>>>>>>> Engine: j807/j64/windows
>>>>>>>>
>>>>>>>> Beta-e: commercial/2018-05-25T12:07:57
>>>>>>>>
>>>>>>>> Library: 8.07.15
>>>>>>>>
>>>>>>>> Qt IDE: 1.7.1s/5.9.5
>>>>>>>>
>>>>>>>> Platform: Win 64
>>>>>>>>
>>>>>>>> Installer: J807 install
>>>>>>>>
>>>>>>>> InstallPath: c:/d/j807
>>>>>>>>
>>>>>>>> Contact: www.jsoftware.com
>>>>>>>>
>>>>>>>>
>>>>>>>> The FFT lab gets as far as displaying
>>>>>>>>
>>>>>>>>
>>>>>>>> "── (9 of 15) Examples (ctd) ─────────────────────────────────
>>>>>>>>
>>>>>>>> In general, the arguments to fftw and ifftw are complex,
>>>>>>>>
>>>>>>>> multidimensional arrays.
>>>>>>>>
>>>>>>>>
>>>>>>>> The next section computes the FFT on a random complex,
>>>>>>>>
>>>>>>>> 6-dimensional array of shape 3 4 5 6 7 8. This may take a few
>>>>>>>>
>>>>>>>> seconds to run.
>>>>>>>>
>>>>>>>> )"
>>>>>>>>
>>>>>>>>
>>>>>>>> and then crashing.
>>>>>>>>
>>>>>>>>
>>>>>>>> FYI,
>>>>>>>>
>>>>>>>>
>>>>>>>> Mike
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On 29/05/2018 21:57, J. Patrick Harrington wrote:
>>>>>>>>> Just installed j64-807 (nonavx) on an old windows machine.
>>>>>>>>> Trying some things, I ran the Fast Fourier Transform lab. As soon
>>>>>>>> as it
>>>>>>>>> got to the part where it should compute a complex transform, it
>>>>>>>> crashes.
>>>>>>>>> That lab runs fine in under j64-806 (nonavx).
>>>>>>>>>
>>>>>>>>> On Sat, 26 May 2018, Eric Iverson wrote:
>>>>>>>>>> The 807 beta-e zip install packages for windows/linux/macos are
>>>>>>>>>> available.
>>>>>>>>>>
>>>>>>>>>> Henry has done a lot more work to exploit virtual blocks and to
>>>>>>>> make
>>>>>>>>>> better
>>>>>>>>>> use of cache memory.
>>>>>>>>>>
>>>>>>>>>> For details, see:
>>>>>>>>>> http://code.jsoftware.com/wiki/System/ReleaseNotes/J807
>>>>>>>>>>
>>>>>>>>>> This beta is stable and, except for production work, we urge you
>>> to
>>>>>>>>>> move to
>>>>>>>>>> it now.
>>>>>>>>>>
>>>>>>>>>> Help make the final release solid!
>>>>>>>>>> ------------------------------------------------------------
>>>>>>>> ----------
>>>>>>>>>> For information about J forums see http://www.jsoftware.com/forum
>>>>>>>> s.htm
>>> ----------------------------------------------------------------------
>>>>>>>>> For information about J forums see
>>>>>>>> http://www.jsoftware.com/forums.htm
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> ---
>>>>>>>> This email has been checked for viruses by Avast antivirus 
>>>>>>>> software.
>>>>>>>> https://www.avast.com/antivirus
>>>>>>>>
>>> ----------------------------------------------------------------------
>>>>>>>> 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
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
> 
> 
> ---
> This email has been checked for viruses by AVG.
> http://www.avg.com
> 
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm

-- 
Bill Heagy
615 Country Club Drive                        mailto:wheagy at bell.net
London, Ontario N6C 5P8 Canada                telephone: 519-680-0311


More information about the Programming mailing list