[Trilinos-Users] Tpetra and threads

Martin Vymazal martin.vymazal at vki.ac.be
Tue Apr 14 00:50:16 MDT 2015


On Monday, April 13, 2015 08:30:54 PM Hoemmen, Mark 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

Hello Mark,

 thank you for the information. I will take a look at Lesson 07.

Best regards,

  Martin Vymazal

> 
> _______________________________________________
> 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