cusparse library error

Hi.

I have been using PGI CUDA Fortran of 14.1 for GPU calculation with CUDA 7.5 driver.

Recently, I tried to solve a matrix inverse problem using cusparse library.

However, “use cusparse” directive was not work, giving a compile error.

By the way, cublas did work.

Can i use cusparse.mod, which is given in the include of PGI CUDA as of 15.1, to use for PGI 14.1?

Or i need to code a separate cusparse module for the main program?

If you know how, please reply me.

Thanks in advance.

Hi SeyunKim87032,

What’s the error you’re seeing?

My best guess is that you have a mismatch in your CUDA version. PGI 14.1 is configured to use CUDA 5.0.

Can i use cusparse.mod, which is given in the include of PGI CUDA as of 15.1, to use for PGI 14.1?

Possible provided you copy the correct module file for the CUDA version. Though not knowing the error, I don’t know if this will solve the problem.

How do you interface to cuSparse with 14.1? Did you write your own cusparse interface module?
Is there a reason why you can’t move to a later PGI version?

  • Mat

Hi mkcolg,

What’s the error you’re seeing?

It said the the compiler can’t open ‘cusparse.mod’.

“PGF90-F004-Unable to open MODULE file cusparse.mod”

PGI 14.1 is configured to use CUDA 5.0.

Is it right? I thought PGI 14.1 was configured for CUDA 6.0 or 6.5 because CUDA 6.0 or 6.5 was included while installing PGI 14.1.

Is there a reason why you can’t move to a later PGI version?

Because i can’t buy latest PGI version right now.

So i wrote my own module on a basis of PGI 14.1 for cusparse with fortran-c-bindings feature, however it doesn’t work though.[/quote]

Hi SeyunKim87032,

Is it right? I thought PGI 14.1 was configured for CUDA 6.0 or 6.5 because CUDA 6.0 or 6.5 was included while installing PGI 14.1.

Yes, it is correct. 14.1 shipped Cuda 5.0 and 5.5 with 5.0 being the default. 14.7 was the first to ship Cuda 6.0 and 14.9 was the first to ship Cuda 6.5.

Perhaps you’re using 14.10 not 14.1?

Because i can’t buy latest PGI version right now.

So i wrote my own module on a basis of PGI 14.1 for cusparse with fortran-c-bindings feature, however it doesn’t work though

Yes, writing a cuSparse module can be tricky.

I’ll have a better solution for you mid-next week once the Supercomputing 16 conference is on it’s way and our product news has been announced, but in the meantime, you should be able copy the 15.1 cuSparse module to the Cuda include directory. Just make sure the correct version is used.

  • Mat

Dear mkcolg,

Thank you for the comment.

Perhaps you’re using 14.10 not 14.1?

Yes, you are right. I’ve been using 14.10 not 14.1. I was wrong for that.

'll have a better solution for you mid-next week once the Supercomputing 16 conference is on it’s way and our product news has been announced

I am very curious. Can you tell me more? Do you have any functions to use cusparse library without writing a module?

Plus i got one more question.

14.1 shipped Cuda 5.0 and 5.5 with 5.0 being the default. 14.7 was the first to ship Cuda 6.0 and 14.9 was the first to ship Cuda 6.5.

Based on your comment, 14.10 with CUDA 7.5 seems to be wrong combination.

Is the version of 14.10 configured only with CUDA 6.5 or 6.0?

-kevin-
[/quote]

Correct, 14.10 is only supports Cuda 6.0 or 6.5. Though PGI 2015 includes the cuSparse modules for these versions. For example: “$PGI/linux86-64/2015/cuda/6.5/include/cusparse.mod”

  • Mat

Hi Kevin,

To follow-up. We just released a PGI Community Edition which is no-cost so you may consider upgrading to 16.10 using this version. 16.10 includes cusparse modules.

\

  • Mat

Hi Mat,

It is great to hear the announcement for the community edition.

BTY, Windows version is not released yet, is it?

Is it supposed to release for Windows?

-Kevin-

Hello,

Currently Windows community edition is not available.
We are working on some issues, and hope it will be available soon.

dave