[petsc-dev] PETSc programming model for multi-core systems

Matthew Knepley knepley at gmail.com
Thu Nov 11 18:58:10 CST 2010


On Fri, Nov 12, 2010 at 11:54 AM, Barry Smith <bsmith at mcs.anl.gov> wrote:

>
> On Nov 11, 2010, at 6:15 PM, Matthew Knepley wrote:
>
> > On Fri, Nov 12, 2010 at 9:52 AM, Barry Smith <bsmith at mcs.anl.gov> wrote:
> >
> >   What should we use a for programming model for PETSc on multi-core
> systems? Currently for conventional multicore we have only have one MPI
> process per core and for GPU we have subclasses of Vec and Mat with custom
> CUDA code.
> >
> >   Should we introduce subclasses of Vec and Mat built on pthreads (this
> is what Bill G recommends, and not to use OpenMP)?
> >
> > pthreads are a nightmare and do not do vectorization right, which is
> necessary here.
>
>    What do you mean do not vectorize?


I mean its easy to tell a thread to do something, but I was not aware that
pthreads had nice support
for telling all threads to do something at the same time. On a multicore,
you want vector instructions,
and on a GPU you basically have no choice.


> > I am for OpenCL/CUDA. Eventually
> > I think OpenCL will take its head out of its ass and be as nice as CUDA.
>
>    That's fine for GPUs but what about 8 core or 12 core Intel processors?
> CUDA for that also?


OpenCL already runs on these, but the interface is too low-level. It should
look more like CUDA. In CUDA,
you have constructs for vectorization, but you can also branch as Jed
indicated. This is slow on a GPU,
but would be fine on a multicore.

Jed, do you see obvious shortcomings of CUDA for these multicore machines?

   Matt


>
>   Barry
>
> >
> >   Matt
> >
> >   Is there a way to have some kind of consistent model between
> conventional multicore and GPU multi-core? If not the same code. What about
> this MCUDA stuff?
> >
> >   Barry
> > --
> > What most experimenters take for granted before they begin their
> experiments is infinitely more interesting than any results to which their
> experiments lead.
> > -- Norbert Wiener
>
>


-- 
What most experimenters take for granted before they begin their experiments
is infinitely more interesting than any results to which their experiments
lead.
-- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20101112/b6c70b2c/attachment.html>


More information about the petsc-dev mailing list