[Trilinos-Users] [EXTERNAL] Re: Tpetra and threads

Hoemmen, Mark mhoemme at sandia.gov
Mon Apr 13 15:37:31 MDT 2015


public git repo (see trilinos.org)

On 4/13/15, 3:26 PM, "Zheng Da" <zhengda1936 at gmail.com> wrote:

>Hello Mark,
>
>Tpetra Lesson 07 doesn't exist in tpetra/core/example of v11.14.1.
>Which version of Trilinos should I look at?
>
>Thanks,
>Da
>
>On Mon, Apr 13, 2015 at 4:30 PM, Hoemmen, Mark <mhoemme at sandia.gov> wrote:
>>
>>
>> On 4/13/15, 12:00 PM, "trilinos-users-request at software.sandia.gov"
>> <trilinos-users-request at software.sandia.gov> wrote:
>>>Message: 1
>>>Date: Mon, 13 Apr 2015 15:49:21 +0200
>>>From: Martin Vymazal <martin.vymazal at vki.ac.be>
>>>To: trilinos-users at software.sandia.gov
>>>Subject: [Trilinos-Users] Tpetra and threads
>>>Message-ID: <2697171.BCGQzWlqIO at tinlaptop>
>>>Content-Type: text/plain; charset="us-ascii"
>>>
>>>Hello,
>>>
>>> I have a toy FE problem, for which I use Tpetra map, and Tpetra CRS
>>>matrix to
>>>store and solve the linear system. Everything works fine when I run the
>>>code in
>>>serial, but when I try assembly with 2 threads (using std::thread from
>>>C++11),
>>>I get memory crashes.
>>>
>>>What I'm trying to do is this:
>>>1) Initialize system matrix (in serial)
>>>2) Run assembly with multiple threads (that I launched outside of
>>>Trilinos)
>>>3) When assembly is finished and threads join, solve the linear system
>>>(in
>>>serial again)
>>>
>>>I understand that this is not the best/most optimal way, but all I
>>>wanted
>>>to
>>>try is a simple test and it would really help me if I could ask
>>>Tpetra/Kokkos
>>>not to get in my way. From the output it seems that Kokkos starts
>>>automatically its own thread and it probably does not like the fact that
>>>later
>>>on, different number of threads accumulate in the system matrix.
>>>
>>>I get the following:
>>>
>>>Kokkos::HostSpace::decrement( 0x168c180 ) ERROR :  memory not being
>>>tracked
>>>
>>>I searched for examples how to set the Tpetra map parameters in order to
>>>control the number of threads, but they all only show how (not) to use
>>>MPI,
>>>nothing said about multithreading ... Is what I'm trying to do possible?
>>>Can I
>>>tell Trilinos 'not to worry' about my threads?
>>>
>>>Thank you for your help,
>>>
>>> Martin Vymazal
>>
>> Hi Martin,
>>
>> Please see Tpetra Lesson 07 (in tpetra/core/example) for a demonstration
>> of thread-parallel sparse matrix construction and fill.  The interface
>>of
>> Tpetra::CrsMatrix does not promise thread safety; we have a lower-level
>> interface (which the example uses) that does.
>>
>> mfh
>>
>> _______________________________________________
>> Trilinos-Users mailing list
>> Trilinos-Users at software.sandia.gov
>> https://software.sandia.gov/mailman/listinfo/trilinos-users



More information about the Trilinos-Users mailing list