►
From YouTube: 2 Introduction
Description
Part of the Appentra Parallelware Training Series at NERSC: Motif-guided Parallelization of ZPIC with OpenMP and OpenACC, October to November 2020.
Please see https://www.nersc.gov/users/training/events/parallelware-training-series-oct-nov-2020 for more information and presentation slides.
A
A
A
A
To
a
different
execution
environment
with
its
own
processor
and
with
its
own
memory.,
so
in
the
end
you
have
two,
at
least
two
different
memories
that
you
need
to
manage
from
your
code..
So
you
need
to
move
data
from
the
memory
of
the
host
of
the
cpu,
to
the
memory
of
the
gpu
and
move
it
in
one
direction
and
move
it
back
to
collect
the
results
and
continue
the
execution
of
the
code
on
the
cpu,
multi-core
cpu..
A
A
A
A
A
A
A
So
you
need
to
analyze
or
modify
the
code
in
the
preparation
stage,
to
save
a
lot
of
development
effort
and
time,
when
you
need,,
when
you
address,,
creating
parallel
code.
okay?.
So
a
stage
number
one
is,
the
question
is,.
How
can
I
write
the
code
in
such
a
manner
that
I
prevent
parallel
bugs
from
appearing
when
I
have
openmp
and
openacc
pragmas.?
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
That
you
use
on
the
cpu
side,,
you
need
to
write
teams,
distribute
parallel
for.,
you
need
to
replace
parallel
for
by
teams,
distribute
parallel
for.,
and
these
additional
hints
provide,
the
gpu
compiler
with
information.
It
needs
to
do
the
work
properly
in
the
thread,
creation
and
mapping
to
the
different
gpu
threads.