Please help with compiling Linux MB Cuda app

Message boards : Number crunching : Please help with compiling Linux MB Cuda app
Message board moderation

To post messages, you must log in.

AuthorMessage
Kamu

Send message
Joined: 19 Jan 02
Posts: 56
Credit: 11,009,499
RAC: 0
Finland
Message 1459560 - Posted: 1 Jan 2014, 12:58:54 UTC

Hi and Happy New Year 2014!

Ok, at first things that works:
-I have compiled own Boinc client and using it at the moment, screenshot
-I can compile sample cuda apps from cuda toolkit and run them, screenshot
-I can compile and run cudaminer, screenshot

So, I suppose something is correct and setup properly.

This box is Ubuntu 12.04.3 LTS 64bit, Cuda Toolkit 5.5 and 331.20 Nvidia drivers. Intel i7 2600K and GTX 780.

I tried to compile cuda mb app from Xbranch directory (config line is modified from Ivan's post):
- ./_autosetup
- ./configure BOINCDIR=/home/kiles/Src/boinc_repo --enable-sse3 CFLAGS='-O3 -march=nocona -mtune=nocona -mpreferred-stack-boundary=8 -fexceptions -fno-rounding-math -fno-signaling-nans -fcx-limited-range -fno-math-errno -ffinite-math-only -fno-trapping-math --param inline-unit-growth=3000 -DNDEBUG -DHAVE_STRCASECMP -fpeel-loops -funroll-loops -fgcse-sm -fgcse-las -fweb -I/usr/local/cuda-5.5/include'
- make

And it stopped to following error, screenshot

I'm not complete noob with linux but no idea how to fix this so

Please heeelp : )
ID: 1459560 · Report as offensive
Profile jason_gee
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 24 Nov 06
Posts: 7489
Credit: 91,093,184
RAC: 0
Australia
Message 1459579 - Posted: 1 Jan 2014, 14:08:07 UTC - in response to Message 1459560.  
Last modified: 1 Jan 2014, 14:20:31 UTC

Hi Kamu,
First I'd check whether you're using my last commit that has some tweaks to get the unreleased Cuda6 to work, and may want to go back to the previous revision as described in the commit notes. second I'd try with Cuda5.0 toolkit as well, simply because whatever nv might say, 5.5 (and 6) appear to be works in progress, while 5.0 is fairly polished (IMO).

For config, Ivan *may* have also brewed up those lines before I added some updates/changes into the autotools build environment, so most of the custom options shouldn't be needed (anymore) and might be confusing any underlying issues or conflicting outright. [Edit:] for example are the CFLAGS overriding the USE_CUDA definitions perhaps, I don't see -DUSE_CUDA in the command line, so suspect some of the auto generation is getting clobbered...[Edit2:] ... That could be me needing to update the autotools for Cuda 5.5 as well, so some command line elements missing.

I'm unclear there, but can probably verify on my own Ubuntu setup in the next week.

Cheers,
Jason
"Living by the wisdom of computer science doesn't sound so bad after all. And unlike most advice, it's backed up by proofs." -- Algorithms to live by: The computer science of human decisions.
ID: 1459579 · Report as offensive
Kamu

Send message
Joined: 19 Jan 02
Posts: 56
Credit: 11,009,499
RAC: 0
Finland
Message 1459593 - Posted: 1 Jan 2014, 14:42:44 UTC

Hi and Thanks!!

Yes, I had version from yesterday 30.12.2013 and now did svn checkout -r1921 etc

Here is result:

kiles@ruoska:~/Src/Xbranch$ ls -l setiathome_x41zc_x86_64-pc-linux-gnu_cuda55 
-rwxrwxr-x 1 kiles kiles 5593248 Jan  1 16:34 setiathome_x41zc_x86_64-pc-linux-gnu_cuda55
kiles@ruoska:~/Src/Xbranch$ file setiathome_x41zc_x86_64-pc-linux-gnu_cuda55 
setiathome_x41zc_x86_64-pc-linux-gnu_cuda55: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0xebba9908ebe7295439e00bc1f1ba6728782952bd, stripped


I add that -DUSE_CUDA to config line:
./configure BOINCDIR=/home/kiles/Src/boinc_repo --enable-sse3 CFLAGS='-O3 -march=nocona -mtune=nocona -mpreferred-stack-boundary=8 -fexceptions -fno-rounding-math -fno-signaling-nans -fcx-limited-range -fno-math-errno -ffinite-math-only -fno-trapping-math --param inline-unit-growth=3000 -DNDEBUG -DHAVE_STRCASECMP -DUSE_CUDA -fpeel-loops -funroll-loops -fgcse-sm -fgcse-las -fweb -I/usr/local/cuda-5.5/include'


The most confusing thing is those configure options. : )


I'll try to run some validations today before put that binary to real crunching work.
ID: 1459593 · Report as offensive
Profile jason_gee
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 24 Nov 06
Posts: 7489
Credit: 91,093,184
RAC: 0
Australia
Message 1459599 - Posted: 1 Jan 2014, 14:50:25 UTC - in response to Message 1459593.  

Excellent! glad it seems to have worked out so far.

Yeah I am pretty foreign to the evolved gnu autotools system, so maintaining that has been a real challenge. Most likely in rationalising the cross platform situation as much as possible, which is a bit scattered at the moment, I may have to go to something like Cmake to simplify things while keeping the flexibiliy & reduce the workload with changes. Probably with Android Cuda likely to come online there'll be a greater incentive to streamline the build processes all around.
"Living by the wisdom of computer science doesn't sound so bad after all. And unlike most advice, it's backed up by proofs." -- Algorithms to live by: The computer science of human decisions.
ID: 1459599 · Report as offensive
Kamu

Send message
Joined: 19 Jan 02
Posts: 56
Credit: 11,009,499
RAC: 0
Finland
Message 1459623 - Posted: 1 Jan 2014, 15:37:56 UTC

It compiled with this easy configure line (as you wrote on another thread):

./configure BOINCDIR=/home/kiles/Src/boinc_repo --enable-sse2 --enable-fast-math

I might try to downgrade to Cuda 5.0, at least if this produce errors.

This one shoud be ok to app_info.xml?

	<app>
		<name>setiathome_v7</name>
	</app>
	<file_info>
		<name>setiathome_x41zc_x86_64-pc-linux-gnu_cuda55</name>
		<executable/>
	</file_info>
	<app_version>
		<app_name>setiathome_v7</app_name>
		<version_num>705</version_num>
		<avg_ncpus>0.1</avg_ncpus>
		<max_ncpus>0.1</max_ncpus>
		<platform>x86_64-pc-linux-gnu</platform>
		<plan_class>cuda50</plan_class>
		<cmdline></cmdline>
		<coproc>
		<type>CUDA</type>
		<count>1</count>
		</coproc>
		<file_ref>
		<file_name>setiathome_x41zc_x86_64-pc-linux-gnu_cuda55</file_name>
		<main_program/>
		</file_ref>
	</app_version>


I'll increase count and add mbcuda.cfg later if everything else goes well.
ID: 1459623 · Report as offensive
Profile jason_gee
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 24 Nov 06
Posts: 7489
Credit: 91,093,184
RAC: 0
Australia
Message 1459710 - Posted: 1 Jan 2014, 19:25:07 UTC - in response to Message 1459623.  
Last modified: 1 Jan 2014, 19:31:22 UTC

app_info should provisionally work, depending on how your LD library paths are setup on the system, and how it can find the right shared libraries for the Cuda runtime and cufft ... (Hopefully the toolkit put them in a sensible place etc)

If it can't find them, I did add the executable origin to the LD search paths embedded in the build (If that isn't changed), meaning you would then just add the two required so's into the project folder, and appropriate references in the app_info.xml

[Edit:] note that it will need <app_info> </app_info> tags surrounding what you have there though.
"Living by the wisdom of computer science doesn't sound so bad after all. And unlike most advice, it's backed up by proofs." -- Algorithms to live by: The computer science of human decisions.
ID: 1459710 · Report as offensive
Kamu

Send message
Joined: 19 Jan 02
Posts: 56
Credit: 11,009,499
RAC: 0
Finland
Message 1459721 - Posted: 1 Jan 2014, 20:14:42 UTC

ID: 1459721 · Report as offensive

Message boards : Number crunching : Please help with compiling Linux MB Cuda app


 
©2024 University of California
 
SETI@home and Astropulse are funded by grants from the National Science Foundation, NASA, and donations from SETI@home volunteers. AstroPulse is funded in part by the NSF through grant AST-0307956.