box64 icon indicating copy to clipboard operation
box64 copied to clipboard

JIT for POWER?

Open madscientist159 opened this issue 3 years ago • 16 comments

Just tried this with the UT2004 retail binary on a ppc64le box, and the main menu came up without any notable issues. It's extremely slow and quite stuttery (far worse than QEMU), but I'm assuming that's mostly because of the missing JIT for the ppc64le architecture,

Would you be interested in porting the JIT to ppc64le? It's the only open ISA with high performance CPUs on the market, and we'd be happy to provide a free development box in return for the effort.

Thank you!

madscientist159 avatar Feb 26 '22 11:02 madscientist159

I will start making box64 dynarec more portable, with the first objective to get a risc-v dynarec port there too. I'll happily work on ppc64le dynarec when things are in good shape in that front yes.

ptitSeb avatar Feb 26 '22 11:02 ptitSeb

@ptitSeb Sounds good....any chance we could persuade you to prioritize the POWER version over RISC-V? Given the POWER CPUs are 3.8GHz+ it's more likely a AAA game from the 2000s will run adequately on a POWER CPU than on a RISC-V CPU. :wink:

Also, both are open ISAs, but POWER is fully standardized, so the port will work on all silicon going forward. RISC-V is less standardized and may require more re-ports down the line.

One final question: Are you JITing SIMD instructions or doing what QEMU does and translating them to scalar instructions? I ask because UT2004 in particular is very SIMD-heavy, and it drags QEMU down fairly hard in certain areas as a result.

madscientist159 avatar Feb 26 '22 20:02 madscientist159

I have to honor the sponsorship on the RiscV side, so I want to start to have RiscV Dynarec implementation already in good shape before starting something else. Hopefully, after a month (or two), it should be in a good state.

Having a fully fledge PowerPC port is of course exciting!

And yes, SSE/SSE2 instruction are converted t the underling SIMD instruction. Same for x87 that are converted to Float and Double operation (ignoring 80bits operation for most part). UT2004 ran on PI4 or RK3399 Arm64 board already (don't remember wich one), with good speed on 2GHz processor with integrated GPU :)

ptitSeb avatar Feb 26 '22 21:02 ptitSeb

So, RISCV64 Dynarec is in a good enough state now.

ptitSeb avatar Sep 09 '23 12:09 ptitSeb

What would be needed at this point to move this forward? You mentioned hardware access -- what would be the obstacles to doing this with remote access?

JeremyRand avatar Sep 27 '23 01:09 JeremyRand

I have an IBM S824 (POWER8) I can give you root bare metal on 24/7 (power company and internet outages excluded, im a random on the interwebs not a miracle worker)

TMinusBlastedRocket avatar Dec 14 '23 09:12 TMinusBlastedRocket

I have an IBM S824 (POWER8) I can give you root bare metal on 24/7 (power company and internet outages excluded, im a random on the interwebs not a miracle worker)

I'm a bit busy for now, but lets talk about that beggining of next year, and see if we can make it work.

ptitSeb avatar Dec 14 '23 09:12 ptitSeb

I have an IBM S824 (POWER8) I can give you root bare metal on 24/7 (power company and internet outages excluded, im a random on the interwebs not a miracle worker)

I'm a bit busy for now, but lets talk about that beggining of next year, and see if we can make it work.

Cool

TMinusBlastedRocket avatar Dec 14 '23 10:12 TMinusBlastedRocket

I have an IBM S824 (POWER8) I can give you root bare metal on 24/7 (power company and internet outages excluded, im a random on the interwebs not a miracle worker)

I'm a bit busy for now, but lets talk about that beggining of next year, and see if we can make it work.

You still wanna do this?

TMinusBlastedRocket avatar Feb 16 '24 03:02 TMinusBlastedRocket

I have an IBM S824 (POWER8) I can give you root bare metal on 24/7 (power company and internet outages excluded, im a random on the interwebs not a miracle worker)

I'm a bit busy for now, but lets talk about that beggining of next year, and see if we can make it work.

You still wanna do this?

Not for the next 3 months I afraid, I'm still too busy to take on this in a reasonable way and timing.

ptitSeb avatar Feb 16 '24 18:02 ptitSeb

----- Original Message -----

From: "ptitSeb" @.> To: "ptitSeb/box64" @.> Cc: "Timothy Pearson" @.>, "Author" @.> Sent: Friday, February 16, 2024 12:09:25 PM Subject: Re: [ptitSeb/box64] JIT for POWER? (Issue #242)

I have an IBM S824 (POWER8) I can give you root bare metal on 24/7 (power company and internet outages excluded, im a random on the interwebs not a miracle worker)

I'm a bit busy for now, but lets talk about that beggining of next year, and see if we can make it work.

You still wanna do this?

Not for the next 3 months I afraid, I'm still too busy to take on this in a reasonable way and timing.

When ready we can also offer POWER9 access, which has new instructions vs. POWER8 that could be of assistance for a JIT.

madscientist159 avatar Feb 16 '24 18:02 madscientist159

It is always great to see responses Tim of RaptorCS. My offer to gain access to my machine also stand, I could setup RDP or whatever prefer way to get the dev team started

runlevel5 avatar Mar 19 '24 04:03 runlevel5