Forum > Discussion Forum
Plan Class in app_info
Richard Haselgrove:
I suggest you do your experimenting with a copy of the Anonymous Platform documentation at hand, and be prepared to contradict it - I have a Wiki editing account if needed.
It looks as if pretty much everything is optional, but the dependencies are unclear. I think if you have a <coproc>, you pretty much have to have a <plan_class> as well, but the reverse isn't true - you can have a <plan_class> without a <coproc> for CPU apps.
Ghost0210:
Thanks for the link, was looking for that page this morning.
Once I've cleared my cache down on my main machine I'll start having a play and see if I can figure out the dependancies and whats optional and whats not
Ghost0210:
So, found the major drawback in removing most of the tags that don't relate to files (version_num, plan_class, count, max/avg_ncpus)
Boinc appears to triy to run GPU tasks on both the CPU and GPU at the same time
Downloaded 6 ATI tasks (only requested ATI app_info had no other entry) with just the type tag set to ATI.
Straight away 3 * CPU tasks stopped running and 3 ATI tasks started running, using both a GPU slot and a CPU slot
Added in the count tag and 5 * CPU taks started runnng and 1 * ATI task
In my tasks page @ Seti it also shows that I downloaded 6 * CPU tasks (although GPU-Z was showing activity on the ATI card and Task Manager was showing reduced activity on the CPU)
So although it would seem that the plan_class and version_num tag are there just for display purposes in Boincmgr, it would seem that they also have a hand in deciding which device to use somehow.
Richard Haselgrove:
Doesn't that documentation I referred you to suggest that the <coproc> block has to be unitary:
--- Code: --- [
<coproc>
<type>CUDA</type>
<count>1</count>
</coproc>
]
--- End code ---
- in other words, if a <coproc> is present, it has to include both a <type> tag and a <count> tag? On the other hand, a <type> tag outside a <coproc> block would be meaningless and (probably) ignored? What does your startup message log say, with or without an <unparsed_xml> debug log flag?
Ghost0210:
--- Quote from: Richard Haselgrove on 23 Mar 2011, 06:02:25 pm ---Doesn't that documentation I referred you to suggest that the <coproc> block has to be unitary:
--- Code: --- [
<coproc>
<type>CUDA</type>
<count>1</count>
</coproc>
]
--- End code ---
- in other words, if a <coproc> is present, it has to include both a <type> tag and a <count> tag? On the other hand, a <type> tag outside a <coproc> block would be meaningless and (probably) ignored? What does your startup message log say, with or without an <unparsed_xml> debug log flag?
--- End quote ---
Absolutely, the FAQ does indicate that if the <coproc> tag is present then it must have both the <type> and the <count> child tags present as well.
The reason for me removing this tag was purely to see how Boinc would behave if it wasn't explicitly told how to behave in this scenario. i.e. would it default to running multiple tasks (as cpu tasks would) or would it run 1 task (only 1 compute device present for the ATI card)
There were no error messages in the startup log to indicate that there was a problem with either the app_info or the client_state (once it had read the app_info) - Here's an extract of the client_state app_version segment:
--- Code: ---<app_version>
<app_name>setiathome_enhanced</app_name>
<version_num>0</version_num>
<platform>windows_intelx86</platform>
<avg_ncpus>1.000000</avg_ncpus>
<max_ncpus>1.000000</max_ncpus>
<flops>2611391213.695610</flops>
<cmdline>-period_iterations_num 2 -instances_per_device 1 -hp</cmdline>
<file_ref>
<file_name>MB_6.10_win_SSE3_ATI_HD5_r177.exe</file_name>
<main_program/>
</file_ref>
<file_ref>
<file_name>MultiBeam_Kernels.cl</file_name>
<copy_file/>
</file_ref>
</app_version>
--- End code ---
This segment explains why Boinc tried to run the task on the CPU and why the task page @ Seti shows CPU tasks as being downloaded - there's no <coproc> segement being written to the client_state although the coproc and type tags are in the app_info:
--- Code: ---<app>
<name>setiathome_enhanced</name>
</app>
<file_info>
<name>MB_6.10_win_SSE3_ATI_HD5_r177.exe</name>
<executable/>
</file_info>
<file_info>
<name>MultiBeam_Kernels.cl</name>
<executable/>
</file_info>
<app_version>
<app_name>setiathome_enhanced</app_name>
<platform>windows_intelx86</platform>
<cmdline>-period_iterations_num 2 -instances_per_device 1 -hp</cmdline>
<file_ref>
<file_name>MB_6.10_win_SSE3_ATI_HD5_r177.exe</file_name>
<main_program/>
</file_ref>
<file_ref>
<file_name>MultiBeam_Kernels.cl</file_name>
<copy_file/>
</file_ref>
<coproc>
<type>ATI</type>
</coproc>
</app_version>
--- End code ---
Although as the app is designed to run on a ATI card then this explains why it was taking both a CPU and GPU slot.
I would have expected that once Boinc parsed the app_info that an error message would have been displayed in Boincmgr's event viewer saying something similar to "You've sepcified a GPU app but have not specified a count value"?
Although to be fair I didn't have the unparsed_xml flag set in the cc_config.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version