phymbie



Home

Research

Publications

People

HOWTOs

Jobs

MASyV

phymbie HOWTOs


Listed here are info, scripts, and files for a few of the resources commonly used by members of the phymbie group:





LaTeX

In phymbie, all research write-ups (papers, posters, slide presentations) are done in LaTeX. Here are a few useful resources. First, you should buy yourself the wonderful Guide to LaTeX by Kopka and Daly. When you don't have it handy, you can consult the online Wikibook on LaTeX which is a very complete online LaTeX resource. If you can't remember the LaTeX code for a particular symbol, then the most awesome tool is detexify which allows you to draw the symbol (with your mouse or stylus) and it will give you the LaTeX command for it. If you're getting started and you'd like info that is more substantial than what I have here, you should check out Shawn Lankton's LaTeX page.

Compiling LaTeX documents

When compiling your documents, if you are sick of having to type pdflatex myfile.tex; bibtex myfile; pdflatex myfile.tex, etc. every time you compile your LaTeX document, you will find the following very useful. It is a rule file, called LaTeX.Rules allowing you to define a Makefile for compiling LaTeX documents, and replacing the repetitive typing of the above commands with just make. In the directory where myfile.tex is located, you create a Makefile containing the following lines:

DOCUMENT := myfile
LATEX := pdflatex     # or latex if you prefer
include /path/to/LaTeX.Rules

and you can now type make and it will take care of the rest. You can read more about it on the developer/maintainer's page HERE.

Ryerson thesis document class

To make things simpler for undergraduate and graduate students alike, I developed a Ryerson Thesis Document Class (RUthesis.cls) which is based on a class developed by several generation of UofAlberta students. You can look at a sample undergraduate or graduate thesis, or you can download the files that were used to produce these examples (ugrad-thesis.tar.bz2 and grad-thesis.tar.bz2), or you can browse all the files here. I have also recently learned someone else at Ryerson has developed a thesis class: check it out here.

Slide presentations

For slide presentations, there are several options. My personal favorite is pdfscreen, but the most popular one now is probably beamer. Just Google those up and you'll find examples and tutorials for both.

Posters

For posters, I have looked around and there are a few options, but none was quite what I needed so I made my own stylesheet: pdfposter.sty. It is actualy a modified version of something I found a long time ago on someone else's site. It is based on the LaTeX article class, it is flexible in that you can adjust the aspect ratio and the number of columns of textboxes, and it works with pdflatex. Here is an example poster:


You can download the actual PDF poster, pdfposter.pdf, or get the full source needed to reproduce the poster, pdfposter.tar.bz2, or even browse the directory containing all the necessary files here. The source code actually produces a PDF that is 12" wide by 16" high (as specified using \postersize{12in}{16in}). What I typically need is a poster that is 3 feet wide by 4 feet high (36" x 48") and this is done by rescaling the poster at printing time through the "Page setup..." or "Print setup..." menu when printing from your favorite PDF viewer/editor.





C programming help

You should consider buying the book C: A Reference Manual, which is a wonderful desk reference. For an online reference book, check out The C Book.



Data fitting with Octave

Coming soon...



Using SHARCNET

Getting started

This info is for the specific use of SHARCNET by phymbie members. Before you do anything, before you even request a SHARCNET account, you need to read:
  1. The online tutorial Getting Started with SHARCNET
  2. The entire FAQ from start to finish (no skipping! I'm not kidding)
If you have any questions, please come see me so we can discuss it. Once you've read and understood everything, you are ready to apply for an account. Just follow the steps online. You'll need my username which is my usual one (ask me if you don't know), and I'll need to approve your application before you can get an account. DO NOT SHARE your account with ANYONE!

Setting up your directories

For security reasons, it is best to use ssh keys to log on. I can explain to you how ssh keys work, or you can just Google it. Next, you need to get MASyV into your SHARCNET /home directory. Here is what I propose:
mkdir sharcnet-home
sshfs goblin.sharcnet.ca: sharcnet-home/
cd sharcnet-home
Now make sure that your .profile or .bash_profile contains the following lines so that your compilation/running can find your libraries and executables
export LD_LIBRARY_PATH="${HOME}/local/lib:${LD_LIBRARY_PATH}"
export PKG_CONFIG_PATH="${HOME}/local/lib/pkgconfig:/hptc_cluster/sharcnet/gsl/1.10/lib/pkgconfig:${PKG_CONFIG_PATH}"
Now let's continues the install
mkdir local
svn co https://masyv.svn.sourceforge.net/svnroot/masyv/trunk masyv
cd masyv
./run_autotools.sh
fusermount -u sharcnet-home
rmdir sharcnet-home
You now have a ready-to-be-built masyv package in your SHARCNET /home directory. You are now ready to compile the code against the CPUs in your particular prefered cluster. In this example, we'll use goblin
ssh goblin.sharcnet.ca
cd masyv
./configure --prefix=${HOME}/local
make
make install
Your desired executables, logmasyv and most clients, are now in your $HOME/local/bin. You are ready to start running jobs. The advantage of this method is that when MASyV or any clients are updated, you just type svn update in $HOME/masyv and redo the make and make install and you've got yourself an up-to-date code!

Submitting jobs

Given the type of codes we run in phymbie, all jobs should be submitted to the goblin cluster (or the whale cluster if there is a problem with goblin), unless you are running your simulation on a very large grid in which case, you'll need more RAM and should instead use bull. If/when more appropriate/better clusters come along, I will let you know. But for now, ONLY USE goblin, whale or bull.

Once logged into the cluster, do a make and make install so that everything gets compiled again. Then, move the executables that you need (e.g., logmasyv, ma_virions) to your /work directory. The /work directory is local to a given cluster (e.g., goblin, whale, bull) and will make running the code faster.

To run jobs, you would type something like:

sqsub -q serial -r 80m -e sqsub-jobname -o sqsub-jobname ./run.ma_virions
where -q serial submits your job to the serial-computing queue, -r 80m means that you estimate your job will take 80 min to run (estimated running time is required), and the -e and -o option specify the name of the file to which stderr and stdout from the qsub and/or your programme will be redirected.

To use our dedicated queue on goblin ONLY, use the following submit command:

sqsub -q cbeau -r 80m -e sqsub-jobname -o sqsub-jobname ./run.ma_virions




Last modified: September 11, 2011, 12:27.
Webmaster: