FightMalaria@Home Optimized Application

Just as the title says!
User avatar
Janos (retired)
Still a Newbie
Posts: 1919
Joined: Thu Feb 23, 2012 8:58 am
Location: Aberdeenshire, Scotland

#1 FightMalaria@Home Optimized Application

Post by Janos (retired) »

The FightMalaria@Home (fmah) project uses Vina for ligand docking. The code used by the project puts a wrapper around Vina for BOINC to use.

Vina is an open source project found at http://vina.scripps.edu/. Newer versions of Vina are faster than the one used by the fmah project code.


This guide comes with no warranty, implied or otherwise. Use at your own risk.


1. Download and Install Vina

Download from: http://vina.scripps.edu/download.html
Install guide: http://vina.scripps.edu/manual.html#installation


2. Stop BOINC

Stop BOINC making sure to stop tasks. You might wish to run your fmah tasks to zero as any existing ones will be abandoned.


3. Copy Vina to BOINC

Copy vina.exe to your fmah project folder.


In Windows 7 64 bit this will be from here:

Code: Select all

C:\Program Files (x86)\The Scripps Research Institute\Vina\
to:
C:\ProgramData\BOINC\projects\boinc.ucd.ie_fmah\
Your install might be different but I am sure you can work it out. ;)


4. Rename Vina for BOINC

Rename vina.exe to Vina_TSBT.exe.

You need to rename it so existing code doesn't get confused. I thought I would tag it with our team name. 8)


5. Create an app_info file for the project


Code: Select all

<app_info>
<app>
    <name>vina</name>
</app>
<file_info>
    <name>Vina_TSBT.exe</name>
    <executable>
</file_info>
<app_version>
    <app_name>vina</app_name>
    <version_num>300</version_num>
    <platform>windows_intelx86</platform>
    <avg_ncpus>1</avg_ncpus>
    <max_ncpus>1</max_ncpus>
    <cmdline>--receptor receptor.pdb --ligand ligand.pdb --config conf --cpu 1 --out outfile</cmdline>
    <file_ref>
       <file_name>Vina_TSBT.exe</file_name>
	<copy_file>
       <main_program>
    </file_ref>
</app_version>
</app_info>

6. Restart BOINC

When you restart all existing fmah tasks will be abandoned and new tasks will be downloaded.


Easy :)


The application will now run as Local: vina 3.00 and will give you a very nice speed increase.


Thought I would add that the idea for this was not my own. See: http://boinc.ucd.ie/fmah/forum_thread.php?id=46. I made this guide to explain why it works and because I loathe having to install binary files from unknown / untrusted sources.
User avatar
Alez
[ TSBT's Pirate ]
[ TSBT's Pirate ]
Posts: 10363
Joined: Thu Oct 04, 2012 1:22 pm
Location: roaming the planet

#2

Post by Alez »

I tried the optimized app from the Polish source and ran a 100 units or so then stopped it to check they would validate. They did, but as per you I didn't reinstall as i didn't fully trust the source.
Will try this out and hopefully my windows boxs will keep up with my Linux box which runs Vina far faster despite being the same hardware.

A few points to note about using an optimized app if you've never run one before.
Once you start running this, if the project issues an updated app you will not download it automatically. Doubt this will be a problem here as the project probably only has a few months left to run.
If you do a project reset then the optimized app will be erased and the standard app will be downloaded. You would then have to re-install the optimized app.
User avatar
Janos (retired)
Still a Newbie
Posts: 1919
Joined: Thu Feb 23, 2012 8:58 am
Location: Aberdeenshire, Scotland

#3

Post by Janos (retired) »

The other point to note is Suspend / Resume is not fully functional when using this method. The Vina app will, often, continue even if BOINC is fully shut down. This was a bug discussed on the fmah forums some time ago. They released a new version of their wrapper to fix it.

This is not a problem for a 24/7 cruncher but it could be if you are expecting "normal" BOINC behaviour.
PinkPenguin

#4

Post by PinkPenguin »

alezevo1 wrote:Will try this out and hopefully my windows boxs will keep up with my Linux box which runs Vina far faster despite being the same hardware.
This is largely because the Polish version has been recompiled with Microsoft's Visual Studio C/C++ which makes a big difference over the GCC Linux compiler in terms of run time optimisation on Windows machines. On the whole I am getting a 20% improvement on a 32-bit Windows 7 install on an AMD box and, strangely enough, only a 4% improvement ona 64-bit Windows 7 Intel box.

I'm not sure if you get any improvements in Linux and on Mac OS X I can't get any significant improvements using Xcode.

Only way to get anything better is to use the Intel compiler which costs an arm and a leg among other things... :D

By the way, thanks Janos for the tip and the documentation.
User avatar
Janos (retired)
Still a Newbie
Posts: 1919
Joined: Thu Feb 23, 2012 8:58 am
Location: Aberdeenshire, Scotland

#5

Post by Janos (retired) »

A man of many talents Mr P. I didn't know you knew such things. :)
User avatar
Alez
[ TSBT's Pirate ]
[ TSBT's Pirate ]
Posts: 10363
Joined: Thu Oct 04, 2012 1:22 pm
Location: roaming the planet

#6

Post by Alez »

Can't get it to work with vina
had to change the app_info to below as I got syntax errors from boinc manager.

<app_info>
<app>
<name>vina</name>
</app>
<file_info>
<name>Vina_TSBT.exe</name>
<executable/>
</file_info>
<app_version>
<app_name>vina</app_name>
<version_num>300</version_num>
<platform>windows_intelx86</platform>
<avg_ncpus>1.000000</avg_ncpus>
<max_ncpus>1.000000</max_ncpus>
<cmdline>--receptor receptor.pdb --ligand ligand.pdb --config conf --cpu 1 --out outfile</cmdline>
<file_ref>
<file_name>Vina_TSBT.exe</file_name>
<copy_file/>
<main_program/>
</file_ref>
</app_version>
</app_info>


however it runs with no increase in the percentage and when it finishes it gives the error of finishing with no exit or something and restarts the unit again.

Renamed the polish opp app and that works with the above app_info file.
Any ideas what I'm doing wrong? and why I have to alter the app_info file from what you have ?
PinkPenguin

#7

Post by PinkPenguin »

... It would be truer to say that I used to know such things. I don't have much time to play any more and I've gotten fatter, older and lazier over the years! :D
User avatar
Janos (retired)
Still a Newbie
Posts: 1919
Joined: Thu Feb 23, 2012 8:58 am
Location: Aberdeenshire, Scotland

#8

Post by Janos (retired) »

alezevo1 wrote:Renamed the polish opp app and that works with the above app_info file. Any ideas what I'm doing wrong? and why I have to alter the app_info file from what you have ?
I don't know and I am afraid I don't have spare time at the moment to look into it. Work is being very annoying today.
User avatar
Janos (retired)
Still a Newbie
Posts: 1919
Joined: Thu Feb 23, 2012 8:58 am
Location: Aberdeenshire, Scotland

#9

Post by Janos (retired) »

PinkPenguin wrote:... It would be truer to say that I used to know such things. I don't have much time to play any more and I've gotten fatter, older and lazier over the years! :D
I am in a similar phase as yourself. My days of being a professional programmer are long gone.
PinkPenguin

#10

Post by PinkPenguin »

alezevo1 wrote:Any ideas what I'm doing wrong? and why I have to alter the app_info file from what you have ?
Try the following header at the beginning of the file (which is formally more correct as XML):

Code: Select all

<?xml version="1.0" encoding="windows-1250"?>
Also:

Code: Select all

<executable>...
<copy_file>...
<main_program>
should be written with the closing slashes (and not as in your example)

Code: Select all

<executable/>...
<copy_file/>...
<main_program/>
unless they have been removed by the Board... which doesn't like slashes unless you switch HTML off for the post... ;)
User avatar
Alez
[ TSBT's Pirate ]
[ TSBT's Pirate ]
Posts: 10363
Joined: Thu Oct 04, 2012 1:22 pm
Location: roaming the planet

#11

Post by Alez »

I've got the closing slashes in my code, it's a board thingy. The problem is that the vina app runs fine but always exits with no output file and then restarts the fmah app again.
PinkPenguin

#12

Post by PinkPenguin »

I tried the Mac OS X download from Scripps but it takes several times as long as the standard app.

From what I can make out the Scripps Code is certainly different from the UCD version (the Scripps Code compiles to something almost twice the size of the UCD executable on OS X even using the latest version of the Boost libraries). I think I will stick to Sesef's binaries on windows and the standard versions on OS X. I don't really have the time to think it through properly. :?
User avatar
Alez
[ TSBT's Pirate ]
[ TSBT's Pirate ]
Posts: 10363
Joined: Thu Oct 04, 2012 1:22 pm
Location: roaming the planet

#13

Post by Alez »

Agreed, i've got the sesef version working perfectly, but can't get the scripps downloaded vina to work with boinc. It runs but doesn't exit with finished result and so boinc runs it again. Endless loop. I simply renamed the sesef version although you could just download the package and run as is from his site. With the sesef version windows is as fast as the standard fmah on linux. Good enough for now.
User avatar
Janos (retired)
Still a Newbie
Posts: 1919
Joined: Thu Feb 23, 2012 8:58 am
Location: Aberdeenshire, Scotland

#14

Post by Janos (retired) »

I had thought that this was a fairly simple optimization and it certainly seems to work for me.

Wish I had some time to do some proper tinkering. I am heading to the office all day today and ma boat is sailing again tomorrow.

Boinc, will rightly, loose out to some family time tonight.
Post Reply Previous topicNext topic

Return to “Help”