jump to navigation

Crossover July 30, 2008

Posted by tommyr in Genetic Algorithms.
2 comments

I’ve been working on implementing crossover of two molecules. I’ve gotten a rudimentary crossover implementation (it uses Fragmenter2 to generate all the possible fragments of each of the parent molecules, picks two random, and joins them at two random atoms) that will probably need to be improved, but it’s good for now.

I’m getting a bunch of errors in my code when I try to run several generations at once, so the next thing for me to do is resolve these NullPointerExceptions. I think it might be caused by creating invalid molecule objects with some of the new methods in the AtomUtils class, or some of the changes I made to Mutations. I hope to have this fixed soon.

Administrative Web Interface July 23, 2008

Posted by genetical in boinc.
Tags: , , ,
add a comment

I spoke with Bobby today and he told me you can access the Administrative Web Interface by going to “sylow.southwestern.edu/suboinc_ops” in your browser.  Until further notice, this must be done from on-campus because John from ITS Networking has not forwarded any ports on Sylow yet to the outside world.  To my (limited) knowledge, this interface is the only utility that can be used to properly cancel workunits.  As of this afternoon, I cancelled all of the workunits that were causing Windows machines to flash a command prompt, so the server is now back up and running.

-Chris

GCC Problem July 21, 2008

Posted by genetical in Techincal Support.
Tags: , , , ,
add a comment

It seems that GCC is broken when it comes to trying to compile source code that contains external references to object files/DLL’s/etc. When compiling, it says, “gcc: installation problem, cannot exec ‘cc1plus’” No such file or directory“. Now I have tried reinstalling GCC and it still seems to be broken. Maybe someone else has a clue as to how we can fix this? To see the code that generates this error go on Sylow at “/home/steve/chris/redo/” and run the command “sudo gcc -c exRef.C“. The code will compile as C++ source if you modify the code by uncommenting the “extern “C” ” stuff and run the command “sudo g++ -c exRef.C” but we need to be able to do this in C in order to use the hello2.C program we have.

-Chris

Success! July 14, 2008

Posted by genetical in boinc.
2 comments

That site I posted below is a blessing! It has a hello.c program that is the most simple BOINC app possible and it built successfully on my PC! I think I may be able to modify this to do a system call for running external executables.

-Chris

C++ external calls to Fortran executables July 14, 2008

Posted by genetical in boinc.
Tags: , , , ,
add a comment

On Sylow at /home/summer/wrappertest, there are two folders: simple and boinc-broken.  The former contains source code for both PC and Linux,  of which the PC source code is stable and the Linux source is stable to the extent of making external calls, but its respective Fortran-executable is not currently working.  In the latter is PC source code that implements the BOINC API but is not properly linked to the BOINC API yet.  I am using the following site now as a guide and hope to have the PC code linked with the BOINC API in the coming days:

http://www.spy-hill.com/~myers/help/boinc/boinc-on-windows.html

-Chris

Fortran PC Binary ready to go July 1, 2008

Posted by genetical in boinc.
Tags: , ,
add a comment

I’ve compiled/built Dr. Alexander’s Fortran program for PC (32-bit). It can be found on Sylow in my home directory, /home/chris/PC\ Binaries/SteveAdd/x86/ . The source code is located in /home/chris/src . The executable takes two paramaters for the input and output files respectively. Perhaps this is a good candidate for Bob’s Haskell script?

-Chris

Forum June 29, 2008

Posted by genetical in General Information.
Tags: , ,
add a comment

I’ll append any other actual helpful forums that I find as I come across them. For now, you can find the official boinc forum here:

http://boinc.berkeley.edu/dev/index.php

There is also a FAQ with a list of BOINC terminology and explanation of common errors (along with other things) here:

http://boincfaq.mundayweb.com/index.php

Genetic Algorithm June 29, 2008

Posted by tommyr in Genetic Algorithms.
add a comment

I’ve made a lot of progress on the genetic algorithm library. I’ve gotten the Chemistry Development Kit (CDK) Java library successfully integrated with my code, which is the biggest thing. I’ve made some classes for representing a population of IAtomContainers and for performing mutations on them. I also created a nice project directory with an ant build file and everything! So it’s very easy to compile the whole project (just type ‘ant’ in the genetic_algorithm/ directory). The ant build file includes easy javadoc generation, which you can view here:

http://buzz.southwestern.edu/~rogersj/genetic_algorithm/doc/

I’ve only documented about a fourth of it, but eventually it will be more comprehensive. You can find the current code in /home/tommy/genetic_algorithm on sylow, or download it from

http://buzz.southwestern.edu/~rogersj/ga-backup.tar.gz

Does Sylow have a virus? June 28, 2008

Posted by genetical in Techincal Support.
2 comments

I have been getting odd messages from time to time when I issue a command with sudo, such as “Permission denied due to bad karma, you must use Windows don’t you?” and “Emailing password to su-students@southwestern.edu.” It’s got me worried now…

-Chris

Generating work on BOINC June 27, 2008

Posted by genetical in boinc.
Tags: , , , , ,
2 comments

To generate workunits, there are a few commands you must run from the project root directory (in this case: /var/lib/boinc/suboinc/). First you must move your input file to its proper location as determined by BOINC’s hashing protocol. Execute this command as super user or the boinc user (boinc user preferred – Tommy, is this all set up and ready to go?):

# cp [INFILE LOCATION AND NAME] `bin/dir_hier_path [INFILE NAME]`

For example,

# cp apps/uppercase/in-uc_LIN `bin dir_hier_path in-uc_LIN`

This moves your input file to its proper location. Now you must create your workunit:

# bin/create_work -appname [APP NAME FROM "apps" FOLDER] -wu_name [CHOOSE YOUR WORKUNIT NAME] -wu_template templates/wu_generic -result_template templates/result_generic [INFILE NAME]

For example,

# bin/create_work -appname uppercase -wu_name uc_nodelete -wu_template templates/wu_generic -result_template template/result_generic in-uc_LIN

Note, the “_nodelete” flag makes sure that file_deleter and db_purge do not remove this file, which is important if you want to use the make_work function to generate mass amounts of the same workunit for testing (done from “bin“):

# ./make_work -wu_name uc_nodelete -cushion 100 -max_wus 1000

The cushion defines how many workunits are kept in the queue at any time until the max number of workunits, 1000, is reached.

You can add this as a daemon that runs with BOINC by editing the “config.xml” file with something like:

<daemon>

<cmd>

make_work -d 3 -wu_name uc_nodelete -cushion 100 -max_wus 99999

</cmd>

</daemon>

The “-d 3” option sets it to run as a daemon and at the debug level (3). This should be listed amongst the rest of the daemons in the config file.

More “useful” reading can be found here.

-Chris