Development
Accessing bugle
Bugle is only accessible through ssh onto the frontend machine bugle.mit.edu. Files can be transferred to/from Bugle with the scp program.
Compiling
Fortran, C and C++ compilers are available on Bugle. The following table summarizes the available compiler tools.
Compiler |
Command |
Type |
Location |
C |
blrts_xlc |
IBM Serial/Cross Compiler |
/opt/ibmcmp_new/vac/bg/8.0/bin/blrts_xlc |
C++ |
blrts_xlC |
IBM Serial/Cross Compiler |
/opt/ibmcmp_new/vacpp/bg/8.0/bin/blrts_xlC |
Fortran F77 |
blrts_xlf |
IBM Serial/Cross Compiler |
/opt/ibmcmp_new/xlf/bg/10.1/bin/blrts_xlf |
Fortran F90 |
blrts_xlf90 |
IBM Serial/Cross Compiler |
/opt/ibmcmp_new/xlf/bg/10.1/bin/blrts_xlf90 |
Fortran F95 |
blrts_xlf95 |
IBM Serial/Cross Compiler |
/opt/ibmcmp_new/xlf/bg/10.1/bin/blrts_xlf95 |
C |
bgl-gcc |
GNU Serial/Cross Compiler |
/opt/MITBGL/bin/bgl-gcc |
C++ |
bgl-c++ |
GNU Serial/Cross Compiler |
/opt/MITBGL/bin/bgl-c++ |
F77 |
bgl-g77 |
GNU Serial/Cross Compiler |
/opt/MITBGL/bin/bgl-g77 |
MPI Wrappers |
mpicc, mpicxx, mpif77 |
Wrappers for GNU Serial/Cross Compilers |
/bgl/BlueLight/ppcfloor/bglsys/bin/ |
Useful Compiler Flags
-qarch=440 |
uses only single FPU per processor (minimum option) |
-qarch=440d |
allows both FPUs per processor (alternate option) |
-qtune=440 |
use after –qarch, to avoid warnings |
-O3 |
gives minimal optimization with no SIMDization |
-qhot=simd |
adds SIMDization (seems to be the same as –O5) |
-O4 |
adds compile-time interprocedural analysis |
-O5 |
adds link-time interprocedural analysis (but still has problems) |
-qdebug |
gives SIMDization info |
Submitting/Cancelling Jobs
cqsub |
$ cqsub -n 32 -t 30 program_name |
Submits job "program_name" onto 32 nodes for a 30 minute run in CO mode |
$ cqsub -n 32 -c 64 -m vn -t 30 program_name |
Submits job "program_name" onto 64 processors for a 30 minute run in VN mode |
|
cqdel |
cqdel JobID |
Removes submitted job with id "JobID" |
Monitoring Blocks/Jobs
bgl-listblocks |
bgl-listblocks --long |
Lists detailed blocks status |
|
bgl-listjobs |
bgl-listjobs --long |
Lists detailed jobs and status |
|
cqstat |
cqstat -f |
Queries the queue manager for jobs |
Libraries
ARPACK/PARPACK |
ARPACK is a collection of Fortran77 subroutines designed to solve large scale eigenvalue problems. PARPACK is the MPI parallel version. The packages are in /opt/ARPACK |
MASS/MASSV |
Version Control
Subversion is available on the Bugle frontend. Users can create and use local repositories. It is important to include /opt/subversion/bin/ in your PATH. Once that is done, access to the repository can be done locally using or remotely using <svn+ssh://bugle.mit.edu/> .
Here are some basic commands
svn ls http://localhost/svn |
lists files in repository |
svn co http://localhost/svn project |
checks out project from repository |
svn ci http://localhost/svn project |
checks in project into repository |
svn status |
gets the latest status info on checked out files |
svn update |
updates checked out files |
For a more authoritative reference, please see the subversion book
Accessing external sites from bugle
Since only secure shell (ssh) connections are allowed in and out of the bugle front end, connections to other ports (e.g. port 80) must be tunneled through a secure connection. This can be done in the following manner:
-
Suppose the URL you want to download has a form
http://<host>:<port>/<path>
If instead, it has a form http://<host>/<path> set <port>=80 in the following.
-
Select a number <p> such that, 1024 < p < 65535.
-
Connect to bugle.mit.edu with a tunnel as follows:
$ ssh -R <p>:<host>:<port> bugle.mit.edu
-
If the command in step 3 issues a message saying:
"Warning: remote port forwarding failed for listen port <p>"
select a new value for <p> and repeat step 3. Otherwise continue
-
On bugle, start the download with curl:
$ curl -o<name> --header 'Host: <host>' http:// localhost:<p>/<path>
where <name> is the local name to save data into.
-
You can download other files from the same <host> by going to step 5.
-
If the URL starts with https, the default value for the <port> is 443.
In this case you will also need to use https:// in curl.
-
The above does not apply to ftp, you can use the ftp client from the FEN without the tunnel.
-
When you are finished with download, exit from the FEN to break the tunnel.
Using the caret (^) symbol in directories
You cannot use the caret (^) symbol in directory paths that are used
to submit jobs to Bugle since mpirun will not parse it correctly
|
|