|
| View previous topic :: View next topic |
| Author |
Message |
chris.sl.lim
Joined: 11 Jan 2013 Posts: 15
|
Posted: Mon Apr 08, 2013 6:04 am Post subject: pgf90io_fmtw_init and function inlining |
|
|
Hi,
I'm getting this error when trying to compile my Fortran program. The executable is created, but it is just skipping the code within the "accelerated" block.
Any ideas on how to fix it?
Thanks,
Chris
| Code: | pgfortran tblock-07-5.f90 -o tblock-07-5 -ta=nvidia,time -Minfo=accel,ccff -fast -mcmodel=medium
/tmp/pgaccxwjbfCJOVw66.gpu(272): error: identifier "__pgf90io_src_info03" is undefined
1 error detected in the compilation of "/tmp/pgnvdxGjbf94JpPV8.nv0".
PGF90-W-0155-Compiler failed to translate accelerator region (see -Minfo messages): Device compiler exited with error status code (tblock-07-5.f90: 7424)
set_xlength:
7424, Generating present_or_copyin(mixl_type(:))
Generating present_or_copyin(rt(:,:,:,:))
Generating present_or_copyin(r(:,:,:,:))
Generating present_or_copyin(x(:,:,:,:))
Generating present_or_copyin(ni(:))
Generating present_or_copyin(nj(:))
Generating present_or_copyin(nk(:))
Generating present_or_copyin(area_max(:))
Generating present_or_copyin(vol_total(:))
Generating present_or_copyout(difmin(:))
7426, Loop is parallelizable
Accelerator kernel generated
7426, !$acc loop gang ! blockidx%x
7442, !$acc loop vector(128) ! threadidx%x
7453, !$acc loop vector(128) ! threadidx%x
7463, !$acc loop vector(128) ! threadidx%x
7441, Loop is parallelizable
7442, Loop is parallelizable
7452, Loop is parallelizable
7453, Loop is parallelizable
7463, Loop is parallelizable
7464, Loop is parallelizable
0 inform, 1 warnings, 0 severes, 0 fatal for set_xlength
|
Last edited by chris.sl.lim on Mon Apr 15, 2013 9:12 am; edited 1 time in total |
|
| Back to top |
|
 |
mkcolg
Joined: 30 Jun 2004 Posts: 4996 Location: The Portland Group Inc.
|
Posted: Mon Apr 08, 2013 1:33 pm Post subject: |
|
|
Hi Chris,
Check if you have a write or print statement in your accelerator compute region. These will need to be removed or guarded by a preprocessor macro.
- Mat |
|
| Back to top |
|
 |
chris.sl.lim
Joined: 11 Jan 2013 Posts: 15
|
Posted: Mon Apr 15, 2013 7:28 am Post subject: |
|
|
Hi Mat,
Linked to the previous post, I'm getting a compiler error:
| Code: | | Accelerator restriction: unsupported call to support routine 'pgf90io_fmtw_init' |
The line number points to a WRITE statement, so I'm presuming this is a error linked to a WRITE statement as in the first post. I was just wondering if I'd be able to solve this with preprocessor macros?
On a slightly unrelated note, I'm having trouble with function inlining and OpenAcc. The compiler is saying that "function/procedure calls are not supported", but I'm using the -Minline flag that reports that all the function calls within the region have been inlined succesfully. Is there something obvious I'm missing?
Thanks for your time,
Chris
| Code: | 13246, Accelerator region ignored
13248, Accelerator restriction: function/procedure calls are not supported
13372, exbconds_gpu inlined, size=586, file tblock-07.5.f90 (14010)
13378, set_visforce_gpu inlined, size=1334, file tblock-07.5.f90 (14477)
13380, set_visforce_gpu inlined, size=1334, file tblock-07.5.f90 (14477)
13470, Accelerator restriction: unsupported call to support routine 'pgf90io_fmtw_init'
13592, sumas inlined, size=373, file tblock-07.5.f90 (10129)
13607, sumflux inlined, size=434, file tblock-07.5.f90 (5221)
13608, sumflux_dts inlined, size=426, file tblock-07.5.f90 (5624)
13913, hfromt inlined, size=5, file tblock-07.5.f90 (13101)
13919, hfromt inlined, size=5, file tblock-07.5.f90 (13101)
|
|
|
| Back to top |
|
 |
chris.sl.lim
Joined: 11 Jan 2013 Posts: 15
|
Posted: Mon Apr 15, 2013 9:12 am Post subject: |
|
|
Sorry to keep posting under the same thread. Having removed all the PRINT statements, I'm getting these compiler error messages.
The routine "sumflux" is called 5 times in total, and it inlined successfully twice, but not the third time (and then it stops thereafter). Is there a particular reason for this?
Chris
| Code: | 13365, Accelerator region ignored
13367, Accelerator restriction: function/procedure calls are not supported
13491, exbconds_gpu inlined, size=586, file tblock-07.5.f90 (14157)
13497, set_visforce_gpu inlined, size=1288, file tblock-07.5.f90 (14624)
13499, set_visforce_gpu inlined, size=1288, file tblock-07.5.f90 (14624)
13693, sumas inlined, size=373, file tblock-07.5.f90 (10248)
13760, sumflux inlined, size=578, file tblock-07.5.f90 (5221)
13800, sumflux inlined, size=578, file tblock-07.5.f90 (5221)
13845, Accelerator restriction: unsupported call to 'sumflux'
14060, hfromt inlined, size=5, file tblock-07.5.f90 (13220)
14066, hfromt inlined, size=5, file tblock-07.5.f90 (13220)
|
|
|
| Back to top |
|
 |
mkcolg
Joined: 30 Jun 2004 Posts: 4996 Location: The Portland Group Inc.
|
Posted: Mon Apr 15, 2013 9:43 am Post subject: |
|
|
| Quote: | | The line number points to a WRITE statement, so I'm presuming this is a error linked to a WRITE statement as in the first post. I was just wondering if I'd be able to solve this with preprocessor macros? | I/O statements can't be used in OpenACC compute regions. You can put "#ifdef _OPENACC" around these statements to they are not compiled when targeting OpenACC
| Quote: | | On a slightly unrelated note, I'm having trouble with function inlining and OpenAcc. The compiler is saying that "function/procedure calls are not supported", but I'm using the -Minline flag that reports that all the function calls within the region have been inlined succesfully. Is there something obvious I'm missing? | Some routines can't be automatically inlined. In this case, it's the call to the I/O runtime routine, "pgf90io_fmtw_init", so removing the I/O statement will work around this issue.
| Quote: | | Is there a particular reason for this? | I'd need to see the code. Though, mostly likely it's the arguments being passed to it. What's different about this call to 'sumflux'?
- Mat |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2002 phpBB Group
|