[Developers] profiling ADMB model with gprof

Ian Taylor Ian.Taylor at NOAA.gov
Thu Nov 18 14:36:49 PST 2010


On a different computer (which had all the necessary libraries), I ran 
Dave's executable and got a slightly faster run time than the what I 
compiled using ADMB version 9.

So this email is just to put this thread to bed. The new ADMB is better 
than the old. Long live the new ADMB.
-Ian

On 11/18/2010 11:03 AM, Johnoel Ancheta wrote:
> Ask Dave Fournier to compile with -static flag.
>
> On 11/18/10 8:58 AM, Ian Taylor wrote:
>>  Johnoel (cc Dave Fournier)
>> Thanks for the good news that the code is OK and the problems I was 
>> facing are fixable. Let me know when you have the time to create a 
>> new make file, or whatever is required to get things working.
>>
>> Also, when I try to run the executable that Dave sent last night I 
>> get the error
>> ./catage2: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.11' not 
>> found (required by ./catage2)
>> ./catage2: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.9' not 
>> found (required by ./catage2)
>>
>> I've seen this before when moving executables between Ubuntu and Red 
>> Hat versions of linux (which I think also had separate versions of 
>> GCC). Do you happen to know if this is something that can be 
>> corrected such that it's possible to have one executable run on 
>> multiple linux systems, or do we just need to compile for whatever 
>> each system has available.
>> -Ian
>>
>>
>> On 11/18/2010 10:43 AM, Johnoel Ancheta wrote:
>>> Hi Ian,
>>>
>>> It turns out that I had not ordered the compiler options correctly for
>>> the linux builds.  My bad...  Below are some example runs using time.
>>>
>>> ham4 (revision 506)
>>> real    0m5.566s
>>> user    0m5.376s
>>> sys     0m0.042s
>>>
>>> ham4(revision head)
>>> real    0m5.406s
>>> user    0m5.233s
>>> sys     0m0.046s
>>>
>>> Times are pretty close.  I'll do more testing today.
>>>
>>> Johnoel
>>>
>>>
>>> On 11/17/10 3:37 PM, Ian Taylor wrote:
>>>>  The which_library() function worked perfectly for me--thanks for 
>>>> the information. It returned "s" and "o" when it was supposed to in 
>>>> version 10. In version 9 perhaps it was not yet resurrected, as it 
>>>> always returned "o", regardless of how I compiled.
>>>>
>>>> Pasted below is output showing that libado.a was 65% of the size of 
>>>> libads.a in v9 but the ratio was 98% in v10beta, implying that 
>>>> something may have gone wrong with the make file for 64 bit linux. 
>>>> Allan Hicks just showed me some indication that on his Windows 
>>>> computer, things were working well with v10beta, providing further 
>>>> support for the idea that my slow run times were a problem with how 
>>>> ADMB was getting compiled on linux.
>>>>
>>>> [~]$ ls -lh ~/h_itaylor/admb/v9/lib
>>>> total 15M
>>>> -rwxr--r-- 1 itaylor itaylor 1.5M Aug 18 13:52 libadmod.a
>>>> -rwxr--r-- 1 itaylor itaylor 3.7M Aug 18 13:52 libado.a
>>>> -rwxr--r-- 1 itaylor itaylor 5.7M Aug 18 13:52 libads.a
>>>> -rwxr--r-- 1 itaylor itaylor 116K Aug 18 13:52 libadt.a
>>>> -rwxr--r-- 1 itaylor itaylor 2.0M Aug 18 13:52 libdf1b2o.a
>>>> -rwxr--r-- 1 itaylor itaylor 2.0M Aug 18 13:52 libdf1b2s.a
>>>> -rwxr--r-- 1 itaylor itaylor  32K Aug 18 13:52 libdf1b2stub.a
>>>> [~]$ ls -lh ~/h_itaylor/admb/v10/lib
>>>> total 19M
>>>> -rwxr--r-- 1 itaylor itaylor 1.9M Nov 10 12:29 libadmod.a
>>>> -rwxr--r-- 1 itaylor itaylor 5.2M Nov 10 12:24 libado.a
>>>> -rwxr--r-- 1 itaylor itaylor 5.3M Nov 10 12:28 libads.a
>>>> -rwxr--r-- 1 itaylor itaylor 166K Nov 10 12:29 libadt.a
>>>> -rwxr--r-- 1 itaylor itaylor 3.0M Nov 10 12:20 libdf1b2o.a
>>>> -rwxr--r-- 1 itaylor itaylor 2.9M Nov 10 12:21 libdf1b2s.a
>>>> -rwxr--r-- 1 itaylor itaylor  33K Nov 10 12:29 libdf1b2stub.a
>>>>
>>>>
>>>> On 11/17/2010 3:17 PM, John Sibert wrote:
>>>>> The recently resurrected function
>>>>> char which_library()
>>>>>
>>>>> Returns:
>>>>>     char containing 'o' if compiled with the OPT_LIB macro; 
>>>>> contains 's' otherwise.
>>>>>
>>>>> But would not tell you if a specific source code file might have 
>>>>> been incorrectly compiled withoug the OPT_LIB macro
>>>>>
>>>>> On 11/17/2010 11:56 AM, dave fournier wrote:
>>>>>> If you look at the old libraries you will see that the safe and 
>>>>>> optimzied libaries are different sizes
>>>>>> due to the inline code taking up space. That should give you an 
>>>>>> idea whether you have optimized
>>>>>> code in the new libraries.
>>>>>> _______________________________________________
>>>>>> Developers mailing list
>>>>>> Developers at admb-project.org
>>>>>> http://lists.admb-project.org/mailman/listinfo/developers
>>>>>>
>>>>>
>>>> _______________________________________________
>>>> Developers mailing list
>>>> Developers at admb-project.org
>>>> http://lists.admb-project.org/mailman/listinfo/developers
>>>
>
> _______________________________________________
> Developers mailing list
> Developers at admb-project.org
> http://lists.admb-project.org/mailman/listinfo/developers


More information about the Developers mailing list