Hello Andrew, when I compiled with #define align_boundary sizeof(double) example/sql/sudoku_odbc.mod and some other models glpsol stopped without returning results.
With #define align_boundary 16 I obtained the expect results. http://msdn.microsoft.com/en-us/library/aa290049.aspx teaches "On both of the 64-bit platforms, the top of each stackframe is 16-byte aligned." http://msdn.microsoft.com/en-us/library/ycsb6wwf.aspx teaches "malloc is required to return memory on a 16-byte boundary." AMD Athlon offers 128 bit memory operations (e.g. CMPXCHG16B). http://en.wikipedia.org/wiki/X86-64 AMD64 technology for simultaneous high-performance 32- and 64-bit computing with a 128-bit integrated DDR memory controller http://www.amd.com/us-en/Corporate/VirtualPressRoom/0,,51_104_543_5730~82319,00.html Hence 128-bit alignment makes some sense. Best regards Xypron -------- Original-Nachricht -------- > Datum: Thu, 28 Aug 2008 18:03:36 +0400 > Betreff: Re: [Help-glpk] Makefiles for 64 bit Windows > > I had to patch glplib.h with > > #define align_boundary 16 > > It is unclear to me why 8-byte alignment in 64-bit environment leads > to addressing error on some platforms. It would be clear if some 16 byte > long data types were used, like long long int; however, in glpk there > are used only char, short, int, double, and (void *) basic data types, > for which 8-byte alignment is sufficient in both 32-bit and 64-bit > environments. > > In particular, the AMD documentation (Chapter 3 "General Purpose > Programming") says: > > "Stack Alignment. Control-transfer performance can degrade significantly > when the stack pointer is not aligned properly. Stack pointers should be > word aligned in 16-bit segments, doubleword aligned in 32-bit segments, > and quadword aligned in 64-bit mode." > > i.e. 8-byte (quadword) alignment seems to be sufficient. -- GMX startet ShortView.de. Hier findest Du Leute mit Deinen Interessen! Jetzt dabei sein: http://www.shortview.de/[EMAIL PROTECTED] _______________________________________________ Help-glpk mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-glpk
