[ADMB Users] Problems with -gh
Allan Hicks - NOAA Federal
allan.hicks at noaa.gov
Fri Mar 1 13:12:58 PST 2013
I agree that this is unfortunate behavior of Windows. Ian Taylor and I did
some tests of speed and memory usage between 32-bit and 64-bit compilers
and were also puzzled as to why Windows implements long ints as 32-bit.
I'm not sure if it is helpful, but a summary of our investigations is here:
http://www.admb-project.org/developers/benchmarks/ADMBmemoryTest.pdf/view
Following up on what Arni mentioned about 32-bit and 64-bit compilations, I
agree and have set up Visual Studio to compile 32- or 64-bit ADMB programs
at my will. Ian Taylor and I set this up to provide 32- and 64-bit Windows
versions of Stock Synthesis.
Allan
On Fri, Mar 1, 2013 at 12:44 PM, dave fournier <davef at otter-rsch.com> wrote:
> On 13-03-01 11:44 AM, Jeff Laake - NOAA Federal wrote:
>
> Just a guess here but what happens if you try long long int
>
>
> I think the right type would be fpos_t
>
>
> See
>
> http://stackoverflow.com/questions/1523483/does-gcc-support-long-long-int
>
>
> On Fri, Mar 1, 2013 at 11:40 AM, dave fournier <davef at otter-rsch.com>wrote:
>
>> On 13-03-01 10:20 AM, Jeff Laake - NOAA Federal wrote:
>>
>> I think the problem is that a long int in windows is only 32 bytes.
>> I compiled this in
>>
>> gcc -m64
>>
>> on linux
>>
>> #include <stdio.h>
>> main()
>> {
>> int nbits=sizeof(char*);
>> if (nbits==4)
>> printf("this is 32 bytes\n");
>> else if (nbits==8)
>> printf("this is 64 bytes\n");
>> else
>> printf("this can't happen");
>>
>> nbits=sizeof(long int);
>> if (nbits==4)
>> printf("this is 32 bytes\n");
>> else if (nbits==8)
>> printf("this is 64 bytes\n");
>> else
>> printf("this can't happen");
>>
>> nbits=sizeof(int);
>> if (nbits==4)
>> printf("this is 32 bytes\n");
>> else if (nbits==8)
>> printf("this is 64 bytes\n");
>> else
>> printf("this can't happen");
>>
>> }
>>
>> on linux I get output
>>
>> this is 64 bytes
>> this is 64 bytes
>> this is 32 bytes
>>
>> using the windows cross compiler I get
>>
>>
>> this is 64 bytes
>> this is 32 bytes
>> this is 32 bytes
>>
>> so a long int is 32 bytes in the 64 bit version. Strange eh?
>>
>>
>>
>>
>>
>>
>> So I installed the 64 bit version of admb 10.1 and gcc 4.5.2 and the
>> problem persists. What versions are you using and what type of machine?
>> I'm running win7 on an 64 bit machine with 8gb ram. This will be difficult
>> to work this out if you can't replicate on your machine. What quantity did
>> you run for -gh? -gh 6 worked for me but -gh 7 or higher did not. Can you
>> try a higher -gh value to see if you can get it to fail?
>>
>> regards --jeff
>>
>>
>> On Fri, Mar 1, 2013 at 8:32 AM, Jeff Laake - NOAA Federal <
>> jeff.laake at noaa.gov> wrote:
>>
>>> This email just came through. I already replied to user list. I'm was
>>> using the 32 bit. Arni already replied with instructions on how to get 64
>>> bit version which wasn't clear from admb site.
>>>
>>> Thanks for your help.
>>>
>>> --jeff
>>>
>>>
>>> On Fri, Mar 1, 2013 at 8:28 AM, dave fournier <davef at otter-rsch.com>wrote:
>>>
>>>> that runs fine for me. what compiler are you using?
>>>>
>>>
>>>
>>
>>
>
>
> _______________________________________________
> Users mailing list
> Users at admb-project.org
> http://lists.admb-project.org/mailman/listinfo/users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.admb-project.org/pipermail/users/attachments/20130301/445ceffe/attachment.html>
More information about the Users
mailing list