public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Re: [PATCH 0/4] OpenMP 4.0 offloading to Intel MIC
       [not found] <20141021171323.GA47586@msticlxl57.ims.intel.com>
@ 2014-11-13 14:24 ` Kirill Yukhin
  2014-11-13 15:17   ` Tobias Burnus
                     ` (2 more replies)
  0 siblings, 3 replies; 18+ messages in thread
From: Kirill Yukhin @ 2014-11-13 14:24 UTC (permalink / raw)
  To: gcc

Hello,

Support of OpenMP 4.0 offloading to future Xeon Phi was fully checked in to main
trunk.

Thanks everybody who helped w/ development and review.

--
Thanks, K

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 0/4] OpenMP 4.0 offloading to Intel MIC
  2014-11-13 14:24 ` [PATCH 0/4] OpenMP 4.0 offloading to Intel MIC Kirill Yukhin
@ 2014-11-13 15:17   ` Tobias Burnus
  2014-11-13 15:44     ` Jakub Jelinek
                       ` (2 more replies)
  2014-11-13 17:41   ` H.J. Lu
  2014-11-13 17:58   ` David Edelsohn
  2 siblings, 3 replies; 18+ messages in thread
From: Tobias Burnus @ 2014-11-13 15:17 UTC (permalink / raw)
  To: Kirill Yukhin, gcc

Kirill Yukhin wrote:
> Support of OpenMP 4.0 offloading to future Xeon Phi was
> fully checked in to main trunk.

Thanks. If I understood it correctly:

* GCC 5 supports code generation for Xeon Phi (Knights Landing, KNL)
* KNL (the hardware) is not yet available [mid 2015?]
* liboffloadmic supports offloading in an emulation mode (executed on
  the host) but does not (yet) support offloading to KNL; i.e. one
  would need an updated version of it, once one gets hold of the
  actual hardware.
* The current hardware (Xeon Phi Knights Corner, KNC) is and will not
  be supported by GCC.

* Details for building GCC for offloading and running code on an
accelerator is at https://gcc.gnu.org/wiki/Offloading

Question: Is the latter up to date - and the item above correct?
BTW: you could update gcc.gnu.org ->news and gcc.gnu.org/gcc-5/changes.html

Otherwise:
* OpenACC support is about to be merged (as alternative to OpenMP 4)
* Support for offloading to NVidia GPUs via PTX is also about to be merged.

Tobias

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 0/4] OpenMP 4.0 offloading to Intel MIC
  2014-11-13 15:17   ` Tobias Burnus
@ 2014-11-13 15:44     ` Jakub Jelinek
  2014-11-13 16:04     ` Kirill Yukhin
  2014-11-13 16:19     ` Kirill Yukhin
  2 siblings, 0 replies; 18+ messages in thread
From: Jakub Jelinek @ 2014-11-13 15:44 UTC (permalink / raw)
  To: Tobias Burnus, Thomas Schwinge; +Cc: Kirill Yukhin, gcc

On Thu, Nov 13, 2014 at 04:15:48PM +0100, Tobias Burnus wrote:
> Question: Is the latter up to date - and the item above correct?

Will leave that to Kirill.

> BTW: you could update gcc.gnu.org ->news and gcc.gnu.org/gcc-5/changes.html

Indeed, that should be updated.

> Otherwise:
> * OpenACC support is about to be merged (as alternative to OpenMP 4)

I hope so.

> * Support for offloading to NVidia GPUs via PTX is also about to be merged.

Ditto.

Then the question is how hard will it be to get OpenACC offloading to
XeonPhi (real hw or emulation) - I guess it is a matter of whether the
plugin needs to implement some extra hooks for OpenACC, and also
whether we can get OpenMP offloading to PTX (dunno if Thomas or his
collegues have actually tried it on simple testcases, I bet the hardest part
will be porting libgomp away from pthread_* to optionally be supported
by the limited nvptx target and use its threading model; whether __thread
is already supported by nvptx etc.).  I'm willing to help with this once I
have some hw, but some help from people familiar with PTX would be certainly
appreciated.  Because without libgomp ported to nvptx-*-* target (or some
way to inline all the GOMP_*/omp_* calls in offloading regions for nvptx,
but the latter might be too hard), I guess one could offload very simple
target regions, but not anything using #pragma omp inside of them.

	Jakub

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 0/4] OpenMP 4.0 offloading to Intel MIC
  2014-11-13 15:17   ` Tobias Burnus
  2014-11-13 15:44     ` Jakub Jelinek
@ 2014-11-13 16:04     ` Kirill Yukhin
  2014-11-13 16:19     ` Kirill Yukhin
  2 siblings, 0 replies; 18+ messages in thread
From: Kirill Yukhin @ 2014-11-13 16:04 UTC (permalink / raw)
  To: Tobias Burnus; +Cc: gcc

Hi Tobias,
On 13 Nov 16:15, Tobias Burnus wrote:
> Kirill Yukhin wrote:
> > Support of OpenMP 4.0 offloading to future Xeon Phi was
> > fully checked in to main trunk.
> 
> Thanks. If I understood it correctly:
> 
> * GCC 5 supports code generation for Xeon Phi (Knights Landing, KNL)
Right.

> * KNL (the hardware) is not yet available [mid 2015?]
Yes, but I don't know the date.

> * liboffloadmic supports offloading in an emulation mode (executed on
>   the host) but does not (yet) support offloading to KNL; i.e. one
>   would need an updated version of it, once one gets hold of the
>   actual hardware.
Yes, it supports emulation mode. Also, current scheme is the same as
for KNC (however we have no code generator in GCC main trunk for KNC).
We're going to keep liboffloadmic up-to-date.

> * The current hardware (Xeon Phi Knights Corner, KNC) is and will not
>   be supported by GCC.
Currently GCC main trunk doesn't support KNC code gen.

> * Details for building GCC for offloading and running code on an
> accelerator is at https://gcc.gnu.org/wiki/Offloading
> 
> Question: Is the latter up to date - and the item above correct?
Correct.

> BTW: you could update gcc.gnu.org ->news and gcc.gnu.org/gcc-5/changes.html
Thanks, I'll post a patch.

--
Thanks, K

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 0/4] OpenMP 4.0 offloading to Intel MIC
  2014-11-13 15:17   ` Tobias Burnus
  2014-11-13 15:44     ` Jakub Jelinek
  2014-11-13 16:04     ` Kirill Yukhin
@ 2014-11-13 16:19     ` Kirill Yukhin
  2 siblings, 0 replies; 18+ messages in thread
From: Kirill Yukhin @ 2014-11-13 16:19 UTC (permalink / raw)
  To: Tobias Burnus; +Cc: gcc

<Reposting to gcc@gcc.gnu.org>

Hi Tobias,
On 13 Nov 16:15, Tobias Burnus wrote:
> Kirill Yukhin wrote:
> > Support of OpenMP 4.0 offloading to future Xeon Phi was
> > fully checked in to main trunk.
> 
> Thanks. If I understood it correctly:
> 
> * GCC 5 supports code generation for Xeon Phi (Knights Landing, KNL)
Right.

> * KNL (the hardware) is not yet available [mid 2015?]
Yes, but I don't know the date.

> * liboffloadmic supports offloading in an emulation mode (executed on
>   the host) but does not (yet) support offloading to KNL; i.e. one
>   would need an updated version of it, once one gets hold of the
>   actual hardware.
Yes, it supports emulation mode. Also, current scheme is the same as
for KNC (however we have no code generator in GCC main trunk for KNC).
We're going to keep liboffloadmic up-to-date.

> * The current hardware (Xeon Phi Knights Corner, KNC) is and will not
>   be supported by GCC.
Currently GCC main trunk doesn't support KNC code gen.

> * Details for building GCC for offloading and running code on an
> accelerator is at https://gcc.gnu.org/wiki/Offloading
> 
> Question: Is the latter up to date - and the item above correct?
Correct.

> BTW: you could update gcc.gnu.org ->news and gcc.gnu.org/gcc-5/changes.html
Thanks, I'll post a patch.

--
Thanks, K

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 0/4] OpenMP 4.0 offloading to Intel MIC
  2014-11-13 14:24 ` [PATCH 0/4] OpenMP 4.0 offloading to Intel MIC Kirill Yukhin
  2014-11-13 15:17   ` Tobias Burnus
@ 2014-11-13 17:41   ` H.J. Lu
  2014-11-13 18:48     ` Ilya Verbin
  2014-11-13 17:58   ` David Edelsohn
  2 siblings, 1 reply; 18+ messages in thread
From: H.J. Lu @ 2014-11-13 17:41 UTC (permalink / raw)
  To: Kirill Yukhin; +Cc: GCC Development

On Thu, Nov 13, 2014 at 6:14 AM, Kirill Yukhin <kirill.yukhin@gmail.com> wrote:
> Hello,
>
> Support of OpenMP 4.0 offloading to future Xeon Phi was fully checked in to main
> trunk.
>
> Thanks everybody who helped w/ development and review.
>

I noticed many libgomp test failures:

https://gcc.gnu.org/ml/gcc-regression/2014-11/msg00309.html

Have you seen them?

-- 
H.J.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 0/4] OpenMP 4.0 offloading to Intel MIC
  2014-11-13 14:24 ` [PATCH 0/4] OpenMP 4.0 offloading to Intel MIC Kirill Yukhin
  2014-11-13 15:17   ` Tobias Burnus
  2014-11-13 17:41   ` H.J. Lu
@ 2014-11-13 17:58   ` David Edelsohn
  2014-11-13 20:12     ` Gerald Pfeifer
  2 siblings, 1 reply; 18+ messages in thread
From: David Edelsohn @ 2014-11-13 17:58 UTC (permalink / raw)
  To: Kirill Yukhin; +Cc: GCC Development

Kirill,

The patches have broken bootstrap on AIX and probably on other non-GNU
platforms.  strchrnul() is a GNU extension.

/nasfarm/edelsohn/src/src/gcc/lto-wrapper.c: In function 'unsigned int
parse_env_var(const char*, char***, const char*)':
/nasfarm/edelsohn/src/src/gcc/lto-wrapper.c:427:35: error: 'strchrnul'
was not declared in this scope
   nextval = strchrnul (curval, ':');
                                   ^
/nasfarm/edelsohn/src/src/gcc/lto-wrapper.c: In function 'void
append_offload_options(obstack*, const char*, cl_decoded_option*,
unsigned int)':
/nasfarm/edelsohn/src/src/gcc/lto-wrapper.c:584:34: error: 'strchrnul'
was not declared in this scope
        next = strchrnul (cur, ',');

/nasfarm/edelsohn/src/src/gcc/gcc.c: In function 'void
handle_foffload_option(const char*)':
/nasfarm/edelsohn/src/src/gcc/gcc.c:3378:28: error: 'strchrnul' was
not declared in this scope
   end = strchrnul (arg, '=');
                            ^
Thanks, David


On Thu, Nov 13, 2014 at 9:14 AM, Kirill Yukhin <kirill.yukhin@gmail.com> wrote:
> Hello,
>
> Support of OpenMP 4.0 offloading to future Xeon Phi was fully checked in to main
> trunk.
>
> Thanks everybody who helped w/ development and review.
>
> --
> Thanks, K

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 0/4] OpenMP 4.0 offloading to Intel MIC
  2014-11-13 17:41   ` H.J. Lu
@ 2014-11-13 18:48     ` Ilya Verbin
  2014-11-13 19:20       ` H.J. Lu
  0 siblings, 1 reply; 18+ messages in thread
From: Ilya Verbin @ 2014-11-13 18:48 UTC (permalink / raw)
  To: H.J. Lu; +Cc: Kirill Yukhin, GCC Development

On 13 Nov 09:17, H.J. Lu wrote:
> I noticed many libgomp test failures:
> 
> https://gcc.gnu.org/ml/gcc-regression/2014-11/msg00309.html
> 
> Have you seen them?

Hi H.J.,

I do not see these regressions on i686-linux and x86_64-linux.
Could you please provide more details? (configure options, error log)

Thanks,
  -- Ilya

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 0/4] OpenMP 4.0 offloading to Intel MIC
  2014-11-13 18:48     ` Ilya Verbin
@ 2014-11-13 19:20       ` H.J. Lu
  2014-11-13 19:29         ` Ilya Verbin
  0 siblings, 1 reply; 18+ messages in thread
From: H.J. Lu @ 2014-11-13 19:20 UTC (permalink / raw)
  To: Ilya Verbin; +Cc: Kirill Yukhin, GCC Development

On Thu, Nov 13, 2014 at 10:37 AM, Ilya Verbin <iverbin@gmail.com> wrote:
> On 13 Nov 09:17, H.J. Lu wrote:
>> I noticed many libgomp test failures:
>>
>> https://gcc.gnu.org/ml/gcc-regression/2014-11/msg00309.html
>>
>> Have you seen them?
>
> Hi H.J.,
>
> I do not see these regressions on i686-linux and x86_64-linux.
> Could you please provide more details? (configure options, error log)
>
> Thanks,
>   -- Ilya

GCC is configured with

--prefix=/usr/5.0.0 --enable-clocale=gnu --with-system-zlib
--enable-shared --with-demangler-in-ld i686-linux --with-fpmath=sse
--enable-languages=c,c++,fortran,java,lto,objc

I got

spawn -ignore SIGHUP
/export/project/git/gcc-regression/master/217501/bld/gcc/xgcc
-B/export/project/git/gcc-regression/master/217501/bld/gcc/
/export/project/git/gcc-regression/gcc/libgomp/testsuite/libgomp.c/examples-4/e.50.1.c
-B/export/project/git/gcc-regression/master/217501/bld/x86_64-unknown-linux-gnu/./libgomp/
-B/export/project/git/gcc-regression/master/217501/bld/x86_64-unknown-linux-gnu/./libgomp/.libs
-I/export/project/git/gcc-regression/master/217501/bld/x86_64-unknown-linux-gnu/./libgomp
-I/export/project/git/gcc-regression/gcc/libgomp/testsuite/..
-fmessage-length=0 -fno-diagnostics-show-caret
-fdiagnostics-color=never -fopenmp -O2
-L/export/project/git/gcc-regression/master/217501/bld/x86_64-unknown-linux-gnu/./libgomp/.libs
-lm -o ./e.50.1.exe^M
/usr/local/bin/ld: /tmp/ccA8cExp.o: plugin needed to handle lto object^M
output is:
/usr/local/bin/ld: /tmp/ccA8cExp.o: plugin needed to handle lto object^M


-- 
H.J.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 0/4] OpenMP 4.0 offloading to Intel MIC
  2014-11-13 19:20       ` H.J. Lu
@ 2014-11-13 19:29         ` Ilya Verbin
  2014-11-13 19:42           ` H.J. Lu
  2014-11-13 20:53           ` H.J. Lu
  0 siblings, 2 replies; 18+ messages in thread
From: Ilya Verbin @ 2014-11-13 19:29 UTC (permalink / raw)
  To: H.J. Lu; +Cc: Kirill Yukhin, GCC Development

On 13 Nov 10:48, H.J. Lu wrote:
> /usr/local/bin/ld: /tmp/ccA8cExp.o: plugin needed to handle lto object^M

Looks like we should set flag_fat_lto_objects while compilation with offloading.
I'll investigate this issue tomorrow.

Could you please also show a version and configure options for ld?

Thanks,
  -- Ilya

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 0/4] OpenMP 4.0 offloading to Intel MIC
  2014-11-13 19:29         ` Ilya Verbin
@ 2014-11-13 19:42           ` H.J. Lu
  2014-11-13 20:53           ` H.J. Lu
  1 sibling, 0 replies; 18+ messages in thread
From: H.J. Lu @ 2014-11-13 19:42 UTC (permalink / raw)
  To: Ilya Verbin; +Cc: Kirill Yukhin, GCC Development

On Thu, Nov 13, 2014 at 11:20 AM, Ilya Verbin <iverbin@gmail.com> wrote:
> On 13 Nov 10:48, H.J. Lu wrote:
>> /usr/local/bin/ld: /tmp/ccA8cExp.o: plugin needed to handle lto object^M
>
> Looks like we should set flag_fat_lto_objects while compilation with offloading.
> I'll investigate this issue tomorrow.
>
> Could you please also show a version and configure options for ld?
>
> Thanks,
>   -- Ilya

I am using binutils 20141107 trunk, which was configured with

--with-sysroot=/ \
--enable-gold --enable-plugins --enable-threads --enable-targets=x86_64-linux \
--prefix=/usr/local \
--with-local-prefix=/usr/local


-- 
H.J.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 0/4] OpenMP 4.0 offloading to Intel MIC
  2014-11-13 17:58   ` David Edelsohn
@ 2014-11-13 20:12     ` Gerald Pfeifer
  0 siblings, 0 replies; 18+ messages in thread
From: Gerald Pfeifer @ 2014-11-13 20:12 UTC (permalink / raw)
  To: David Edelsohn, Kirill Yukhin; +Cc: gcc

On Thursday 2014-11-13 12:41, David Edelsohn wrote:
> The patches have broken bootstrap on AIX and probably on other non-GNU
> platforms.  strchrnul() is a GNU extension.

Yep, FreeBSD 8 is broken as well.

The failure rate of my nightly testers over the last two weeks
must be around 50%.

Gerald

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 0/4] OpenMP 4.0 offloading to Intel MIC
  2014-11-13 19:29         ` Ilya Verbin
  2014-11-13 19:42           ` H.J. Lu
@ 2014-11-13 20:53           ` H.J. Lu
  2014-11-13 21:01             ` Ilya Verbin
  1 sibling, 1 reply; 18+ messages in thread
From: H.J. Lu @ 2014-11-13 20:53 UTC (permalink / raw)
  To: Ilya Verbin; +Cc: Kirill Yukhin, GCC Development

On Thu, Nov 13, 2014 at 11:20 AM, Ilya Verbin <iverbin@gmail.com> wrote:
> On 13 Nov 10:48, H.J. Lu wrote:
>> /usr/local/bin/ld: /tmp/ccA8cExp.o: plugin needed to handle lto object^M
>
> Looks like we should set flag_fat_lto_objects while compilation with offloading.
> I'll investigate this issue tomorrow.
>
> Could you please also show a version and configure options for ld?
>


Section Headers:
  [Nr] Name              Type            Address          Off    Size
 ES Flg Lk Inf Al
  [ 0]                   NULL            0000000000000000 000000
000000 00      0   0  0
  [ 1] .text             PROGBITS        0000000000000000 000040
000204 00  AX  0   0 16
  [ 2] .rela.text        RELA            0000000000000000 001a60
0000d8 18   I 29   1  8
  [ 3] .data             PROGBITS        0000000000000000 000260
000040 00  WA  0   0 32
  [ 4] .bss              NOBITS          0000000000000000 0002a0
000000 00  WA  0   0  1
  [ 5] .gnu.offload_lto_.profile.50035f9931394ed4 PROGBITS
0000000000000000 0002a0 000013 00   E  0   0  1
  [ 6] .gnu.offload_lto_.icf.50035f9931394ed4 PROGBITS
0000000000000000 0002b3 00001e 00   E  0   0  1
  [ 7] .gnu.offload_lto_.jmpfuncs.50035f9931394ed4 PROGBITS
0000000000000000 0002d1 000019 00   E  0   0  1
  [ 8] .gnu.offload_lto_.inline.50035f9931394ed4 PROGBITS
0000000000000000 0002ea 00006c 00   E  0   0  1
  [ 9] .gnu.offload_lto_.pureconst.50035f9931394ed4 PROGBITS
0000000000000000 000356 000013 00   E  0   0  1
  [10] .gnu.offload_lto_vec_mult._omp_fn.1.50035f9931394ed4 PROGBITS
     0000000000000000 000369 0004ab 00   E  0   0  1
  [11] .gnu.offload_lto_vec_mult._omp_fn.0.50035f9931394ed4 PROGBITS
     0000000000000000 000814 00035d 00   E  0   0  1
  [12] .gnu.offload_lto_.symbol_nodes.50035f9931394ed4 PROGBITS
0000000000000000 000b71 000055 00   E  0   0  1
  [13] .gnu.offload_lto_.refs.50035f9931394ed4 PROGBITS
0000000000000000 000bc6 000014 00   E  0   0  1
  [14] .gnu.offload_lto_.offload_table.50035f9931394ed4 PROGBITS
 0000000000000000 000bda 000011 00   E  0   0  1
  [15] .gnu.offload_lto_.decls.50035f9931394ed4 PROGBITS
0000000000000000 000beb 00043d 00   E  0   0  1
  [16] .gnu.offload_lto_.symtab.50035f9931394ed4 PROGBITS
0000000000000000 001028 000000 00   E  0   0  1
  [17] .gnu.offload_lto_.opts PROGBITS        0000000000000000 001028
0000a9 00   E  0   0  1

Don't you need another plugin to claim those offload IR sections?

-- 
H.J.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 0/4] OpenMP 4.0 offloading to Intel MIC
  2014-11-13 20:53           ` H.J. Lu
@ 2014-11-13 21:01             ` Ilya Verbin
  2014-11-13 21:47               ` Jakub Jelinek
  2014-11-13 21:47               ` [PATCH 0/4] OpenMP 4.0 offloading to Intel MIC H.J. Lu
  0 siblings, 2 replies; 18+ messages in thread
From: Ilya Verbin @ 2014-11-13 21:01 UTC (permalink / raw)
  To: H.J. Lu; +Cc: Kirill Yukhin, GCC Development

On 13 Nov 2014, at 23:11, H.J. Lu <hjl.tools@gmail.com> wrote:
> 
> Section Headers:
>  [Nr] Name              Type            Address          Off    Size
> ES Flg Lk Inf Al
>  [ 0]                   NULL            0000000000000000 000000
> 000000 00      0   0  0
>  [ 1] .text             PROGBITS        0000000000000000 000040
> 000204 00  AX  0   0 16
>  [ 2] .rela.text        RELA            0000000000000000 001a60
> 0000d8 18   I 29   1  8
>  [ 3] .data             PROGBITS        0000000000000000 000260
> 000040 00  WA  0   0 32
>  [ 4] .bss              NOBITS          0000000000000000 0002a0
> 000000 00  WA  0   0  1
>  [ 5] .gnu.offload_lto_.profile.50035f9931394ed4 PROGBITS
> 0000000000000000 0002a0 000013 00   E  0   0  1
>  [ 6] .gnu.offload_lto_.icf.50035f9931394ed4 PROGBITS
> 0000000000000000 0002b3 00001e 00   E  0   0  1
>  [ 7] .gnu.offload_lto_.jmpfuncs.50035f9931394ed4 PROGBITS
> 0000000000000000 0002d1 000019 00   E  0   0  1
>  [ 8] .gnu.offload_lto_.inline.50035f9931394ed4 PROGBITS
> 0000000000000000 0002ea 00006c 00   E  0   0  1
>  [ 9] .gnu.offload_lto_.pureconst.50035f9931394ed4 PROGBITS
> 0000000000000000 000356 000013 00   E  0   0  1
>  [10] .gnu.offload_lto_vec_mult._omp_fn.1.50035f9931394ed4 PROGBITS
>     0000000000000000 000369 0004ab 00   E  0   0  1
>  [11] .gnu.offload_lto_vec_mult._omp_fn.0.50035f9931394ed4 PROGBITS
>     0000000000000000 000814 00035d 00   E  0   0  1
>  [12] .gnu.offload_lto_.symbol_nodes.50035f9931394ed4 PROGBITS
> 0000000000000000 000b71 000055 00   E  0   0  1
>  [13] .gnu.offload_lto_.refs.50035f9931394ed4 PROGBITS
> 0000000000000000 000bc6 000014 00   E  0   0  1
>  [14] .gnu.offload_lto_.offload_table.50035f9931394ed4 PROGBITS
> 0000000000000000 000bda 000011 00   E  0   0  1
>  [15] .gnu.offload_lto_.decls.50035f9931394ed4 PROGBITS
> 0000000000000000 000beb 00043d 00   E  0   0  1
>  [16] .gnu.offload_lto_.symtab.50035f9931394ed4 PROGBITS
> 0000000000000000 001028 000000 00   E  0   0  1
>  [17] .gnu.offload_lto_.opts PROGBITS        0000000000000000 001028
> 0000a9 00   E  0   0  1
> 
> Don't you need another plugin to claim those offload IR sections?

No, the plan was that a regular plugin will just ignore offload IR sections by default.  In your configuration ld detects a __gnu_lto_slim symbol and decided that the object file contains only LTO IR without asm.  I am going to investigate where is the difference with my configuration and fix the bug.

  -- Ilya

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 0/4] OpenMP 4.0 offloading to Intel MIC
  2014-11-13 21:01             ` Ilya Verbin
@ 2014-11-13 21:47               ` Jakub Jelinek
  2014-11-14 10:22                 ` Richard Biener
  2014-11-13 21:47               ` [PATCH 0/4] OpenMP 4.0 offloading to Intel MIC H.J. Lu
  1 sibling, 1 reply; 18+ messages in thread
From: Jakub Jelinek @ 2014-11-13 21:47 UTC (permalink / raw)
  To: Ilya Verbin; +Cc: H.J. Lu, Kirill Yukhin, GCC Development

On Thu, Nov 13, 2014 at 11:53:53PM +0300, Ilya Verbin wrote:
> > Don't you need another plugin to claim those offload IR sections?
> 
> No, the plan was that a regular plugin will just ignore offload IR
> sections by default.  In your configuration ld detects a __gnu_lto_slim
> symbol and decided that the object file contains only LTO IR without asm. 
> I am going to investigate where is the difference with my configuration
> and fix the bug.

FYI, I'm getting
+WARNING: program timed out.
+FAIL: libgomp.c/examples-4/e.54.2.c execution test
on both x86_64-linux and i686-linux (normal --enable-checking=yes,rtl
bootstrap, no offloading configure options).
binutils-2.24, ld.bfd.

	Jakub

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 0/4] OpenMP 4.0 offloading to Intel MIC
  2014-11-13 21:01             ` Ilya Verbin
  2014-11-13 21:47               ` Jakub Jelinek
@ 2014-11-13 21:47               ` H.J. Lu
  1 sibling, 0 replies; 18+ messages in thread
From: H.J. Lu @ 2014-11-13 21:47 UTC (permalink / raw)
  To: Ilya Verbin; +Cc: Kirill Yukhin, GCC Development

On Thu, Nov 13, 2014 at 12:53 PM, Ilya Verbin <iverbin@gmail.com> wrote:
> On 13 Nov 2014, at 23:11, H.J. Lu <hjl.tools@gmail.com> wrote:
>>
>> Section Headers:
>>  [Nr] Name              Type            Address          Off    Size
>> ES Flg Lk Inf Al
>>  [ 0]                   NULL            0000000000000000 000000
>> 000000 00      0   0  0
>>  [ 1] .text             PROGBITS        0000000000000000 000040
>> 000204 00  AX  0   0 16
>>  [ 2] .rela.text        RELA            0000000000000000 001a60
>> 0000d8 18   I 29   1  8
>>  [ 3] .data             PROGBITS        0000000000000000 000260
>> 000040 00  WA  0   0 32
>>  [ 4] .bss              NOBITS          0000000000000000 0002a0
>> 000000 00  WA  0   0  1
>>  [ 5] .gnu.offload_lto_.profile.50035f9931394ed4 PROGBITS
>> 0000000000000000 0002a0 000013 00   E  0   0  1
>>  [ 6] .gnu.offload_lto_.icf.50035f9931394ed4 PROGBITS
>> 0000000000000000 0002b3 00001e 00   E  0   0  1
>>  [ 7] .gnu.offload_lto_.jmpfuncs.50035f9931394ed4 PROGBITS
>> 0000000000000000 0002d1 000019 00   E  0   0  1
>>  [ 8] .gnu.offload_lto_.inline.50035f9931394ed4 PROGBITS
>> 0000000000000000 0002ea 00006c 00   E  0   0  1
>>  [ 9] .gnu.offload_lto_.pureconst.50035f9931394ed4 PROGBITS
>> 0000000000000000 000356 000013 00   E  0   0  1
>>  [10] .gnu.offload_lto_vec_mult._omp_fn.1.50035f9931394ed4 PROGBITS
>>     0000000000000000 000369 0004ab 00   E  0   0  1
>>  [11] .gnu.offload_lto_vec_mult._omp_fn.0.50035f9931394ed4 PROGBITS
>>     0000000000000000 000814 00035d 00   E  0   0  1
>>  [12] .gnu.offload_lto_.symbol_nodes.50035f9931394ed4 PROGBITS
>> 0000000000000000 000b71 000055 00   E  0   0  1
>>  [13] .gnu.offload_lto_.refs.50035f9931394ed4 PROGBITS
>> 0000000000000000 000bc6 000014 00   E  0   0  1
>>  [14] .gnu.offload_lto_.offload_table.50035f9931394ed4 PROGBITS
>> 0000000000000000 000bda 000011 00   E  0   0  1
>>  [15] .gnu.offload_lto_.decls.50035f9931394ed4 PROGBITS
>> 0000000000000000 000beb 00043d 00   E  0   0  1
>>  [16] .gnu.offload_lto_.symtab.50035f9931394ed4 PROGBITS
>> 0000000000000000 001028 000000 00   E  0   0  1
>>  [17] .gnu.offload_lto_.opts PROGBITS        0000000000000000 001028
>> 0000a9 00   E  0   0  1
>>
>> Don't you need another plugin to claim those offload IR sections?
>
> No, the plan was that a regular plugin will just ignore offload IR sections by default.  In your configuration ld detects a __gnu_lto_slim symbol and decided that the object file contains only LTO IR without asm.  I am going to investigate where is the difference with my configuration and fix the bug.
>

You may need to install the current binutils to see it.

-- 
H.J.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 0/4] OpenMP 4.0 offloading to Intel MIC
  2014-11-13 21:47               ` Jakub Jelinek
@ 2014-11-14 10:22                 ` Richard Biener
  2014-11-14 18:00                   ` [committed] Improve e.54.2.c testcase Jakub Jelinek
  0 siblings, 1 reply; 18+ messages in thread
From: Richard Biener @ 2014-11-14 10:22 UTC (permalink / raw)
  To: Jakub Jelinek; +Cc: Ilya Verbin, H.J. Lu, Kirill Yukhin, GCC Development

On Thu, Nov 13, 2014 at 10:47 PM, Jakub Jelinek <jakub@redhat.com> wrote:
> On Thu, Nov 13, 2014 at 11:53:53PM +0300, Ilya Verbin wrote:
>> > Don't you need another plugin to claim those offload IR sections?
>>
>> No, the plan was that a regular plugin will just ignore offload IR
>> sections by default.  In your configuration ld detects a __gnu_lto_slim
>> symbol and decided that the object file contains only LTO IR without asm.
>> I am going to investigate where is the difference with my configuration
>> and fix the bug.
>
> FYI, I'm getting
> +WARNING: program timed out.
> +FAIL: libgomp.c/examples-4/e.54.2.c execution test
> on both x86_64-linux and i686-linux (normal --enable-checking=yes,rtl
> bootstrap, no offloading configure options).
> binutils-2.24, ld.bfd.

Me too, with default checking (timeouts are really annoying....).

Richard.

>         Jakub

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [committed] Improve e.54.2.c testcase
  2014-11-14 10:22                 ` Richard Biener
@ 2014-11-14 18:00                   ` Jakub Jelinek
  0 siblings, 0 replies; 18+ messages in thread
From: Jakub Jelinek @ 2014-11-14 18:00 UTC (permalink / raw)
  To: Richard Biener; +Cc: Ilya Verbin, H.J. Lu, Kirill Yukhin, GCC Development

On Fri, Nov 14, 2014 at 11:14:59AM +0100, Richard Biener wrote:
> On Thu, Nov 13, 2014 at 10:47 PM, Jakub Jelinek <jakub@redhat.com> wrote:
> > On Thu, Nov 13, 2014 at 11:53:53PM +0300, Ilya Verbin wrote:
> >> > Don't you need another plugin to claim those offload IR sections?
> >>
> >> No, the plan was that a regular plugin will just ignore offload IR
> >> sections by default.  In your configuration ld detects a __gnu_lto_slim
> >> symbol and decided that the object file contains only LTO IR without asm.
> >> I am going to investigate where is the difference with my configuration
> >> and fix the bug.
> >
> > FYI, I'm getting
> > +WARNING: program timed out.
> > +FAIL: libgomp.c/examples-4/e.54.2.c execution test
> > on both x86_64-linux and i686-linux (normal --enable-checking=yes,rtl
> > bootstrap, no offloading configure options).
> > binutils-2.24, ld.bfd.
> 
> Me too, with default checking (timeouts are really annoying....).

So, it turns out that the problem is in heavily parallel testing that
these two testcases spawn just way too many #pragma omp parallels in
sequence (32768), unnecessarily so.  And, with the default partial busy
waiting (something in between OMP_WAIT_POLICY=passive and active) if too
often when some threads busy wait on some barrier big amounts of other jobs
(other tests) contend for the CPUs, it means the test can run for minutes,
while normally it takes 0.5s.  Fixed thusly, committed to trunk.

With all the additions to the libgomp test, seems even on a fast box (but
with heavy contention) libgomp testing now takes already 30 minutes or so,
I guess I should play with the possibility to set OMP_WAIT_POLICY=passive
for libgomp testing in the environment of the tests, e.g. if make -jN
was used (and keep the default wait policy if it wasn't).

2014-11-14  Jakub Jelinek  <jakub@redhat.com>

	* libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
	of 32 as block_size.
	* libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
	instead of 32 as block_size.

--- libgomp/testsuite/libgomp.c/examples-4/e.54.2.c.jj	2014-11-13 15:13:18.000000000 +0100
+++ libgomp/testsuite/libgomp.c/examples-4/e.54.2.c	2014-11-14 15:07:07.428485712 +0100
@@ -61,7 +61,7 @@ int main ()
   init (v1, v2, N);
 
   p1 = dotprod_ref (v1, v2, N);
-  p2 = dotprod (v1, v2, N, 32, 2, 8);
+  p2 = dotprod (v1, v2, N, N / 8, 2, 8);
 
   check (p1, p2);
 
--- libgomp/testsuite/libgomp.fortran/examples-4/e.54.2.f90.jj	2014-11-13 15:13:17.000000000 +0100
+++ libgomp/testsuite/libgomp.fortran/examples-4/e.54.2.f90	2014-11-14 15:08:41.471776859 +0100
@@ -59,7 +59,7 @@ program e_54_1
   allocate (B(n), C(n))
   call init (B, C, n)
   ref = dotprod_ref (B, C, n)
-  d = dotprod (B, C, n, 32, 2, 8)
+  d = dotprod (B, C, n, n / 8, 2, 8)
   call check (ref, d)
   deallocate (B, C)
 end program

	Jakub

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2014-11-14 17:27 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20141021171323.GA47586@msticlxl57.ims.intel.com>
2014-11-13 14:24 ` [PATCH 0/4] OpenMP 4.0 offloading to Intel MIC Kirill Yukhin
2014-11-13 15:17   ` Tobias Burnus
2014-11-13 15:44     ` Jakub Jelinek
2014-11-13 16:04     ` Kirill Yukhin
2014-11-13 16:19     ` Kirill Yukhin
2014-11-13 17:41   ` H.J. Lu
2014-11-13 18:48     ` Ilya Verbin
2014-11-13 19:20       ` H.J. Lu
2014-11-13 19:29         ` Ilya Verbin
2014-11-13 19:42           ` H.J. Lu
2014-11-13 20:53           ` H.J. Lu
2014-11-13 21:01             ` Ilya Verbin
2014-11-13 21:47               ` Jakub Jelinek
2014-11-14 10:22                 ` Richard Biener
2014-11-14 18:00                   ` [committed] Improve e.54.2.c testcase Jakub Jelinek
2014-11-13 21:47               ` [PATCH 0/4] OpenMP 4.0 offloading to Intel MIC H.J. Lu
2014-11-13 17:58   ` David Edelsohn
2014-11-13 20:12     ` Gerald Pfeifer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).