Macaulay2 / M2

The primary source code repository for Macaulay2, a system for computing in commutative algebra, algebraic geometry and related fields.
https://macaulay2.com
347 stars 231 forks source link

the two build systems should build the same versions of programs and libraries #1243

Closed DanGrayson closed 4 years ago

DanGrayson commented 4 years ago

It would be a good idea to keep the versions in sync, for then examples and tests that work under one build system will be more likely to work under the other.

Originally posted by @DanGrayson in https://github.com/Macaulay2/M2/issues/1239#issuecomment-639517382

mikestillman commented 4 years ago

In particular, the basic defaults should be the same: either both should use mpir, or both use gmp.

mahrud commented 4 years ago

Are there recent benchmarks of which is faster? I know Sage uses mpir by default and I believe @dimpase had thoughts on this.

dimpase commented 4 years ago

Sage's current default is to use a system-wide GMP installation (it can actually be MPIR in GMP-compatible mode), and nudge the user to install GMP if it's not installed (by printing a message to this effect at the end of ./configure's run).

My understanding is that MPIR's development is mostly on hold, since appearance of Meltdown and Spectre attack on Intel CPUs, rendering efforts to optimise MPIR's assembly routines (something that made them faster than GMP) problematic, as it was assumed that extensive CPU's patching needed to mitigate against these attacks would break them.

I don't know whether this prediction came to be true, perhaps @wbhart can comment.

mahrud commented 4 years ago

Referencing #475, which is about using OpenBLAS. The CMake build uses OpenBLAS if it is present.

mahrud commented 4 years ago

@DanGrayson #475 is still remaining.