OpenACC support in 4.9

2013-05-06 Thread Evgeny Gavrin

Hi, all!

What do you think about support of OpenACC 1.0 
(http://www.openacc-standard.org/) in gcc?


We're from Samsung Electronics and possibly we can allocate one or two 
full-time engineers for this task. We can try to implement it for 4.9 
branch by the end of Stage 1.
On my view, it's going to require some organizational help from your 
side: development branch, at least.


Do you interested in getting OpenACC 1.0 support in 4.9 branch?

--
Thanks,
Evgeny.


Re: OpenACC support in 4.9

2013-05-06 Thread Tobias Burnus

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.


Re: OpenACC support in 4.9

2013-05-06 Thread Jeff Law

On 05/06/2013 07:41 AM, 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.)
We're certainly hoping that OpenACC & OpenMP 4 & Cilk+ can share certain 
parts of their implementations.  We're already seeing OpenMP 4 and Cilk 
starting to converge on some stuff.


In a perfect world, there'd only be one standard for this stuff.  That's 
not likely, so I'd be happy with parsing/FE kinds of things being 
specific to each standard with everything from initial gimple generation 
through the optimizers being shared.  That may not ultimately be 
possible, but I think that's the right way to look at the work.


Jeff


Re: OpenACC support in 4.9

2013-05-06 Thread Torvald Riegel
On Mon, 2013-05-06 at 16:17 +0400, Evgeny Gavrin wrote:
> What do you think about support of OpenACC 1.0 
> (http://www.openacc-standard.org/) in gcc?

Is there a specific reason for targeting 1.0 instead of 2.0 (besides 2.0
still being declared as a draft)?

Also, adding to Tobias' question: Which hardware or existing runtimes do
you intend to target in the implementation?

Torvald



init_priority across different namespaces

2013-05-06 Thread Sergey Kljopov

Hi,

Is init_priority affects initialization order across different namespaces?
Means in the code (the same file)
namespace x_sp { Foo a_x __attribute__ ((init_priority (2000))); }
namespace y_sp { Foo a_y __attribute__ ((init_priority (1000))); }
which object will be initialized first?

Sergey Kljopov




Re: init_priority across different namespaces

2013-05-06 Thread Andrew Pinski
On Mon, May 6, 2013 at 3:30 PM, Sergey Kljopov  wrote:
> Hi,
>
> Is init_priority affects initialization order across different namespaces?
> Means in the code (the same file)
> namespace x_sp { Foo a_x __attribute__ ((init_priority (2000))); }
> namespace y_sp { Foo a_y __attribute__ ((init_priority (1000))); }
> which object will be initialized first?

init_priority is global across all translation units.

Thanks,
Andrew

>
> Sergey Kljopov
>
>