CUDA Fortran can not run

Hello, Mat!

I use PVF 13.9 and Windows 7 64-bit OS to compile a program. The kernel of the program uses shared memory. It can compile. However, when pass the shared memory to the device functions, it fails to run.

I have send the source code to trs@pgroup.com.

The problem happens at file CudaKernel.cuf line 129. When set shared memory param_s(1)=x_d(iRow,1). The error message is

0: ALLOCATE: 60 bytes requested: status = 30(unknown error)

I have follow all your instructions. However, the same error when run the exe.

What can I do further?

Additionally, I wrote a simple example which pass shared array from global kernel to the device code. I compile it with the rdc set to default. This example can compile and run successfully. Therefore I think this error is not related to the rdc setting. There may be some other bugs in my program. I have send all the source code to the servcie E-Mail.

Please help me to solve this. Thanks in advance!

Nightwish

Hi Nightwish,

I talks with Dave, but he hasn’t seen your code come through to trs@pgroup.com. Mind sending it again?

Note that passing shared data to device attributed routines when RDC is used, is not supported or expected to work. It will only work if the device routine is inlined and not actually called. This might be why it worked in your simple case but fails in the large application.

  • Mat

Hi Mat

I have send the source code to the E-mail again.

I have used the no rdc flag. However, it still failed to run.

Please help me!

Thanks in advance.

Nightwish