Message boards :
Number crunching :
Optimized CPU apps with regular GPU apps - Linux
Message board moderation
Author | Message |
---|---|
Loren Datlof Send message Joined: 24 Jan 14 Posts: 73 Credit: 19,652,385 RAC: 0 ![]() |
I tried to setup the optimized CPU apps on a PC with an Intel Core i5-2500 CPU @ 3.30GHz CPU. (OS is Ubuntu 18.04) The CPU is capable of running sse2, avx & sse4_2 apps. I setup the app_info.xml and got no errors the first time but I noticed that the setiathome_ a 8.01_x86_64-pc-linux-gnu__cuda60 app file disappeared (probably along with others) from the project folder and the GPU doesn't run any WUs even though they are recognized in the event log. I also noticed that if restarted boinc that the MBv8 sse4_2 (not its real name) app file would disappear too. So my questions are: 1. Can I run both the Optimized CPU apps and the regular GPU apps at the same time? 2. Is it just a matter of adding the GPU apps to the app_info.xml file?
<app_info> <app> <name>setiathome_v8</name> </app> <file_info> <name>MBv8_8.04r3306_sse42_linux64</name> <executable/> </file_info> <app_version> <app_name>setiathome_v8</app_name> <version_num>804</version_num> <platform>x86_64-pc-linux-gnu</platform> <cmdline></cmdline> <file_ref> <file_name>MBv8_8.04r3306_sse42_linux64</file_name> <main_program/> </file_ref> </app_version> <file_info> <name>MBv8_8.05r3345_avx_linux64</name> <executable/> </file_info> <app_version> <app_name>setiathome_v8</app_name> <version_num>804</version_num> <platform>x86_64-pc-linux-gnu</platform> <cmdline></cmdline> <file_ref> <file_name>MBv8_8.05r3345_avx_linux64</file_name> <main_program/> </file_ref> </app_version> <app_version> <app_name>setiathome_v8</app_name> <version_num>805</version_num> <platform>x86_64-pc-linux-gnu</platform> <cmdline></cmdline> <file_ref> <file_name>MBv8_8.05r3345_avx_linux64</file_name> <main_program/> </file_ref> </app_version> <app> <name>astropulse_v7</name> </app> <file_info> <name>ap_7.05r2728_avx_linux64</name> <executable/> </file_info> <app_version> <app_name>astropulse_v7</app_name> <version_num>705</version_num> <platform>x86_64-pc-linux-gnu</platform> <plan_class></plan_class> <cmdline></cmdline> <file_ref> <file_name>ap_7.05r2728_avx_linux64</file_name> <main_program/> </file_ref> </app_version> <app> <name>astropulse_v7</name> </app> <file_info> <name>ap_7.04r2696_sse2_linux64</name> <executable/> </file_info> <app_version> <app_name>astropulse_v7</app_name> <version_num>704</version_num> <platform>x86_64-pc-linux-gnu</platform> <plan_class>sse2</plan_class> <file_ref> <file_name>ap_7.04r2696_sse2_linux64</file_name> <main_program/> </file_ref> </app_version> </app_info> Thanks. |
Richard Haselgrove ![]() Send message Joined: 4 Jul 99 Posts: 14690 Credit: 200,643,578 RAC: 874 ![]() ![]() |
You can only run WITH app_info.xml or WITHOUT app_info.xml - you can't have some apps with and some apps without. So your solution (2) is the way to go: add the Linux GPU apps to your app_info. The easiest way to do this is to park your CPU app_info somewhere out of the way, and revert to regular (we call them 'stock') GPU apps - but with a minimal cache setting, you only need one or two. Once the server has allocated you a GPU app, you will download all the files you need. You will also find file definitions and an <app_version> section have been added to your client_state.xml file. They will be very close to the format you need to add to the CPU app_info you've already got: that's the quickest way to get the structure right. Remember that you need to supply a copy of every file referenced for every type of app you want to run. The easiest way is to keep an offline reference folder where you write app_info.xml, and keep a reference copy of every file you need. Then, copy the whole shebang into the project folder when you're ready to test. If it goes wrong, you'll still have the offline copy to proofread and bugfix. |
![]() ![]() Send message Joined: 24 Jan 00 Posts: 37564 Credit: 261,360,520 RAC: 489 ![]() ![]() |
If this is the rig with the dual Quadro 410's then forget it. Not to mention not having enough VRAM they're also Kepler based and you need at least a Maxwell based part. ;-) Cheers. |
Loren Datlof Send message Joined: 24 Jan 14 Posts: 73 Credit: 19,652,385 RAC: 0 ![]() |
Yes this the PC with dual quadro 410s. The GPUs are running right now and crunching WUs but not with any special sauce just the stock GPU apps. I want use the optimized CPU apps with the stock GPU apps. According to Richard Haselgrove it is possible by adding the stock GPU apps to the app_info.xml file. I am just having a little trouble finding the right format to accomplish this. I have been able to run the optimized CPU apps on PCs without any usable GPUs. I am just wondering if it possible to run the optimized CPU apps on PCs with GPUs that can't run the special sauce. |
TBar Send message Joined: 22 May 99 Posts: 5204 Credit: 840,779,836 RAC: 2,768 ![]() ![]() |
Why don't you try the NV App at Lunatics instead of the Stock GPU App? It already has a sample of the GPU part of the app_info included, you just have to piece it together with the CPU & AP Apps. BTW, your app_info has TWO different CPU App sections and doesn't even have a GPU App section, you should only have ONE CPU section, the 3345 one. When I tested the NV GPU OpenCL Multibeam v8 SoG (r3602) App it seemed to work fine and was faster than the stock App. http://lunatics.kwsn.info/index.php?action=downloads;cat=48 NV GPU OpenCL Multibeam v8 SoG (r3602) |
Richard Haselgrove ![]() Send message Joined: 4 Jul 99 Posts: 14690 Credit: 200,643,578 RAC: 874 ![]() ![]() |
It can certainly be done, and it's easier if you can crib from the stock <app_version> block. Make sure you have the manual for Anonymous platform beside you as you work. |
![]() ![]() ![]() Send message Joined: 29 Apr 01 Posts: 13164 Credit: 1,160,866,277 RAC: 1,873 ![]() ![]() |
You need to look in your client_state.xml for the CUDA60 gpu app. It is is going to be declared in an app_version section that looks like this only with the plan_class being defined as CUDA60 and of course the app_name is going to be x41zi something or other. I would use the Find function in Text Editor to locate the CUDA60 instances in the app_version sections. With the correct name and the change in plan_class you should be able to craft a app_info with both the optimized cpu app and the stock gpu app once you save it out of the BOINC Seti projects folder and then put it back in after you have crafted a successful app_info. From client_state.xml <app_version> <app_name>setiathome_v8</app_name> <version_num>801</version_num> <platform>x86_64-pc-linux-gnu</platform> <avg_ncpus>1.000000</avg_ncpus> <flops>59025822854.365631</flops> <plan_class>cuda90</plan_class> <cmdline>-nobs</cmdline> <file_ref> <file_name>setiathome_x41p_V0.98b1_x86_64-pc-linux-gnu_cuda101</file_name> <main_program/> </file_ref> <coproc> <type>NVIDIA</type> <count>1.000000</count> </coproc> <dont_throttle/> </app_version> The app_info is going to have almost the same exact information that is in client_state with the section for the cpu app in there along with the sections for the AP apps too. This is an example from my app_info with my special sauce app. <app> <name>setiathome_v8</name> </app> <file_info> <name>setiathome_x41p_V0.98b1_x86_64-pc-linux-gnu_cuda101</name> <executable/> </file_info> <app_version> <app_name>setiathome_v8</app_name> <platform>x86_64-pc-linux-gnu</platform> <version_num>801</version_num> <plan_class>cuda90</plan_class> <cmdline></cmdline> <coproc> <type>NVIDIA</type> <count>1</count> </coproc> <avg_ncpus>0.1</avg_ncpus> <max_ncpus>0.1</max_ncpus> <file_ref> <file_name>setiathome_x41p_V0.98b1_x86_64-pc-linux-gnu_cuda101</file_name> <main_program/> </file_ref> </app_version> [Edit] I would go with TBar's suggestion as easiest. Seti@Home classic workunits:20,676 CPU time:74,226 hours ![]() ![]() A proud member of the OFA (Old Farts Association) |
Loren Datlof Send message Joined: 24 Jan 14 Posts: 73 Credit: 19,652,385 RAC: 0 ![]() |
Success!! I went with TBar's suggestion and Keith Myers' advice and I am up and running the NV App at Lunatics and the Optimized CPU apps. To answer TBar's question as to why I didn't try the NV app was because I was confused between CUDA and OpenCL. The CUDA apps only work with a GPU with a CC of 3.2 (CUDA60) The Quadro 410 has a CC of 3.0. I didn't realize that OpenCL has its own standards and only requires GPUs with a CC of 2.0. All is good now. Thanks everyone who participated in this thread. |
©2025 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.