> On Apr 11, 2017, at 8:45 PM, bill lam <[email protected]> wrote:
> 
> I doubt it, inner product should be 4 to 20 time faster with avx support.
> check your JVERSION and os support for switching ymm registers.
I'm comparing my compiled the binary with beta-3, NOT with j805.
From the report:

j806/j64avx/darwin/beta-3/commercial/www.jsoftware.com/2017-04-10T18:24:03
j806/j64avx/darwin/beta/GPL3/jxy/2017-04-11T14:38:44

> 
> On 12 Apr, 2017 9:39 am, "Xiao-Yong Jin" <[email protected]> wrote:
> 
>> 
>>> On Apr 11, 2017, at 7:56 PM, bill lam <[email protected]> wrote:
>>> 
>>> without -DC_AVX=1 , it will build a non-avx version, and your benchmark
>>> result was expected.Ignore those 0.4 since the actual execution time were
>>> very small and unstable for comparison.
>> I didn't write that in my message, but I did have those.
>> Considering those mmint/float/complex reached comparable performance, I
>> believe
>> my binary should have the proper avx code compiled.
>> 
>>> 
>>> If your cpu supports avx, try again with cflags -DC_AVX=1 -mavx which are
>>> used in the j64avx target.
>>> 
>>> 
>>> On 12 Apr, 2017 8:33 am, "Xiao-Yong Jin" <[email protected]> wrote:
>>> 
>>> How do you guys compile the jengine?
>>> I tried to compile the source code from github, and got the following
>>> benchmark.
>>> I used gcc6.3 from macports.  I also tried the clang from xcode, but
>> didn't
>>> see much difference.
>>> I tried a few optimization levels, O1, O2, O3, Ofast, and turning off
>> some
>>> aggressive optimizations to pass the tsu.ijs.*
>>> The following is from -march=native -Ofast -fno-finite-math-only
>>> -fno-tree-loop-vectorize -fwrapv -fno-strict-aliasing
>>> It seems that the intsr and intbr are much worse in the binary I
>> compiled.
>>> What could be the possible reason for my result here?
>>> 
>>> 
>>> 2017 4 11 19 2
>>> Intel(R) Core(TM) i5-2557M CPU @ 1.70GHz
>>> 
>>> j806/j64avx/darwin/beta-3/commercial/www.jsoftware.com/
>> 2017-04-10T18:24:03
>>> j806/j64avx/darwin/beta/GPL3/jxy/2017-04-11T14:38:44
>>> intsr (small range) special code avoids hash - intbr (big range)
>>> float0 tests use !.0 where appropriate
>>> N in tables below indicate avx JE runs N times faster than 805
>>> 
>>>  'type' set 1e7 1e3
>>> intsr intbr char  float float0 test
>>> 1.0   1.0   1.2   1.0   1.1  a i. a
>>> 1.2   1.0   1.3   1.0   1.0  a i. b
>>> 0.7   1.0   1.3   1.0   1.0  b i. a
>>> 0.4   0.9   1.2   1.0   1.0  a e. b
>>> 1.1   0.9   1.4   1.1   1.0  b e. a
>>> 0.4   0.9   1.4   1.0   1.1  a (+/@:e.) b
>>> 0.4   1.0   1.3   0.8   1.0  a (e. i. 1:) b
>>> 0.9   0.9   1.2   1.0   1.0  ~.a
>>> 0.7   0.9   1.3   1.0   1.0  ~:a
>>> 1.0   1.0   1.3   1.0   1.0  /:a
>>> 1.0   1.0   1.0   1.0   0.9  /:~a
>>> 
>>>  'type' set 1e5 1e3
>>> intsr intbr char float float0 test
>>> 0.9   1.0   1.0  0.9   1.0   a i. a
>>> 1.2   0.9   1.2  1.0   1.0   a i. b
>>> 0.5   0.9   1.2  1.0   1.1   b i. a
>>> 0.4   0.8   1.2  1.0   1.0   a e. b
>>> 1.0   0.9   1.2  1.0   1.0   b e. a
>>> 0.4   0.9   1.2  1.0   1.1   a (+/@:e.) b
>>> 0.8   1.0   1.3  1.0   1.0   a (e. i. 1:) b
>>> 0.9   0.9   1.0  1.0   1.0   ~.a
>>> 0.8   0.9   1.1  0.9   0.9   ~:a
>>> 1.0   1.0   1.1  1.0   1.0   /:a
>>> 1.0   1.0   1.0  1.0   1.0   /:~a
>>> 
>>>  'type' set '1e3'
>>> mmint mmfloat mmcomplex test
>>> 1.0   0.9     1.0      a +/ . * b
>>> 
>>>> On Apr 11, 2017, at 5:48 PM, Eric Iverson <[email protected]>
>>> wrote:
>>>> 
>>>> It is no possible to upgrade through pacman. The onlyl way is to install
>>>> the zip release.
>>>> 
>>>> The previous release included avx and non-avx binaries. The new version
>>>> includes only the avx version. This reflects what will probably be in
>> the
>>>> final release.
>>>> 
>>>> On Tue, Apr 11, 2017 at 6:16 PM, 'Pascal Jasmin' via Programming <
>>>> [email protected]> wrote:
>>>> 
>>>>> The original beta included a load script, and verb execution that IIRC
>>>>> switched j.dll to "avx.dll"
>>>>> 
>>>>> 
>>>>> Those instructions could not be found in the web instructions.
>>>>> 
>>>>> Also, is it possible to upgrade beta through pacman?
>>>>> 
>>>>> 
>>>>> ________________________________
>>>>> From: Eric Iverson <[email protected]>
>>>>> To: Programming forum <[email protected]>
>>>>> Sent: Tuesday, April 11, 2017 3:18 PM
>>>>> Subject: [Jprogramming] 806 beta-3 available
>>>>> 
>>>>> 
>>>>> 
>>>>> 806 beta-3 available.
>>>>> 
>>>>> 
>>>>> Comments from original announcement are repeated here for emphasis.
>>>>> 
>>>>> 
>>>>> 806 will be primarily a performance release. This is the first J
>> release
>>>>> 
>>>>> where hardware features are directly used for performance. Previous
>>>>> 
>>>>> releases depended on excellent code and smart algorithms. With Advanced
>>>>> 
>>>>> Vector Extensions (AVX) Intel finally (first hardware released in 2011)
>>> has
>>>>> 
>>>>> hardware that seems to have J, at least partly, in mind.
>>>>> 
>>>>> 
>>>>> A rough benchmark report is at the end of this message. It has been a
>>> long
>>>>> 
>>>>> time since we've been able to brag of a factor of 10 speedup in a
>>>>> primitive.
>>>>> 
>>>>> 
>>>>> Improvements in i. and related areas are important in J, but faster
>>>>> 
>>>>> crunching is usually overwhelmed by all the housekeeping in an
>>> application.
>>>>> 
>>>>> Some things run 10 times faster, but your application won't.
>>>>> 
>>>>> 
>>>>> Please get involved in the beta program, it helps make a better product
>>> for
>>>>> 
>>>>> everyone.
>>>>> 
>>>>> 
>>>>> And give big thanks to Henry Rich for this core JE development!
>>>>> 
>>>>> 
>>>>> ***
>>>>> 
>>>>> Follow web site download links. There have been changes. Please follow
>>> the
>>>>> 
>>>>> directions and report any problems.
>>>>> 
>>>>> 
>>>>> These releases are only for windows/osx/linux intel/amd 64 and include
>>> only
>>>>> 
>>>>> an avx binary.
>>>>> 
>>>>> 
>>>>> The J Engine load will fail if the hardware/OS does not support avx.
>>>>> 
>>>>> 
>>>>> *** benchmark report - ~addons/ide/jhs/misc/avx.ijs
>>>>> 
>>>>> 
>>>>> 2017 4 11 15 1
>>>>> 
>>>>> Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz
>>>>> 
>>>>> j805/j64/linux/release-a/commercial/www.jsoftware.com/
>> 2017-02-26T16:47:20
>>>>> 
>>>>> j806/j64avx/linux/beta-3/commercial/www.jsoftware.com/
>> 2017-04-10T17:51:14
>>>>> 
>>>>> intsr (small range) special code avoids hash - intbr (big range)
>>>>> 
>>>>> float0 tests use !.0 where appropriate
>>>>> 
>>>>> N in tables below indicate avx JE runs N times faster than 805
>>>>> 
>>>>> 
>>>>> 'type' set 1e7 1e3
>>>>> 
>>>>> intsr intbr char  float float0 test
>>>>> 
>>>>> 1.3   2.0   4.1   2.1   3.6  a i. a
>>>>> 
>>>>> 12.9  10.7  25.8   2.1  20.5  a i. b
>>>>> 
>>>>> 3.4   7.3   8.6   6.7  10.6  b i. a
>>>>> 
>>>>> 5.3   8.2   9.1   7.2  13.2  a e. b
>>>>> 
>>>>> 6.4  10.6  25.9   2.1  20.4  b e. a
>>>>> 
>>>>> 5.3   8.8   9.5   7.0  13.2  a (+/@:e.) b
>>>>> 
>>>>> 4.4   6.5   9.6  53.4  13.2  a (e. i. 1:) b
>>>>> 
>>>>> 1.7   1.9   3.8   1.7   1.7  ~.a
>>>>> 
>>>>> 1.6   2.1   4.1   2.2   2.0  ~:a
>>>>> 
>>>>> 1.1   1.3   1.3   1.2   1.2  /:a
>>>>> 
>>>>> 1.3   2.1   2.2   1.9   1.9  /:~a
>>>>> 
>>>>> 
>>>>> 'type' set 1e5 1e3
>>>>> 
>>>>> intsr intbr char float float0 test
>>>>> 
>>>>> 2.0   3.5   5.3  2.4   4.7   a i. a
>>>>> 
>>>>> 4.2   4.7   9.2  3.2   6.9   a i. b
>>>>> 
>>>>> 5.4   8.0   8.9  5.2  11.7   b i. a
>>>>> 
>>>>> 5.8   7.7   9.3  6.7  12.7   a e. b
>>>>> 
>>>>> 4.1   4.7   9.2  3.2   6.9   b e. a
>>>>> 
>>>>> 5.7   8.3   9.7  6.5  12.5   a (+/@:e.) b
>>>>> 
>>>>> 2.0   4.0   7.8 21.0  12.6   a (e. i. 1:) b
>>>>> 
>>>>> 1.5   3.3   4.5  1.9   1.9   ~.a
>>>>> 
>>>>> 1.3   3.4   5.2  2.9   2.9   ~:a
>>>>> 
>>>>> 2.1   2.1   1.3  1.9   1.9   /:a
>>>>> 
>>>>> 1.7   2.3   1.4  2.1   2.1   /:~a
>>>>> 
>>>>> 
>>>>> 'type' set '1e3'
>>>>> 
>>>>> mmint mmfloat mmcomplex test
>>>>> 
>>>>> 27.6  23.7    17.9      a +/ . * b
>>>>> 
>>>>> ----------------------------------------------------------------------
>>>>> 
>>>>> 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

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

Reply via email to