Re: [MLton] Status of arm64-darwin mlton ?

Bernard Berthomieu <[email protected]> Wed, 7 Sep 2022 19:28:01 +0200
Newsgroups gmane.comp.lang.ml.mlton.devel
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--===============6564503045308311622==
Content-Type: multipart/alternative;
 boundary="------------H1s3KjQyfyvpKkxiCcEaiybU"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------H1s3KjQyfyvpKkxiCcEaiybU
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Follow up:

On 28/07/2022 21:31, Bernard Berthomieu wrote:
> (Trying to bootstrap arm64-darwin mlton on Apple Silicon Christopher's 
> way)
>
> ... The only issue so far is
> a minor type translation problem uncovered in FFI.  I'll document the
> experiment after this problem is solved.

Problem solved, it was not related to arm64 but to FFI vs C Codegen.
Thanks to Matthew for his help solving it.

I added links to my M1 builds to the page we maintain for our local 
mlton users
at www.laas.fr/tina/software; hope this helps. There is a link to that page
on http://mlton.org/Release20210117 too.

> On 22/07/2022 16:48, Matthew Fluet wrote:
>> ...
>> * You need to arrange for the "old" (amd64) MLton to find and 
>> dynamically link to an amd64 version of GMP, while the "new" (arm64) 
>> MLton will need to find and dynamically link to an arm64 version of GMP.

In short, gmp issues were avoided by linking statically mlton and the 
executables it
generates as well against gmp, both for the amd64-darwin mlton we 
bootstrap from and
for the arm64-darwin mlton we build. From this fully gmp-static arm64 
mlton, one can
easily bootstrap in turn a gmp-dynamic version, if desired.
The full details can be found at www.laas.fr/tina/howto-arm64-darwin.html.

Preliminary tests show a speed improvement of about 25% for the arm64 
code generated
over amd64 code translated by Rosetta2.

All comments welcome,
   Bernard.

--------------H1s3KjQyfyvpKkxiCcEaiybU
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    Follow up:<br>
    <br>
    <div class="moz-cite-prefix">On 28/07/2022 21:31, Bernard Berthomieu
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:[email protected]">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      (Trying to bootstrap arm64-darwin mlton on Apple Silicon
      Christopher's way)<br>
      <br>
      ... The only issue so far is<br>
      a minor type translation problem uncovered in FFI.  I'll document
      the<br>
      experiment after this problem is solved.<br>
    </blockquote>
    <br>
    Problem solved, it was not related to arm64 but to FFI vs C Codegen.<br>
    Thanks to Matthew for his help solving it.<br>
    <br>
    I added links to my M1 builds to the page we maintain for our local
    mlton users<br>
    at <a class="moz-txt-link-abbreviated"
      href="http://www.laas.fr/tina/software">www.laas.fr/tina/software</a>;
    hope this helps. There is a link to that page<br>
    on <a class="moz-txt-link-freetext"
      href="http://mlton.org/Release20210117">http://mlton.org/Release20210117</a>
    too.<br>
    <br>
    <blockquote type="cite"
      cite="mid:[email protected]">
      <div class="moz-cite-prefix">On 22/07/2022 16:48, Matthew Fluet
        wrote:<br>
      </div>
      <blockquote type="cite"
cite="mid:CAMrhFL6VK5oP=bN=CMXQMjipKCBNRh7WeOGhcN6ob+N=aRwuCQ@mail.gmail.com">
        <div dir="ltr">...
          <div class="gmail_default"
            style="font-family:arial,sans-serif;font-size:large">* You
            need to arrange for the "old" (amd64) MLton to find and
            dynamically link to an amd64 version of GMP, while the "new"
            (arm64) MLton will need to find and dynamically link to an
            arm64 version of GMP.</div>
        </div>
      </blockquote>
    </blockquote>
    <br>
    In short, gmp issues were avoided by linking statically mlton and
    the executables it<br>
    generates as well against gmp, both for the amd64-darwin mlton we
    bootstrap from and<br>
    for the arm64-darwin mlton we build. From this fully gmp-static
    arm64 mlton, one can<br>
    easily bootstrap in turn a gmp-dynamic version, if desired.<br>
    The full details can be found at <a
      class="moz-txt-link-abbreviated"
      href="http://www.laas.fr/tina/howto-arm64-darwin.html">www.laas.fr/tina/howto-arm64-darwin.html</a>.<br>
    <br>
    Preliminary tests show a speed improvement of about 25% for the
    arm64 code generated<br>
    over amd64 code translated by Rosetta2.<br>
    <br>
    All comments welcome,<br>
      Bernard.<br>
    <br>
  </body>
</html>

--------------H1s3KjQyfyvpKkxiCcEaiybU--


--===============6564503045308311622==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


--===============6564503045308311622==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MLton-devel mailing list
[email protected]; [email protected]
https://lists.sourceforge.net/lists/listinfo/mlton-devel

--===============6564503045308311622==--