On Fri, Jan 30, 2009 at 11:50 AM, Carl Witty <carl.wi...@gmail.com> wrote: > > We have a problem finding and maintaining machines old enough to not > have SSE3, etc., so that we can reliably build Sage binaries that > don't rely on SSE3. > > Evidently, vmware lets you mask CPUID results, to hide particular CPU > features from the guest: > http://pubs.vmware.com/vi3/bsa/wwhelp/wwhimpl/common/html/wwhelp.htm?context=bsa&file=c11changevm.html.html > > Maybe we could use that as an easy way to be able to build no-SSE3 > binaries. > > I see two problems with the idea: 1) it's poorly documented; somebody > would have to figure out which bits to flip in the cpuid results. > > 2) I'm guessing this doesn't actually disable the feature. If any > part of Sage does SSE3 detection by trying to run SSE3 code and seeing > if it crashes (instead of using the cpuid instruction), then the > technique would fail.
This is certainly worth trying. It is a very high priority, IMHO, that we figure out how to build binaries on the vmware "farm" (which runs on boxen.math) that don't require these cpu instructions. I see two ways to do that: (1) What you suggest above using vmware, which might work. Note that vmware server, which I run on boxen.math, doesn't have the options you suggest modifying. However, I bet one can change them anyways through a text editor by directly editing the vm configuration. (2) Pass options to libraries that actually try to use these cpu flags -- e.g., ATLAS, GMP, etc. -- to tell them not to. Then use objdump (?) to detect whether we succeeded. I like (2) better if it can be made to work. Mabshoff claimed he could make it work in a few days, so maybe it is possible. -- William --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to sage-devel-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---