On Jun 1, 2011, at 11:47 AM, Roy Stogner wrote: > > On Wed, 1 Jun 2011, Cody Permann wrote: > >> On Jun 1, 2011, at 11:34 AM, Roy Stogner wrote: >> >>> Struct padding in elem.h is such that adding 1 byte to >>> sizeof(subdomain_id_type) won't necessarily add 1 byte to >>> sizeof(Elem). At first glance it looks like it would add 4 bytes on >>> 32-bit systems or 0 bytes on 64-bit systems, but I wouldn't swear to >>> any of that. >> >> Yes I came to the exact same conclusion based on what I know about >> struct padding. I just verified on my 64-bit Mac that changing the >> subdomain size to 16 bits did _NOT_ change the overall size of an >> element. (HEX8 is 96 bytes before and after on this system) > > I'm now tempted to say let's default to 32-bit subdomain_id_type and > just leave configure options to bump it down to 16 or 8 bits. Any > issues with Exodus (or other formats) support for 32-bit block > numbers?
subdomain_id_type impacts on Elem Size: 8 bits: sizeof(Hex8) = 96 16 bits: sizeof(Hex8) = 96 32 bits: sizeof(Hex8) = 96 64 bits: sizeof(Hex8) = 104 (just to verify) As expected, with alignment the only impact on Elems manifests itself when going over 32 bits on a 64 bit machine. As Roy pointed out a minute ago though I'd bet that we'd see growth moving from 8 to 16 bits on a 32 bit machine but that probably isn't a significant concern with most reasonably modern hardware. Based on Ben's comments about disabling AMR for a bigger impact on footprint, and Roy's comments it appears we have a good path forward. We'll work to make sure there aren't any issues with Exodus and any other obvious problems in the library related to the current implementation before commiting a patch. I know I've gone into that "id_types.h" file before when debugging and changed that typedef without ill effects on small problems but I'll need to build a few test cases with thousands of subdomains to make sure that everything else works properly. Cody > --- > Roy ------------------------------------------------------------------------------ Simplify data backup and recovery for your virtual environment with vRanger. Installation's a snap, and flexible recovery options mean your data is safe, secure and there when you need it. Data protection magic? Nope - It's vRanger. Get your free trial download today. http://p.sf.net/sfu/quest-sfdev2dev _______________________________________________ Libmesh-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-devel
