boostorg / multiprecision

Boost.Multiprecision
Boost Software License 1.0
195 stars 112 forks source link

Add ppc64le to CI and fix node20 breakage #630

Open mborland opened 3 months ago

codecov[bot] commented 3 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 94.1%. Comparing base (1a06c2e) to head (366a6bc).

Additional details and impacted files [![Impacted file tree graph](https://app.codecov.io/gh/boostorg/multiprecision/pull/630/graphs/tree.svg?width=650&height=150&src=pr&token=SDDBym7Pc9&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=boostorg)](https://app.codecov.io/gh/boostorg/multiprecision/pull/630?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=boostorg) ```diff @@ Coverage Diff @@ ## develop #630 +/- ## ======================================= Coverage 94.1% 94.1% ======================================= Files 276 276 Lines 26846 26846 ======================================= Hits 25240 25240 Misses 1606 1606 ``` ------ [Continue to review full report in Codecov by Sentry](https://app.codecov.io/gh/boostorg/multiprecision/pull/630?dropdown=coverage&src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=boostorg). > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=boostorg) > `Δ = absolute (impact)`, `ø = not affected`, `? = missing data` > Powered by [Codecov](https://app.codecov.io/gh/boostorg/multiprecision/pull/630?dropdown=coverage&src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=boostorg). Last update [1a06c2e...366a6bc](https://app.codecov.io/gh/boostorg/multiprecision/pull/630?dropdown=coverage&src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=boostorg). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=boostorg).
mborland commented 2 months ago

@jzmaddock, @ckormanyos, @NAThompson before I merge this in do you see adding PPC64LE to our CI as valuable? The tradeoff is that it increases the CI run time to about 4 hours. It's not a super high demand architecture but I know in math, charconv, and others there are occasional bug reports.

jzmaddock commented 2 months ago

I guess it's main use is as a "different" architecture. Other than that I'm guessing is basically obsolete now?

mborland commented 2 months ago

I guess it's main use is as a "different" architecture. Other than that I'm guessing is basically obsolete now?

Yes it's little endian with two different 128-bit long double ABIs (ibm128 and float128) depending on which OS/compiler you are using. I don't think it's obsolete just really expensive. I got a quote for what it would cost to run natively in Drone like ARM and s390x, and it was prohibitive.

jzmaddock commented 2 months ago

Yes it's little endian with two different 128-bit long double ABIs (ibm128 and float128) depending on which OS/compiler you are using. I don't think it's obsolete just really expensive. I got a quote for what it would cost to run natively in Drone like ARM and s390x, and it was prohibitive.

Understood. Many many moon ago, when some hardware vendors provided "compiler farms" you could telnet into, I wondered if it wouldn't be possible to persuade some of them to donate some older machines to the project... but then I realised that someone would have to actually make space for them, put up with the noise and the heat, and feed them actual electrons!

If we (or rather Vinnie) were going to spend actual $$'s, then I suspect providing a CUDA-enabled test machine might be the thing to spend it on. It's also rather niche, but increasingly important IMO?

mborland commented 2 months ago

Yes it's little endian with two different 128-bit long double ABIs (ibm128 and float128) depending on which OS/compiler you are using. I don't think it's obsolete just really expensive. I got a quote for what it would cost to run natively in Drone like ARM and s390x, and it was prohibitive.

Understood. Many many moon ago, when some hardware vendors provided "compiler farms" you could telnet into, I wondered if it wouldn't be possible to persuade some of them to donate some older machines to the project... but then I realised that someone would have to actually make space for them, put up with the noise and the heat, and feed them actual electrons!

If we (or rather Vinnie) were going to spend actual $$'s, then I suspect providing a CUDA-enabled test machine might be the thing to spend it on. It's also rather niche, but increasingly important IMO?

I can ask about some CUDA machines as that would be quite useful. You also can't emulate CUDA so it has to run native.