Hi, all!
> Which accelerators do you intent to handle? "Accelerator" is a rather
> broad term, covering DSPs, GPUs, Intel's MIC, ...
The idea is to emit OpenCL from high-GIMPLE, for know. So, any device
that has OpenCL support can be utilized by ACC.
Maybe, we'll be able to reuse some parts from graphite/opengpu projects,
but this is not clear for now.
> Is there a specific reason for targeting 1.0 instead of 2.0 (besides 2.0
> still being declared as a draft)?
You've named the main reason why we're targeting OpenACC1 - it's stable
and it's a good starting point for the initial implementation. BTW,
OpenACC2 differs not much from the previous version. Major improvements
covers only runtime library.
> - but I don't think anyone will work on OpenMP 4.0's 'target' feature
> soon as the enough work on the non-'target' features remains.
OpenMP's 'target' is definitely inspired by OpenACC. So, I think it'll
be possible to reuse/share most of BE part from OpenACC implementation,
once it's finished.
> I like the idea - though, I wonder whether OpenMP 4.0's "target"* would
> be the better choice as it looks a bit more flexible and better defined.
> (Conceptually, they are very similar; I think the
> middle-end/back-end/library part would even be the same.)
OpenMP 4.0 is still in draft. Meanwhile, OpenACC is supported by several
commercial compilers and our implementation can be compared for achieved
performance. In addition, there are some side projects using OpenACC and
it'll help to test implementation on real code.
Thanks,
Evgeny.
On 05/06/2013 05:41 PM, Tobias Burnus wrote:
Evgeny Gavrin wrote:
What do you think about support of OpenACC 1.0
(http://www.openacc-standard.org/) in gcc?
I like the idea - though, I wonder whether OpenMP 4.0's "target"* would
be the better choice as it looks a bit more flexible and better defined.
(Conceptually, they are very similar; I think the
middle-end/back-end/library part would even be the same.)
Which accelerators do you intent to handle? "Accelerator" is a rather
broad term, covering DSPs, GPUs, Intel's MIC, ...
Tobias
* http://openmp.org/wp/2013/03/openmp-40-rc2/ (GCC supports OpenMP 3.1.
Support for OpenMP 4.0 is currently implemented in GCC's gomp-4_0-branch
- but I don't think anyone will work on OpenMP 4.0's 'target' feature
soon as the enough work on the non-'target' features remains.)
PS: A nonexclusive copyright assignment to the Free Software Foundation
is required for any any nontrivial code contribution. See
http://gcc.gnu.org/contribute.html#legal - After the copyright issues
are sorted out, you can apply for commit rights (write after approval
status), which are sufficient to create a development branch.