Are There Any Optimized Apps For Docking@Home


Advanced search

Message boards : Number crunching : Are There Any Optimized Apps For Docking@Home

Sort
Author Message
Profile King Leo

Joined: Jun 16 09
Posts: 10
ID: 13433
Credit: 4,464,450
RAC: 0
Message 5267 - Posted 2 Aug 2009 19:04:16 UTC

I have used the optimized apps for seti@home, my question is has anyone written any optimized apps for docking@home? If so I would be very interested in where/how to download and install.

Cluster Physik

Joined: Jul 2 09
Posts: 35
ID: 14795
Credit: 16,067,012
RAC: 0
Message 5269 - Posted 2 Aug 2009 20:12:50 UTC - in response to Message ID 5267 .
Last modified: 2 Aug 2009 20:14:53 UTC

I have used the optimized apps for seti@home, my question is has anyone written any optimized apps for docking@home? If so I would be very interested in where/how to download and install.

I don't think so as the project uses the CHARMM program package. I doubt they are allowed to provide the source code to someone outside. And I'm not sure they would be willing to allow someone else meddling with that source (or if that is even allowed by the license). But maybe the project itself could compile some versions using the advanced features of newer CPUs?

Another point is that these packages are usually huge, often written in Fortran (at least CHARMM is) and it is sometimes quite hard to find the bottlenecks for a given application. Most of the time one simply hopes it was written well and was somehow optimized over the years by its creators. Most people restrict themselves to play around with some compiler switches and that's it (*).

These packages often try to be some kind of all-in-one device suitable for every purpose in its field. It's not like a streamlined application that was put together for a very specific purpose. But it does not mean that it can't be fast at what it's doing, it's only hard to change something about it ;)

(*)
Btw., the current combination of compiler and used switches appear to strongly favour intel CPUs. With the fixed credits now underway, that will get more apparent. Maybe the project should look into that too ;)
Profile Trilce Estrada
Forum moderator
Project administrator
Project developer
Project tester

Joined: Sep 19 06
Posts: 189
ID: 119
Credit: 1,217,236
RAC: 0
Message 5271 - Posted 3 Aug 2009 20:35:13 UTC

Yes indeed, the answer of Cluster Physik is accurate.

We will also update the D@H executable within the next week. That compilation seems more fair with different processors

Thanks

Profile adrianxw
Volunteer tester
Avatar

Joined: Dec 30 06
Posts: 164
ID: 343
Credit: 1,669,741
RAC: 0
Message 5281 - Posted 5 Aug 2009 6:17:15 UTC
Last modified: 5 Aug 2009 6:19:03 UTC

Nothing "wrong" with Fortran. Most "old" Fortran programs are highly optimised, but not necessarily in the way that "optimisation" is used today. Memory was expensive - the 1 megabyte of memory we had in our SEL systems comprised 4 PCB's, 19" rack mount PCB's I might add. You had to optimise programs to share that memory between the 20-30 programs that were running on the system.

If you only needed 4 bits to store a variable, that was what you used!
____________
Wave upon wave of demented avengers march cheerfully out of obscurity into the dream.

Cluster Physik

Joined: Jul 2 09
Posts: 35
ID: 14795
Credit: 16,067,012
RAC: 0
Message 5284 - Posted 5 Aug 2009 16:34:35 UTC - in response to Message ID 5281 .

Nothing "wrong" with Fortran. Most "old" Fortran programs are highly optimised, but not necessarily in the way that "optimisation" is used today. Memory was expensive - the 1 megabyte of memory we had in our SEL systems comprised 4 PCB's, 19" rack mount PCB's I might add. You had to optimise programs to share that memory between the 20-30 programs that were running on the system.

If you only needed 4 bits to store a variable, that was what you used!

I didn't want to say that there is anything wrong with Fortran. But the code of packages grown over some decades are most of the time hard to understand, it would be the same with C, too.

And you are completely right, 20 years ago you were forced to write good code to get something done in reasonable time on the available machines. More often than not some really bright poeple put very efficient algorithms in. But on the other side maintenance may be a problem. Changing some core components and taking out those "4 bit per value optimizations" (as they are hurting modern CPUs) can be a challenging task. And that is nothing a user of the package (as the Docking project) is doing, that have to be done by the group licensing the package.

Or to repeat myself, it does not mean that it can't be fast at what it's doing, it's only hard to change something about it ;)
Fred Verster
Avatar

Joined: May 8 09
Posts: 26
ID: 11034
Credit: 2,647,353
RAC: 0
Message 5408 - Posted 22 Sep 2009 19:59:00 UTC

Hi, but you will need the source code , if you want to 'optimize'
the science app.
Then you can decide which platform (O.S.) you will optimize it for.
The same applies to 'port it to CUDA' if possible at all.

Fred Verster
Avatar

Joined: May 8 09
Posts: 26
ID: 11034
Credit: 2,647,353
RAC: 0
Message 5458 - Posted 18 Oct 2009 13:12:08 UTC - in response to Message ID 5408 .

Hi, but you will need the source code , if you want to 'optimize'
the science app.
Then you can decide which platform (O.S.) you will optimize it for.
The same applies to 'port it to CUDA' if possible at all.


Hi, maybe it could be optimized for SSE3 or SSSE3x or SSE4.1, all 'newer' CPU's, like C2D; C2Q(E), NOT Core Duo, have that capability .

Probably, it is already using SSE(3) or higher?!

____________

Knight who says N! Ni Ni

Message boards : Number crunching : Are There Any Optimized Apps For Docking@Home

Database Error
: The MySQL server is running with the --read-only option so it cannot execute this statement
array(3) {
  [0]=>
  array(7) {
    ["file"]=>
    string(47) "/boinc/projects/docking/html_v2/inc/db_conn.inc"
    ["line"]=>
    int(97)
    ["function"]=>
    string(8) "do_query"
    ["class"]=>
    string(6) "DbConn"
    ["object"]=>
    object(DbConn)#12 (2) {
      ["db_conn"]=>
      resource(78) of type (mysql link persistent)
      ["db_name"]=>
      string(7) "docking"
    }
    ["type"]=>
    string(2) "->"
    ["args"]=>
    array(1) {
      [0]=>
      &string(51) "update DBNAME.thread set views=views+1 where id=454"
    }
  }
  [1]=>
  array(7) {
    ["file"]=>
    string(48) "/boinc/projects/docking/html_v2/inc/forum_db.inc"
    ["line"]=>
    int(60)
    ["function"]=>
    string(6) "update"
    ["class"]=>
    string(6) "DbConn"
    ["object"]=>
    object(DbConn)#12 (2) {
      ["db_conn"]=>
      resource(78) of type (mysql link persistent)
      ["db_name"]=>
      string(7) "docking"
    }
    ["type"]=>
    string(2) "->"
    ["args"]=>
    array(3) {
      [0]=>
      object(BoincThread)#3 (16) {
        ["id"]=>
        string(3) "454"
        ["forum"]=>
        string(1) "2"
        ["owner"]=>
        string(5) "13433"
        ["status"]=>
        string(1) "0"
        ["title"]=>
        string(45) "Are There Any Optimized Apps For Docking@Home"
        ["timestamp"]=>
        string(10) "1255871528"
        ["views"]=>
        string(3) "350"
        ["replies"]=>
        string(1) "6"
        ["activity"]=>
        string(22) "5.7235944364769004e-83"
        ["sufferers"]=>
        string(1) "0"
        ["score"]=>
        string(1) "0"
        ["votes"]=>
        string(1) "0"
        ["create_time"]=>
        string(10) "1249239856"
        ["hidden"]=>
        string(1) "0"
        ["sticky"]=>
        string(1) "0"
        ["locked"]=>
        string(1) "0"
      }
      [1]=>
      &string(6) "thread"
      [2]=>
      &string(13) "views=views+1"
    }
  }
  [2]=>
  array(7) {
    ["file"]=>
    string(63) "/boinc/projects/docking/html_v2/user/community/forum/thread.php"
    ["line"]=>
    int(184)
    ["function"]=>
    string(6) "update"
    ["class"]=>
    string(11) "BoincThread"
    ["object"]=>
    object(BoincThread)#3 (16) {
      ["id"]=>
      string(3) "454"
      ["forum"]=>
      string(1) "2"
      ["owner"]=>
      string(5) "13433"
      ["status"]=>
      string(1) "0"
      ["title"]=>
      string(45) "Are There Any Optimized Apps For Docking@Home"
      ["timestamp"]=>
      string(10) "1255871528"
      ["views"]=>
      string(3) "350"
      ["replies"]=>
      string(1) "6"
      ["activity"]=>
      string(22) "5.7235944364769004e-83"
      ["sufferers"]=>
      string(1) "0"
      ["score"]=>
      string(1) "0"
      ["votes"]=>
      string(1) "0"
      ["create_time"]=>
      string(10) "1249239856"
      ["hidden"]=>
      string(1) "0"
      ["sticky"]=>
      string(1) "0"
      ["locked"]=>
      string(1) "0"
    }
    ["type"]=>
    string(2) "->"
    ["args"]=>
    array(1) {
      [0]=>
      &string(13) "views=views+1"
    }
  }
}
query: update docking.thread set views=views+1 where id=454