PGI User Forum
 SearchSearch   MemberlistMemberlist     RegisterRegister   ProfileProfile    Log inLog in 

CUDA-x86.

CUDA 3.1 support

 
Post new topic   Reply to topic    PGI User Forum Forum Index -> Accelerator Programming
View previous topic :: View next topic  
Author Message
FRANCOIS-C



Joined: 23 Aug 2004
Posts: 2

PostPosted: Wed Jul 21, 2010 10:12 am    Post subject: CUDA 3.1 support Reply with quote

When CUDA 3.1 will be supported ?
I think PGI 2010 version 10.6 supports only CUDA 3.0

The next question is when will kernels support subroutine/function calls within?
(CUDA 3.1 allows the implementation of calls stack)

thank you
Back to top
View user's profile
mkcolg



Joined: 30 Jun 2004
Posts: 6021
Location: The Portland Group Inc.

PostPosted: Wed Jul 21, 2010 11:56 am    Post subject: Reply with quote

Hi FRANCOIS-C,

CUDA 3.1 will be included with August's 10.8 compilers.

Quote:
The next question is when will kernels support subroutine/function calls within? (CUDA 3.1 allows the implementation of calls stack)
Please clarify. Do you mean within a PGI Accelerator region or CUDA Fortran? Also, what types of routine do you wish to call (any routine? CUDA C library?).

- Mat
Back to top
View user's profile
FRANCOIS-C



Joined: 23 Aug 2004
Posts: 2

PostPosted: Thu Jul 22, 2010 11:17 am    Post subject: Subroutines/functions calls in a kernel Reply with quote

mkcolg wrote:
Hi FRANCOIS-C,

CUDA 3.1 will be included with August's 10.8 compilers.

Quote:
The next question is when will kernels support subroutine/function calls within? (CUDA 3.1 allows the implementation of calls stack)
Please clarify. Do you mean within a PGI Accelerator region or CUDA Fortran? Also, what types of routine do you wish to call (any routine? CUDA C library?).

- Mat


Thanks Mat.

My questions applies for both a PGI Accelerator region and CUDA Fortran.
I was refering to user routines/functions.

-Francois
Back to top
View user's profile
mkcolg



Joined: 30 Jun 2004
Posts: 6021
Location: The Portland Group Inc.

PostPosted: Thu Jul 22, 2010 12:16 pm    Post subject: Reply with quote

Hi Francois,

I personally don't know much about what NVIDIA means by a 'call stack'. What little I could gather was it's there to support C++ and that CUDA C still doesn't support true function calling. CUDA C and CUDA Fortran syntactical allow for routine calls, but in actuality all calls are inlined. Hence, calls to device routines must be within the same file/module scope. I could be wrong, but I don't think this has changed with CUDA 3.1.

A second issue with calling is the lack of a linker for device code. Without a linker there's no way to associate symbols. Without a way to associate symbols, there's no way of knowing the address of the routine you want to jump to.

This is a problem that we are well aware of and actively seeking solutions. While I hope these limitations can be removed (or at least less limiting) in the future, there are no current plans to allow for calling to be supported unless the callee routine can be inlined.

- Mat
Back to top
View user's profile
Display posts from previous:   
Post new topic   Reply to topic    PGI User Forum Forum Index -> Accelerator Programming All times are GMT - 7 Hours
Page 1 of 1

 
Jump to:  
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 © phpBB Group