[Developers] admb threading

Mark Maunder mmaunder at iattc.org
Thu Nov 29 09:50:41 PST 2012


What about the calculation of the hessian, which can be quite long on parameter rich models.
Profile likelihoods would also be another easy one  


-----Original Message-----
From: developers-bounces at admb-project.org [mailto:developers-bounces at admb-project.org] On Behalf Of dave fournier
Sent: Thursday, November 29, 2012 9:26 AM
To: developers at admb-project.org
Subject: Re: [Developers] admb threading

On 12-11-29 09:11 AM, Hans J. Skaug wrote:

The obvious transparent one is the -ndb (num der blocks) which was already set up for mult-threading, and I recall Derek was doing something with that, but I never heard about it again, and it is not for separable models.  For separable models one could split up the separable function calls by different threads in a transparent manner.  Both of these involve using the __thread declaration to deal with some global data structures.  The real point of my proof of concept example was to demonstrate that this can be done quite easily.



> Both are useful, but currently "transparent to the user" is the most important.
>
> hans
>
>> -----Original Message-----
>> From: developers-bounces at admb-project.org [mailto:developers- 
>> bounces at admb-project.org] On Behalf Of Mark Maunder
>> Sent: Thursday, November 29, 2012 8:23 AM
>> To: John Sibert; ADMB Developers
>> Subject: Re: [Developers] admb threading
>>
>> parallel code that is "transparent" to the user
>>
>> -----Original Message-----
>> From: developers-bounces at admb-project.org [mailto:developers- 
>> bounces at admb-project.org] On Behalf Of John Sibert
>> Sent: Wednesday, November 28, 2012 4:30 PM
>> To: ADMB Developers
>> Subject: [Developers] admb threading
>>
>> Johnoel and I need some feedback about how to approach threading. 
>> Dave has provided a nice proof of concept using pthreads to implement 
>> parallel processing on larger chunks of code. This approach is likely 
>> to have the biggest performance improvement, but seems application 
>> specific and would require more expertize on the part of users.
>>
>> Alternatively it is possible to implement threading internally in the 
>> ADMB libraries, concentrating on smaller chunks of code, for instance 
>> the solve(...) function. This approach would probably have smaller 
>> performance payoff in most applications, but would be more transparent to users.
>>
>> In principle, the two approaches are not mutually exclusive.
>>
>> So my question to the ADMB Developer group is what did we mean when 
>> we assigned a high priority to parallelization?  Do we want parallel 
>> code that is "transparent" to the user (if so what parts of the would 
>> have the highest priority)? Or do we want to develop tools that allow 
>> users to create their on threaded code for specific applications? 
>> (Don't tell me both.)
>>
>> Cheers,
>> John
>> PS enjoy the attached.
>>
>> --
>> John Sibert
>> Emeritus Researcher, SOEST
>> University of Hawaii at Manoa
>>
>> Visit the ADMB project http://admb-project.org/
>>
>> _______________________________________________
>> 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