I think libgmp built from source on the machine works fine for J. But
unfortunately glibc 2.31 is relatively new so that
your libgmp binary may not run older linux distro. eg on centos 8
ldd (GNU libc) 2.28

< #define __GMP_CFLAGS "-O2 -pedantic -fomit-frame-pointer -m64
-mtune=haswell -march=haswell"
---
> #define __GMP_CFLAGS "-O2 -pedantic -fomit-frame-pointer -m64
-mtune=sandybridge -march=sandybridge"

You tuned for host cpu when building haswsell require avx2 while
sandybridge require avx only.
I think if you tuned for sandybridge then the binary will run on both avx
and avx2 no matter where the binary is built


On Thu, Feb 2, 2023 at 11:21 AM Igor Zhuravlov <[email protected]> wrote:

> On Wed, Feb 1, 2023 at 01:03 AM bill lam <[email protected]> wrote:
> > Did you mean that the libgmp v6.2.1 that you built from tarball can work
> on
> > both avx and avx2 and pass the the determinant and permanent test ( the
> 2 J
> > sentences)?
>
> libgmp v6.2.1 that I've built from tarball on avx (notebook) can work on
> both
> avx and avx2 and pass the determinant and permanent J tests:
>
> user@desktop:~/j904/bin> LANG=C ./jconsole
>    JVERSION
> Engine: j904/j64avx2/linux
> Beta-j: commercial/2023-01-07T02:29:00
> Library: 9.04.10
> Platform: Linux 64
> Installer: J904 install
> InstallPath: /home/user/j904
> Contact: www.jsoftware.com
>    load '~user/temp/gmp_ver.ijs'
>    gmp_version ''
> libgmp.so      541304 01-Feb-23 20:15:35
> 6.2.1
>    x: 1000
> 1000
>    (+/ .*)x: 4 4$_ __ 0 0 1 1 0 0 0 0 1 0 0 0 0 1
> |NaN error, executing dyad +"0 0
> |x and y are infinities of opposite sign
> |       (+/ .*)x:4 4$_ __ 0 0 1 1 0 0 0 0 1 0 0 0 0 1
>    (-/ .*)x: 4 4$_ __ 0 0 1 1 0 0 0 0 1 0 0 0 0 1
> _
>    exit ''
>
>
> libgmp v6.2.1 that I've built from tarball on avx2 (desktop) can work on
> the
> same PC only, and crashes on avx for both determinant and permanent J
> tests:
>
> user@notebook:~/j904/bin> LANG=C ./jconsole
>    JVERSION
> Engine: j904/j64avx/linux
> Beta-j: commercial/2023-01-07T02:27:29
> Library: 9.04.11
> Platform: Linux 64
> Installer: J904 install
> InstallPath: /home/user/j904
> Contact: www.jsoftware.com
>    load '~user/temp/gmp_ver.ijs'
>    gmp_version ''
> libgmp.so      545248 01-Feb-23 10:24:22
> 6.2.1
>    x: 1000
> JE has crashed, likely due to an internal bug.  Please report the code
> which caused the crash, as well as the following printout, to the J
> programming forum.
> 00000000004030a2: ?:0:  ?
> 00007fa8f63acd4f: ?:0:  ?
> 00007fa8f6c89b5f: ?:0:  ?
> 00007fa8f5a35c6a: ?:0:  ?
> 00007fa8f5a365be: ?:0:  ?
> 00007fa8f5a3a3bb: ?:0:  ?
> 00007fa8f5a3bf11: ?:0:  ?
> 00007fa8f5a3bd9b: ?:0:  ?
> 00007fa8f5a5a0d9: ?:0:  ?
> 00007fa8f5a46a61: ?:0:  ?
> 00007fa8f5a46813: ?:0:  ?
> 0000000000402f9f: ?:0:  ?
> 00007fa8f639729c: ?:0:  ?
> 00000000004024ed: ?:0:  ?
> ffffffffffffffff: ?:0:  ?
>
> -----------------------------------------------------------------------------
> Aborted                 (core dumped)
>
> user@notebook:~/j904/bin> LANG=C ./jconsole
>    (+/ .*)x: 4 4$_ __ 0 0 1 1 0 0 0 0 1 0 0 0 0 1
> JE has crashed, likely due to an internal bug.  Please report the code
> which caused the crash, as well as the following printout, to the J
> programming forum.
> 00000000004030a2: ?:0:  ?
> 00007f15cc862d4f: ?:0:  ?
> 00007f15cd131a0c: ?:0:  ?
> 00007f15cd146e37: ?:0:  ?
> 00007f15cbf04ea8: ?:0:  ?
> 00007f15cbf02ecd: ?:0:  ?
> 00007f15cbf03cd5: ?:0:  ?
> 00007f15cbf0b6b9: ?:0:  ?
> 00007f15cbf0af3c: ?:0:  ?
> 00007f15cbf100b9: ?:0:  ?
> 00007f15cbefca61: ?:0:  ?
> 00007f15cbefc813: ?:0:  ?
> 0000000000402f9f: ?:0:  ?
> 00007f15cc84d29c: ?:0:  ?
> 00000000004024ed: ?:0:  ?
> ffffffffffffffff: ?:0:  ?
>
> -----------------------------------------------------------------------------
> Aborted                 (core dumped)
>
> user@notebook:~/j904/bin> LANG=C ./jconsole
>    (-/ .*)x: 4 4$_ __ 0 0 1 1 0 0 0 0 1 0 0 0 0 1
> JE has crashed, likely due to an internal bug.  Please report the code
> which caused the crash, as well as the following printout, to the J
> programming forum.
> 00000000004030a2: ?:0:  ?
> 00007fa16537dd4f: ?:0:  ?
> 00007fa165c4ca0c: ?:0:  ?
> 00007fa165c61e37: ?:0:  ?
> 00007fa164a1fea8: ?:0:  ?
> 00007fa164a1decd: ?:0:  ?
> 00007fa164a1ecd5: ?:0:  ?
> 00007fa164a266b9: ?:0:  ?
> 00007fa164a25f3c: ?:0:  ?
> 00007fa164a2b0b9: ?:0:  ?
> 00007fa164a17a61: ?:0:  ?
> 00007fa164a17813: ?:0:  ?
> 0000000000402f9f: ?:0:  ?
> 00007fa16536829c: ?:0:  ?
> 00000000004024ed: ?:0:  ?
> ffffffffffffffff: ?:0:  ?
>
> -----------------------------------------------------------------------------
> Aborted                 (core dumped)
>
>
> The difference in libgmp v6.2.1 from avx and avx2 lies in gmp.h :
>
> notebook:~ # diff desktop/usr/local/include/gmp.h
> notebook/usr/local/include/gmp.h
> 2327c2327
> < #define __GMP_CFLAGS "-O2 -pedantic -fomit-frame-pointer -m64
> -mtune=haswell -march=haswell"
> ---
> > #define __GMP_CFLAGS "-O2 -pedantic -fomit-frame-pointer -m64
> -mtune=sandybridge -march=sandybridge"
>
>
> > Also what the version of your glibc ?
> > ldd --version
>
> ldd (GNU libc) 2.31
>
> --
> Regards,
> Igor
>
>
> ----------------------------------------------------------------------
> 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