I reported earlier a problem with libm4ri which has code which determines the number of CPUs and their cache sizes using autoconf macros. I do not know if there is any other code in Sage that does this, but it was pointed out to me on by John Carr on comp.sys.hp.hpux that it's unwise to do this.
When you think about it, he is absolutely right. Furthermore, it has much wider implications than the relatively rare HP-UX operating system which caused me to investigate the issue, as one of the macros actually crashed on HP-UX. If we make a sage binary on sage.math with 24 cores, then any code like libm4ri that determines the number of processors at compile time will most likely work far from optimally on a typical computer. Therefor the use of autoconf macros, which only get executed at compile time, is not the place to determine the number of processors available. Does for example ATLAS if built on sage.math assume the user who downloads the binaries has 24 CPUs? In the case of libm4ri John Carr thought that uses Open MP, which would have a way to determine the number of processors at run-time. This is just one more example of where testing on an unusual operating system (HP-UX) highlights issues which have far wider implications than just on the platform where the issue was found. Dave --~--~---------~--~----~------------~-------~--~----~ To post to this group, send an email to [email protected] To unsubscribe from this group, send an email to [email protected] For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---
