[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