Compile of Binary Radio Pulsar app (linux-cuda)

BackGroundMAN
BackGroundMAN
Joined: 25 Feb 05
Posts: 58
Credit: 246736656
RAC: 0
Topic 197172

Hello,

I download the latest release of the source code of the Binary Radio Pulsar app from this site and I am trying to compile the linux-cuda application.

I receive the following error:
g++: error: demod_binary_cuda.cu.cpp: No such file or directory
I search for this file in the src/cuda/app directory with no luck.

Is there a git repository for the sources of the cuda application I can clone to retrieve the specific file ?

Bikeman (Heinz-Bernd Eggenstein)
Bikeman (Heinz-...
Moderator
Joined: 28 Aug 06
Posts: 3522
Credit: 735683666
RAC: 1279269

Compile of Binary Radio Pulsar app (linux-cuda)

Quote:

Hello,

I download the latest release of the source code of the Binary Radio Pulsar app from this site and I am trying to compile the linux-cuda application.

I receive the following error:
g++: error: demod_binary_cuda.cu.cpp: No such file or directory
I search for this file in the src/cuda/app directory with no luck.

Is there a git repository for the sources of the cuda application I can clone to retrieve the specific file ?

This is not a source file but an intermediate file produced by the NVIDIA SDK toolchain. The reason why you get this error is probably because you are using a more recent version of the SDK than we do for the official apps (for compatibility with old drivers). In newer version of the SDK, those intermediate files are named *.cu.cpp.ii instead of *.cu.cpp . If you edit the Makefile for your target platform accordingly, this might work ("might" because newer SDKs may introduce other changes as well. Especially the cross-compilation for Windows under Linux will be affected by changes in the most recent SDK.)

Cheers
HBE

BackGroundMAN
BackGroundMAN
Joined: 25 Feb 05
Posts: 58
Credit: 246736656
RAC: 0

Thank you for your help. I

Thank you for your help.
I managed to build brp cuda app successfully after some changes in the linux-cuda makefile and C sources (compatibility issues).

I noticed that there are no test data for the cuda application in the zip file to run the profile target of the build.sh script. The profile target needs the files : "templates_400Hz_2_short.bank", "zaplist_232.txt" and "J1907+0740_dm_482.binary" to run.

I find these files from an old attempt to build EaH application (with eah_build.sh script) and when I am trying to run the profile target on the brp cuda app I get the following error (in the stderr.txt file):

[ERROR] No suitable CUDA device available!
[ERROR] Demodulation failed (error: 1001)!

I am running the cuda app in 2 PCs with Gentoo AMD64 (cuda sdk 5.0.35) in which the current brp cuda app is running without problems through the boinc platform.

Is there a compatibility issue with the cuda sdk 5.0 ?

BackGroundMAN
BackGroundMAN
Joined: 25 Feb 05
Posts: 58
Credit: 246736656
RAC: 0

Hi, I managed to run the

Hi,

I managed to run the brp cuda app by adding the missing -D flag (selection of the CUDA Device).

Now, when I am running with the test data I am getting an error from the creation of the FFT cuda plan (error code: 4). With the help of Nemiver I found that the problem is on line 837 of the demod_binary_cuda.cu file:

cufResult = cufftPlan1d(&cufPlan, nsamples, CUFFT_R2C, 1);

The above cuda function returns CUFFT_INVALID_VALUE when I use the cuda libraries (libcufft.so.3, libcudart.so.3) from the release zip file.
I run the application with the libraries from the CUDA-SDK 5.0.35 and the same function (cufftPlan1d) crashes with "abnormal program termination" (Application caught signal 6).

Is it possible these problems are related to the test data ?
Is there any other test data for the brp cuda app ?

Thanks,

Bikeman (Heinz-Bernd Eggenstein)
Bikeman (Heinz-...
Moderator
Joined: 28 Aug 06
Posts: 3522
Credit: 735683666
RAC: 1279269

Hi It's difficult to debug

Hi

It's difficult to debug this remotely without seeing the changes that were done to the build script, but if you want to use CUDA 5.0 , you need to make sure that both the header files that come with the SDK (e.g. for libcufft) and the binary library files (*.so*) are all from version 5.0. You cannot expect the program to run with 3.x libs when the source is compiled against 5.0 header files.

So yes, it should work with the CUDA 5.0 SDK supplied libraries for runtime and cuFFT, I'm at a loss why it doesn't do so. Make sure that you remove/change every reference to CUDA 3.2 from the Makefile (e.g. do not link against the libs in the source/cuda/redist/*/3.2/lib/ directory, and make sure headers are read from the SDK 5.0 header dirs.

Cheers
HBE

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.