[Developers] Modification to input of -cbs and -gbs
dave fournier
davef at otter-rsch.com
Thu Aug 19 11:03:55 PDT 2010
Allan Hicks wrote:
I think the right way to do this is to find the correct type for file
lengths and use it. Don't recall what it is but there are types like
size_t and pos_t etc.
They will automatically be defined to be the right type so you avoid
using the wrong int type and having to worry about it.
> Ian Taylor and I just posted a document discussing the results of
> testing different values of cbs and gbs for a large ADMB model (SS3).
> One thing that we learned is that when using the command line to set
> -gbs and -cbs (and -ams) it uses an integer data type. However, it
> seems that the code for the calculations associated with the buffers
> (excuse my ignorance) uses a long data type. This limits the inputs
> to values less than 2^31 and a total memory allocation around 2Gb.
> Linux uses 64-bits to store long integers, thus we made a simple
> change to how the command line inputs are read in (used long) and were
> able to allocate 12Gb to an ADMB program. However, Windows uses
> 32-bits for a long integer, thus this change makes no difference in
> Windows (I have no clue about macs).
>
> I made these changes to the xmodel3m.cpp file and attempted to add
> some Doxygen comments. I did not attempt to change any of the memory
> allocation warnings in gs_set.cpp that still reference 16-bit
> systems. I do not feel I understand the gradstack or cmpdiff buffers
> enough to do this intelligently.
> I am wondering if this change would be useful to add to the source
> code, and I am curious of the process to make changes to the source
> code and how these changes are verified or moderated.
>
> Thanks,
> Allan
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Developers mailing list
> Developers at admb-project.org
> http://lists.admb-project.org/mailman/listinfo/developers
More information about the Developers
mailing list