Re: Contribute a RISC-V 64 JIT backend
Logan Chien <[email protected]> Tue, 16 Jan 2024 18:32:48 -0800
| Newsgroups | gmane.comp.python.pypy |
|---|---|
| Message-ID | <CALQyFuD2DYP9s6FcgxZp_menWGpU_RDooLUfzyqzDH=dtVwi2w@mail.gmail.com> |
--===============3346667136681253920== Content-Type: multipart/alternative; boundary="000000000000afe9fa060f1b103c" --000000000000afe9fa060f1b103c Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Matti, Thank you for your information. I will try these this weekend. Regards, Logan On Tue, Jan 16, 2024, 12:52=E2=80=AFAM Matti Picus <[email protected]> = wrote: > On 16/1/24 07:02, Logan Chien wrote: > > > Hi, > > > > I have good news: the RISC-V backend can pass as many unit tests as > > the AArch64 backend. I got vmprof and codemap working this weekend. > > I also completed a full translation and got a workable pypy executable. > > > > I have two questions now: > > > > 1. Are there other test suites that I can check for the correctness? > > 2. How do we measure the performance? Do we have a command line that > > can run all benchmarks? > > > > Thank you in advance. > > > > Regards, > > Logan > > > > p.s. All changes are at: https://github.com/loganchien/pypy/tree/rv64 > > > Very cool. > > 1: Eventually we would want a buildbot worker [0] using either actual > hardware or qemu. Using qemu might be too slow to be practical. It could > be based off the aarch64 docker file [1] as a template. For now, you > could follow manually the different steps in a pyp-c-jit-<platform> > buildbot run [2]: click on the stdio link for each step to follow the > workflow. The "app-level -A", "extra tests", "lib-python" would give an > indication of how compatible the rpython code is, and the "pypyjit" > tests would give an indication of how well the JIT code generation > follows the other platforms. A deeper compliance test would be to run > the binary in the workflows from the binary-testing repo [6] against > some common python libraries. > > > 2: Theses [3] are the benchmarks that feed speed.pypy.org. They are run > by a buildbot worker [4]. The step of interest is 9, where the command > line is the top line of [5]. This generates a json results file and also > some textual output. You will want an additional run with cpython for a > baseline. > > > Matti > > > [0] > > https://foss.heptapod.net/pypy/buildbot/-/blob/branch/default/README_BUIL= DSLAVE?ref_type=3Dheads > > [1] > > https://foss.heptapod.net/pypy/buildbot/-/blob/branch/default/docker/Dock= erfileArm64?ref_type=3Dheads > > [2] > https://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/9219 > for example > > [3] https://foss.heptapod.net/pypy/benchmarks > > [4] > https://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/builds/4056 > > [5] > > https://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/builds/4056= /steps/shell_9/logs/stdio > > [6] https://github.com/pypy/binary-testing > > _______________________________________________ > pypy-dev mailing list -- [email protected] > To unsubscribe send an email to [email protected] > https://mail.python.org/mailman3/lists/pypy-dev.python.org/ > Member address: [email protected] > --000000000000afe9fa060f1b103c Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"auto"><div>Hi Matti,<div dir=3D"auto"><br></div><div dir=3D"aut= o">Thank you for your information.=C2=A0 I will try these this weekend.</di= v><div dir=3D"auto"><br></div><div dir=3D"auto">Regards,</div><div dir=3D"a= uto">Logan</div><br><br><div class=3D"gmail_quote"><div dir=3D"ltr" class= =3D"gmail_attr">On Tue, Jan 16, 2024, 12:52=E2=80=AFAM Matti Picus <<a h= ref=3D"mailto:[email protected]">[email protected]</a>> wrote:<b= r></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border= -left:1px #ccc solid;padding-left:1ex">On 16/1/24 07:02, Logan Chien wrote:= <br> <br> > Hi,<br> ><br> > I have good news: the RISC-V backend can pass as many unit tests as <b= r> > the AArch64 backend.=C2=A0 I got vmprof and codemap working this weeke= nd.=C2=A0 <br> > I also completed a full translation and got a workable pypy executable= .<br> ><br> > I have two questions now:<br> ><br> > 1. Are there other test suites that I can check for the correctness?<b= r> > 2. How do we measure the performance?=C2=A0 Do we have a command line = that <br> > can run all benchmarks?<br> ><br> > Thank you in advance.<br> ><br> > Regards,<br> > Logan<br> ><br> > p.s. All changes are at: <a href=3D"https://github.com/loganchien/pypy= /tree/rv64" rel=3D"noreferrer noreferrer" target=3D"_blank">https://github.= com/loganchien/pypy/tree/rv64</a><br> <br> <br> Very cool.<br> <br> 1: Eventually we would want a buildbot worker [0] using either actual <br> hardware or qemu. Using qemu might be too slow to be practical. It could <b= r> be based off the aarch64 docker file [1] as a template. For now, you <br> could follow manually the different steps in a pyp-c-jit-<platform> <= br> buildbot run [2]: click on the stdio link for each step to follow the <br> workflow. The "app-level -A", "extra tests", "lib-= python" would give an <br> indication of how compatible the rpython code is, and the "pypyjit&quo= t; <br> tests would give an indication of how well the JIT code generation <br> follows the other platforms. A deeper compliance test would be to run <br> the binary in the workflows from the binary-testing repo [6] against <br> some common python libraries.<br> <br> <br> 2: Theses [3] are the benchmarks that feed <a href=3D"http://speed.pypy.org= " rel=3D"noreferrer noreferrer" target=3D"_blank">speed.pypy.org</a>. They = are run <br> by a buildbot worker [4]. The step of interest is 9, where the command <br> line is the top line of [5]. This generates a json results file and also <b= r> some textual output. You will want an additional run with cpython for a <br= > baseline.<br> <br> <br> Matti<br> <br> <br> [0] <br> <a href=3D"https://foss.heptapod.net/pypy/buildbot/-/blob/branch/default/RE= ADME_BUILDSLAVE?ref_type=3Dheads" rel=3D"noreferrer noreferrer" target=3D"_= blank">https://foss.heptapod.net/pypy/buildbot/-/blob/branch/default/README= _BUILDSLAVE?ref_type=3Dheads</a><br> <br> [1] <br> <a href=3D"https://foss.heptapod.net/pypy/buildbot/-/blob/branch/default/do= cker/DockerfileArm64?ref_type=3Dheads" rel=3D"noreferrer noreferrer" target= =3D"_blank">https://foss.heptapod.net/pypy/buildbot/-/blob/branch/default/d= ocker/DockerfileArm64?ref_type=3Dheads</a><br> <br> [2] <br> <a href=3D"https://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/build= s/9219" rel=3D"noreferrer noreferrer" target=3D"_blank">https://buildbot.py= py.org/builders/pypy-c-jit-linux-x86-64/builds/9219</a> <br> for example<br> <br> [3] <a href=3D"https://foss.heptapod.net/pypy/benchmarks" rel=3D"noreferrer= noreferrer" target=3D"_blank">https://foss.heptapod.net/pypy/benchmarks</a= ><br> <br> [4] <br> <a href=3D"https://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/bu= ilds/4056" rel=3D"noreferrer noreferrer" target=3D"_blank">https://buildbot= .pypy.org/builders/jit-benchmark-linux-x86-64/builds/4056</a><br> <br> [5] <br> <a href=3D"https://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/bu= ilds/4056/steps/shell_9/logs/stdio" rel=3D"noreferrer noreferrer" target=3D= "_blank">https://buildbot.pypy.org/builders/jit-benchmark-linux-x86-64/buil= ds/4056/steps/shell_9/logs/stdio</a><br> <br> [6] <a href=3D"https://github.com/pypy/binary-testing" rel=3D"noreferrer no= referrer" target=3D"_blank">https://github.com/pypy/binary-testing</a><br> <br> _______________________________________________<br> pypy-dev mailing list -- <a href=3D"mailto:[email protected]" target=3D"_= blank" rel=3D"noreferrer">[email protected]</a><br> To unsubscribe send an email to <a href=3D"mailto:[email protected]= " target=3D"_blank" rel=3D"noreferrer">[email protected]</a><br> <a href=3D"https://mail.python.org/mailman3/lists/pypy-dev.python.org/" rel= =3D"noreferrer noreferrer" target=3D"_blank">https://mail.python.org/mailma= n3/lists/pypy-dev.python.org/</a><br> Member address: <a href=3D"mailto:[email protected]" target=3D"_bla= nk" rel=3D"noreferrer">[email protected]</a><br> </blockquote></div></div></div> --000000000000afe9fa060f1b103c-- --===============3346667136681253920== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ pypy-dev mailing list -- [email protected] To unsubscribe send an email to [email protected] https://mail.python.org/mailman3/lists/pypy-dev.python.org/ Member address: [email protected] --===============3346667136681253920==--